Retrieving JCL

The WA retrieves JCL for the job that is ready to be started and sends it to a submit subtask via the data router (DX) subtask. The WA extracts the JCL for the job from:
  • The JS data set, if the JCL to be used is saved there.
  • The data set indicated by the EQQUX002 job-library-read exit, if the exit is requested by the EXITS initialization statement.
  • The HCL Workload Automation for Z job library (EQQJBLIB).
  • The EQQUX001 job-submit exit, if requested.
  • A user-defined JCL imbed exit, or EQQJBLIB, if the FETCH directive is included in the //*%OPC JCL statement.

Operations handled by the external router (EX) subtask are not required to have JCL fetched by the controller, instead the JCL may be fetched by the operation-initiation exit, EQQUX009, or located at the receiving user-defined destination. If JCL can be located by the controller it will be processed and passed to the EX task, and subsequently to EQQUX009, as normal.

The values for any JCL variables that are present in the JCL are retrieved from JCL variable tables or from a user-defined JCL-variable-substitution exit. When the job is found, the JCL is retrieved and, if necessary, a new JS record is built.

When a JCL directive statement is actioned, it is changed by HCL Workload Automation for Z to a JCL comment statement. JCL directive statements are defined in the job input as z/OS® JCL statements. The statement is changed when the operation is submitted to a valid comment statement for the target operating system. The image of the job input in the JCL repository is not altered.

Subtask initialization consists of building the WA environment and opening all required files.

Subtask mainline logic consists of providing service for the following events:
  • Timer expiration. Trying to find an operation to be started.
  • Post the work ECB. Trying to find an operation to be started.
  • Subtask stop request.

Subtask termination consists of closing all open files.