GAL
Generalized Automation Language
AutoMan © is powered by GAL, which is a very high level programming language specifically designed to easily enable the most complex automation scenario. Whether for a single system, or in a multisystem environment, GAL provides a quick and simple way to define the actions to be taken by schedule or event. GAL has a simple structure, like BASIC, but provides powerful facilities, such as query on job, tasks and devices, on this or another system. It enables the dispatch of jobs and tasks, and provides for cross systems notification.
GAL can be quickly learned and applied by systems and operations staff, and for very complex automation scenarios, such as unattended operations, our network of independent GAL developers can provide rapid and reliable service.
GAL statements may be entered at the console to induce activity in the system. It may be used in the schedule to make intelligent decisions about regular or scheduled activity. GAL is used at the interception of system messages to provide intelligent responses to events. GAL may be used by AMRF (Action Message Retention Facility) to make intelligent decisions about events that have occurred in the past. GAL can be used to intercept anything entered at a console to allow, or disallow systems commands, and to enable you to define new systems commands.
GAL has powerful text capture and replacement features to enable the construction of message and alerts.
Examples of GAL V2.9:
MSG=XID999S
VAR &MSGTXT LEN 100
LET &MSGTXT=$$MSGTXT
EMAIL SUBJECT '&MSGTXT'
'This is a problem that needs urgent attention'
This example will capture the text of console message XID999S into a variable and use it as the subject of an Email message, which is sent to the default recipient.
COMMAND=VARY
PARSE UPPER CMD INTO &AA &BB &CC
IF (&BB EQ '560' OR &BB EQ '0560') AND &CC EQ 'OFFLINE'
DO
WTO 'DEVICE 560 MAY NOT BE VARIED OFFLINE'
END ELSE DO
SET COMMAND PASS
END
This is one example of how a console command can be disallowed. There are several different ways of acheiving the same result.
Any text may be specified on a COMMAND statement, to turn it into a valid systems command.
COMMAND=LOADALL
LOADCL ($$READ3,@@READY,@@READ2,@ICHK,NOTF,RECV)
LOADCL (RMMSX,SHUTDOWN,SUMS,TESTE,TESTW,TEST0)
WTO 'LOADALL performed'
This example makes the text "LOADALL" into a valid system command.
AT 09:00 EVERY WEDNESDAY
SUB(*(JOB0001))
Every Wednesday at 9AM submit this job from the default jobs library.
GAL can contain subroutines. GAL can be divided into named sections to enable and disable commands and responses according to system activity and current requirments.
GAL can be as simple, or as complex as your automation scenario requires.
For more ideas about using GAL to automate your system, see the "Tips and Techniques" manual that accompanies the software.
Our support team is always ready to provide tips and suggestions on how to use GAL to solve an automation problem.