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

Document ID : KB000125728
Last Modified Date : 12/02/2019
Show Technical Document Details
Introduction:
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.
Background:
Without the CA JCLCheck RESOLVE option, external variables won't be resolved, and will result in errors when the JCL is validated by JCLCheck.
Environment:
CA JCLCheck release 12.0
CA WA ESP release 11.4 and release 12.0
Instructions:
Requirement:
 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:  
 
COMMAND=SIMULATE
SUBSYS=espm    <== The active ESP subsystem name
SYMBOL=%        <== The ESP symbol-introducer character
EVENT=cyber.payroll   <== The name of the ESP event which has job (JCL) to be validated 

Reference: https://docops.ca.com/display/CJWA12/Specify+CA+WA+ESP+Edition+Parameters

Instructions:
  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.
Example:

Sample JCL containing ESP symbolic variables, and user-defined variables: 
//TESTJCK   JOB (113100000),'TEST',CLASS=K,MSGCLASS=X 
//* THE DATE IS  %ESPADATE                   
//* THE TIME IS  %ESPATIME                     
//STEP01 EXEC PGM=IEFBR14                      
//DD1 DD DSN=PUBLIC.ET%BCHH%BCMN%BCSS..LIB,    
//       DISP=(,CATLG,DELETE),UNIT=SYSDA,      
//       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                                                     
ENDJOB       

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 STATEMENTS FLAGGED IN JOB "TESTJCK" MAXIMUM SEVERITY WAS 0   
==MSG>                                                                         
==MSG> CAY6000 NO ERRORS WERE SUPPRESSED                                       
==MSG>                                                                         
==MSG>                                                                         
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:
https://docops.ca.com/display/CJWA12/Configure+CA+JCLCheck+to+Resolve+External+Variables

- Specify CA WA ESP Edition Parameters
https://docops.ca.com/display/CJWA12/Specify+CA+WA+ESP+Edition+Parameters

- RESOLVE processing option:
https://docops.ca.com/display/CJWA12/RESOLVE