How to resolve CA WA ESP variables when running CA JCLCheck EJCK


Article ID: 125728


Updated On:


CA JCLCheck Workload Automation


The CA JCLCheck RESOLVE option allows for external variables that are imbedded in the JCL for a scheduling product to be resolved before the JCL is validated.   The following scheduling products are supported: 

CA Workload Automation SE (CA 7 Edition)
CA Workload Automation ESP 
IBM Tivoli Workload Scheduler (TWS)
BMC Control-M

The CA JCLCheck RESOLVE option may be used from the following:
1. From an ISPF Edit session when EJCK is executed.
2. From the JCLCheck ISPF panel interface (JCKSPF).
3. From a JCLCheck batch job. 

This article explains how to use the CA JCLCheck RESOLVE option when invoking EJCK from within an ISPF Edit session on an ESP job.

Without the CA JCLCheck RESOLVE option, external variables won't be resolved, and will result in errors when the JCL is validated by JCLCheck.


CA JCLCheck release 12.0
CA WA ESP release 11.4 and release 12.0


 A pre-defined sequential file or PDS member containing ESP parameters.  In this article, the sample data set name is 'PUBLIC.ESPWA.RESOLVE' and contains the following parameters:  

SUBSYS=espm    <== The active ESP subsystem name
SYMBOL=%        <== The ESP symbol-introducer character
EVENT=cyber.payroll   <== The name of the ESP event which has jobs (JCL) to be validated 

Reference:  Specify CA WA ESP Edition Parameters


  1. ISPF Edit the ESP job (JCL) containing ESP variables.  
  2. Enter the command %EJCK PANEL in the ISPF Edit session to display the JCLCheck Options panel.
  3. Locate the RESOLVE field in the Options panel (panelid JCK21), and specify ESP.
  4. Specify the data set name that contains the ESP parameters in the DSN field.  If it's a PDS, specify a member name in the MEM field.
  5. (To edit the ESP parameters data set, enter 'E' before the DSN field.  Enter 'B' to browse the data set.) 
  6. Hit enter to execute EJCK.


Sample JCL containing ESP symbolic variables, and user-defined variables: 

//* THE DATE IS  %ESPADATE                   
//* THE TIME IS  %ESPATIME                     
//STEP01 EXEC PGM=IEFBR14                      
//       DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120), 
//       SPACE=(TRK,1)         
Sample ESP application:
appl MYAPP     
TIME='%ESPAHH%ESPAMN%ESPASS'   /* user-defined variable */  
GENTIME BC %ESPATIME LESS 15 MINUTES                        
echo '%BCHH%BCMN%BCSS'   
JOB TESTJCK                                                   
RUN ANY                                                     
Sample EJCK options panel (panelid JCK21):

 JCK21 --------------- CA JCLCheck 12.0 OPTIONS --------------------------     
 COMMAND ===>                                                                  
  DATE: 2019/02/01              USER:                                     TIME: 11:38  
 STANDARD - Name of STANDARD for compliance checking              =>           
              =>           =>           =>           =>           =>           
              =>           =>                                                  
 STDREXX  - Compliance checking REXX: Library DD =>          EXEC =>           
 SYNTAX   - Do syntax checking of JCL                                                  => Y         
 RUNTIME  - Do runtime checking of JCL (all runtime checks)               => Y         
 REMOTE   - Do remote validation of JCL                                               => N         
       =>     =>                                                               
 RESOLVE  - Resolve external variables by calling product. . . .             => ESP       
    => E   DSN=> PUBLIC.ESPWA.RESOLVE                                 MEM=>           
 EDCHKLB  - Generate ISPF labels for lines with errors                          => N         
 EDCHKSL  - Display summary of errors                                                  => Y         
 SECURITY - Do Security Checking                                                         => N         
 USER     - Specify Userid for security checking                                       =>           
 CA7      - Scheduled override criteria.... ID =>     DT =>                          TM =>        
     BYPASS THIS SCREEN NEXT TIME................................                  => Y         


 Sample display showing resolved variables after EJCK completes:

==MSG> CAY6000 NO ERRORS WERE SUPPRESSED                                       
000010 //TESTJCK   JOB (113100000),'TEST',CLASS=K,MSGCLASS=X                   
==MSG> //*                                                                     
==MSG> //*                                                                     
==MSG> //* SCANNED BY ESP AT 13.14.04 ON FRIDAY FEBRUARY 1ST, 2019             
==MSG> //* SYSTEM SYSAESPM, SUBSYSTEM ESPM                                      
==MSG> //* REQUESTED BY EVENT CYBER.PAYROLL                                  
==MSG> //* JCL FROM SYS00169                                                   
==MSG> //* JOB IS IN APPLICATION MYAPP, GENERATION 0                           
==MSG> //*                                                                     
000500 //* THE DATE IS  %ESPADATE                                              
==MSG> //* THE DATE IS  FRIDAY FEBRUARY 1ST, 2019                              
000600 //* THE TIME IS  %ESPATIME                                              
==MSG> //* THE TIME IS  13.14.04                                               
000700 //STEP01 EXEC PGM=IEFBR14                                               
000800 //DD1 DD DSN=PUBLIC.ET%BCHH%BCMN%BCSS..LIB,                             
==MSG> //DD1 DD DSN=PUBLIC.ET125904.LIB,                                       
000900 //       DISP=(,CATLG,DELETE),UNIT=SYSDA,                               
001000 //       DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120),                          
001100 //       SPACE=(TRK,1)                                                  
****** **************************** Bottom of Data ****************************



Additional Information

Recommended Readings:

Configure CA JCLCheck to Resolve External Variables

RESOLVE option