- Generalized Automation Language
Generalized Automation Language (GAL) is a very high level
programming language forMVS based systems such asOS/390 andz/OS . It contains features and constructs that enable the programmer to efficiently intercept systems events and schedule responses. Somewhat akin to BASIC, GAL enables systems programmers and operators to define logic to apply to systems messages as they flow through a multi-system (sysplex ) environment. GAL also enables the programmer to define events that have occurred in the past, by intercepting Action Message Retention Facility (AMRF) messages. The language has built-in constructs to obtain the age of a retained message and make decisions about its fate depending on age. GAL can be used to write new systems commands, by intercepting and interpreting anything that is entered into an Operator Console. GAL uses keywords such as names of days of the week, names of month etc. to automatically schedule events in the system. Like REXX, GAL is both an interpretive language and a compiled language. GAL statements can be entered to the interpreter on the fly, or entire automation scenarios can be predefined, such as the logic to define unattended operations of a system, and can be compiled offline, using the compiler program GALCOMP.GAL implements comparison by IF statements, setting of variables, by the LET statement and subroutine calls. GAL allows the programmer to break into REXX, and Assembler where it is needed. The very high level nature of GAL is exemplified by the EMAIL statement, which enables the programmer to send an email alert when an event is detected that requires human intervention. Assuming that this message event requires an alert to be sent to a default recipient:
MSG=XID999S VAR &MSGTXT LEN 100 LET &MSGTXT = $$MSGTXT EMAIL SUBJECT '&MSGTXT' 'This is a problem that needs urgent attention'
GAL uses text capture and replacement facilities. In this simple example, the text of the system message is captured into a variable and the text in that variable is then used as the subject of the email. The message in the body of the email is the text in quotes following the subject.
GAL allows for cross systems(
IBM XCF ) queries to be issued by simple IF statements, without regard for the underlying internal processes required to perform the cross systems communications. It is simply a matter of identifying one or more systems that are to be tested. For instance to check if a job is currently running in a partner system:IF SYS=sysn JOB(jobname) ACTIVE DO . . . END
If this were to be written in a lower level language it would require many thousands of lines of code.
Wikimedia Foundation. 2010.