Command language
The WAPL command language is a combination of Workload Automation Programming Language core commands, Data Access commands (native PIF requests), Current Plan Operation commands, Function Based commands (extended PIF requests), HCL Workload Automation for Z TSO commands, and Batch Loader. The syntax uses the same conventions for all commands, which is easy to learn and to use.
Commands can be passed to Workload Automation Programming Language in many ways. Workload Automation Programming Language reads commands from the following input streams, in the following order:
- EQQOPTS. You can use the optional EQQOPTS DD statement to set the defaults for
your environment when Workload Automation Programming Language starts.
If you define an EQQOPTS DD statement, it is read and run before any other statements. Although
EQQOPTS is intended to run
OPTIONS
statements, you can use it to run any command; therefore you can decide to set theOPTIONS
and variables specific to the LPAR where the job is running. - The ARG= symbolic parameter in the JCL. This only passes keywords for an
OPTIONS
statement. There are some immediateOPTIONS
that can be specified only as an argument, these take effect as Workload Automation Programming Language starts and are not valid inOPTIONS
statements elsewhere. This allows Site and Subsystems to be overridden at Workload Automation Programming Language startup in the program call or JCL. - EQQFILE. You can use the optional EQQFILE DD statement to set the default file
specifications for all your output files. Use of this DD statement is deprecated, use of the
LOADDEF
statement in the command stream is recommended instead. The SEQQWAPL library contains an assortment of predefined members that can be used to load groups ofOUTPUT
statements. The EQQFLALL member loadsOUTPUT
statements for every segment; theLOADDEF
equivalent of this isLOADDEF *
. The name of the DD statement can be overridden byOPTIONS FILESPEC(<dd>)
. - External data queue. If data is detected on the external data queue (REXX
stack) it is read as command input. If you use the
INPUT
keyword to pass a control block address in a previous input stream, the contents of the control block are added to the external data queue at this point, before it starts reading. It processes only what is in the external data queue at the time it starts reading; any lines added during the processing of the commands are not read at this stage. - SYSIN. Use this optional DD statement to specify the commands for the session you are running.
By default, the DD name for this input source is called SYSIN in batch, and INPUT when processed in
the foreground, but you can set an alternative name with the
OPTIONS INPUT(<ddname>)
statement specified in any of the previous input sources. - Post Processing. If
OPTIONS POSTPROC(YES)
is set, any further content of the external data queue will be processed at this point. The queue will be processed until it is empty, so any additional lines created whilst processing the queue will also be read.
Although there are many different streams through which you can specify command input, these are intended to let you separate your statements into standardized and reusable blocks. You can specify all your command input in one simple single stream, making it simple to see exactly what you are asking Workload Automation Programming Language to do in one place.
- Each input stream is parsed in its entirety before any statement
within it is run, therefore any
OPTIONS
statement that has an impact on syntax does not take effect until the start of the next input stream. - You must specify any syntax options in the
OPTIONS
orARG
streams. - You can set any subsystem-specific options in the
OPTIONS
stream by using the ZSUBSYS variable and IF statements. - If EQQYXTOP is being executed in foreground mode (rather than batch), a command source is not read if it is referring to the SYSIN DD statement, because this could lead to the program stalling if SYSIN is left allocated to the terminal.