Running Workload Automation Programming Language within an online TSO session

Workload Automation Programming Language is primarily designed for use in batch, but you can use it from within an online TSO session, either inside or outside of the HCL Workload Automation for Z dialogs.

To use Workload Automation Programming Language from within a TSO session, allocate the following files.
Note: Ensure that the appropriate level of the HCL Workload Automation for Z load library is in the execution path, either through the link list or a STEPLIB statement.
EQQMLIB
The HCL Workload Automation for Z message library. If Workload Automation Programming Language is being run from within HCL Workload Automation for Z dialogs, this file is already allocated.
EQQMLOG
The HCL Workload Automation for Z message log.
EQQOPTS
Optional file to provide environment default options. Allocate this file only if you want to set environment defaults before any commands that the process will run. For online performance reasons, to prevent additional dynamic allocations, it is more efficient to include any relevant statements in the main command stream.
To allocate the files, you can use one of the following ways:
  • Within the TSO logon procedure.
  • Within a startup CLIST or REXX, called as part of the TSO logon process.
  • Within an application CLIST or REXX that starts the set of dialogs in which Workload Automation Programming Language is being called, using ALTLIB and LIBDEF for REXX and ISPF libraries. This process can also free the files as the set of dialogs is exited.
  • In each individual REXX process that calls Workload Automation Programming Language, using ALTLIB and LIBDEF for REXX and ISPF libraries. This process can also free the files as the set of dialogs is exited.
Note: If you use mechanisms that free the files on exit, ensure that you do not design a process that would cause problems for other applications running in ISPF, in particular where split screen is needed.
Workload Automation Programming Language can then be called as an external EXEC from within calling REXX, with the following syntax:
CALL EQQYXTOP (<subsys> <options>)
waplRC = RESULT

When run within TSO, the INPUT stream is read from a file called INPUT. Workload Automation Programming Language does not read from a file called SYSIN to prevent the risk of stalling if SYSIN was left allocated to the terminal, which is the default position of SYSIN in the foreground. Alternatively, input can be placed on the REXX stack before calling Workload Automation Programming Language by passing an option of INPUT(-OFF-); commands are read directly from the stack without having to allocate an input file to pass the commands.

The EQQJOBS process creates some examples in the EQQJOBS output file that you can use, and optionally customize, as a basis to run Workload Automation Programming Language online:
EQQWTSO1
Shows how to define a Workload Automation Programming Language environment, run a complete Workload Automation Programming Language process, and reset the environment in a single member.
EQQWTSO2
Shows how to run a complete Workload Automation Programming Language process in a single member, having the environment already set up.
EQQWTSO3
Shows a generic Workload Automation Programming Language execution member that defines a Workload Automation Programming Language environment, calls Workload Automation Programming Language with commands queued before this member is called, and then resets the environment without processing any output.
EQQWTSO4
Shows a generic Workload Automation Programming Language execution member that assumes that a Workload Automation Programming Language environment has already been defined, calls Workload Automation Programming Language with commands queued before this member is called, and then exits, leaving the calling member to process any output.
EQQWTSX3
Is an example of a process queueing commands to the stack before calling EQQWTSO3, which manages the Workload Automation Programming Language environment setup, and then processes the output when EQQWTSO3 completes.
EQQWTSX4
Is an example of a process queueing commands to the stack before calling EQQWTSO4, which assumes that the Workload Automation Programming Language environment is already set up, and then processes the output when EQQWTSO4 completes.