Start of changeIBM Workload Scheduler for z/OS, Version 9.3 SPE

Running Workload Automation Programming Language in batch

With APAR PI79321, the JCL EQQYXJPX procedure is provided to run the complete EXEC version of Workload Automation Programming Language in batch, by applying the new method of loading EQQREF, EQQLANG, and EQQFILE internally, and making EQQOPTS optional. Use EQQYXJPX instead of the EQQYXJCL procedure for all new Workload Automation Programming Language jobs; this will reduce startup I/O processing.

The simplest use of EQQYXJPX is a call to the procedure, with a SYSIN DD statement to enter the commands. The following example shows how to add an application to the plan:
//RUNWAPL  EXEC EQQYXJPX,
//         SUBSYS=WSMC   
//SYSIN    DD *          
ADD ADID(ADHOC)    
You can use the following symbolic parameters with EQQYXJPX:
ARGS
Additional OPTIONS to be passed to Workload Automation Programming Language. They are run after any statements in EQQOPTS, but before any statements within the REXX stack, passed control block, or SYSIN.
CMD
REXX EXEC entry point to use (default is EQQYXTOP).

To run your own REXX EXEC, call EQQYXTOP and pass the name of your EXEC using the CMD symbolic. Ensure that your EXEC is included in the SYSPROC concatenation.

REG
REGION to allocate (default is 4M).
MOD

The Workload Automation Programming Language modification level. Modification level indicates a release of Workload Automation Programming Language between official versions. Specify the modification level in the format +nnn, for example MOD=’+001’.

The default is the modification level of Workload Automation Programming Language installed.
SUBSYS
The controller with which to communicate.
VER
The Workload Automation Programming Language version. You can specify the version in various formats, to allow the same symbolic to be used in data set names where appropriate (for example VER=930, VER=V930, VER=V9R3M0). The default is the version of Workload Automation Programming Language installed.

Use the OUTPUT and LOADDEF statements to specify additional DD statements to be used. By default, ILSON data is written to OUTDATA and batch loader data is written to OUTBL, but keywords in LOADDEF overrides original keyword values in the pre-defined OUTPUT statements.

The following example shows a Workload Automation Programming Language job to send ILSON data to MYDATA DD statement. Because no LOADER keyword is specified, Batch Loader data is sent to the OUTBL DD statement, according to the default behavior.
//RUNWAPL  EXEC EQQYXJPX,              
//         SUBSYS=WSMC                 
//MYDATA   DD SYSOUT=*,LRECL=1024      
//OUTBL    DD SYSOUT=*                 
//SYSIN    DD *                        
OPTIONS STRIP(Y) SHOWDFLT(N) SELECT(Y) 
LOADDEF AD* DATA(MYDATA)               
LIST ADCOM ADID(ADHOC) VALID(=)

Set the ARGS symbolic parameters to specify the OPTIONS keywords rather than including them in SYSIN, as shown in the following example. In this way, the OPTIONS are influenced directly in JCL, rather than within SYSIN data sets.

//RUNWAPL  EXEC EQQYXJPX,                       
//         ARGS='STRIP(Y) SHOWDFLT(N) SELECT(Y)',
//         SUBSYS=WSMC                          
//MYDATA   DD SYSOUT=*,LRECL=1024                
//OUTBL    DD SYSOUT=*                           
//SYSIN    DD *                                 
LOADDEF AD* DATA(MYDATA)                         
LIST ADCOM ADID(ADHOC) VALID(=)

Ordinarily, Workload Automation Programming Language batch jobs check if they are being controlled within the current plan by searching for a started instance of the jobname under which they are running, to find an operation with the same JES number. This works if the job is submitted outside of the controller or tracker but tracked in the current plan, or if the job is submitted from the controller or tracker.

For jobs that are submitted by the controller or tracker, you can be more efficient in identifying the controlling occurrence by passing the details directly from supplied JCL tailoring variables, using the EQQCPOP DD statement, as shown in the following example:
//RUNWAPL  EXEC EQQYXJPX,
//         SUBSYS=WSMC   
//SYSIN    DD *          
ADD ADID(ADHOC)   
/*
//*%OPC SCAN 
//EQQCPOP  DD *                  
&OADID. &OYMD1.&OHHMM. &OOPNO 


End of change