How to resolve ESP variables when running JCLCheck using EDCHEK
search cancel

How to resolve ESP variables when running JCLCheck using EDCHEK

book

Article ID: 125728

calendar_today

Updated On:

Products

JCLCheck Workload Automation

Issue/Introduction

The 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 7 
Workload Automation ESP 
IBM Tivoli Workload Scheduler (TWS)
BMC Control-M
 

The 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 JCLCheck RESOLVE option when invoking EJCK from within an ISPF Edit session on an ESP job.

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

Environment

 JCLCheck Workload Automation release 12.0
 Workload Automation ESP release 11.4 and higher

Resolution

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 jobs (JCL) to be validated 



Reference:  Specify ESP 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: 2023/05/23              USER:                            TIME: 10:53
                                                                               
 STANDARD - Name of STANDARD for compliance checking              =>           
              =>           =>           =>           =>           =>           
              =>           =>                                                  
 STDREXX  - Compliance checking REXX: EXEC =>                                  
                REXX Library DD (optional) =>                                  
                REXX Library DSN (optional):                                   
                  =>                                                           
 SYNTAX   - Do syntax checking of JCL                             => Y         
 RUNTIME  - Do runtime checking of JCL (all runtime checks)       => Y         
 REMOTE   - Do remote validation of JCL                           => N         
            REMVAL file option (B-browse, E-edit, blank) =>                    
            REMVAL =>                                                          
 RESOLVE  - Resolve external variables by calling product. . . .  => E         
            RESPARM file option (B-browse, E-edit, blank) =>                   
            RESPARM file DSN  => PUBLIC.ESPWA.RESOLVE                          
                 Member name  =>                                               
 EDCHKLB  - Generate ISPF labels for lines with errors            => N         
 EDCHKSL  - Display summary of errors                             => N         
 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 10.55.04 ON TUESDAY MAY 23RD, 2023             
==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  TUESDAY MAY 23RD, 2023                              
000600 //* THE TIME IS  %ESPATIME                                              
==MSG> //* THE TIME IS  10.55.04                                               
000700 //STEP01 EXEC PGM=IEFBR14                                               
000800 //DD1 DD DSN=PUBLIC.ET%BCHH%BCMN%BCSS..LIB,                             
==MSG> //DD1 DD DSN=PUBLIC.ET104004.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 JCLCheck to Resolve External Variables

RESOLVE option