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+ParametersInstructions:
- ISPF Edit the ESP job (JCL) containing ESP variables.
- Enter the command %EJCK PANEL in the ISPF Edit session to display the JCLCheck Options panel.
- Locate the RESOLVE field in the Options panel (panelid JCK21), and specify ESP.
- 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.
- (To edit the ESP parameters data set, enter 'E' before the DSN field. Enter 'B' to browse the data set.)
- 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 ****************************