CA JCLCheck TWS interface: variable substitution not visualized under EJCK

Document ID : KB000097565
Last Modified Date : 22/05/2018
Show Technical Document Details
Introduction:
CA JCLCheck provides an interface with CA IBM TWS that is able to resolve the external TWS variables embedded in the JCL. The variable resolution occurs before CA JCLCheck validates the JCL. This action can be performed and verified both in batch and foreground using EJCK, if the proper interface is installed and customized as we report in our documentation. 

Using the foreground EJCK (or !JCK) command when in edit session of a JCL member, it occurs that the TWS variables resolution is only visualized when a JCLCheck scan error is detected on the // DD  that contains these TWS variables, while the same JCL card  is displayed without the TWS variables resolved if CA JCLCheck hasn't detected any scan error on it. 
In batch instead, the resolved file always shows all the // DD cards with TWS variables resolved, even if no errors are detected on them during JCLCheck scan. 

For example: 

if the JCL does contain the following :
.... 
000017 //OUT DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D&TDATE, 
000018 // SPACE=(CYL,(5,5),RLSE),DISP=(,CATLG,DELETE),RECFM=FB, 
000019 // LRECL=500, 
000020 // UNIT=SYSDA 
... 
the batch listing always shows the following in REPORT1 section :
...
//OUT DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D1805, 
...
while the EJCK command in ISPF Edit session will still show the following :
.... 
000017 //OUT DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D&TDATE, 
000018 // SPACE=(CYL,(5,5),RLSE),DISP=(,CATLG,DELETE),RECFM=FB, 
000019 // LRECL=500, 
000020 // UNIT=SYSDA 
... 
if no error is detected by JCLCheck scan on this // DD syntax, so the DSN is visualized without the TWS variables resolved.

EJCK command will show the following:
...
.AAABB //OUT      DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D&TDATE,
==MSG> //OUT      DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D1805,
.AAABC //         DISP=SHR
==MSG> //         DISP=SHR
==MSG> CAY6079E DATA SET "CFTU.PRODE.MC284011.P0100903.D2008.D1805" SPECIFIED
==MSG>          AS OLD OR SHR, BUT CANNOT BE FOUND
==MSG>
...
if an error is detected by JCLCheck scan on this // DD syntax.In this second situation the DSN is visualized with the TWS variables resolved.

How to have EJCK always showing the DSN with the TWS variables resolved (like the batch REPORT1 section) ? 
Environment:
CA JCLCheck 
Instructions:
Basically the EJCK command issued in an ISPF Edit session, works as designed because EJCK only checks the JCL and cannot alter it.
When JCLCheck scan detects an error on the involved // DD , then EJCK shows the following: 
... 
.AAABB //OUT DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D&TDATE, 
==MSG> //OUT DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D1805, 
.AAABC // DISP=SHR 
==MSG> // DISP=SHR 
==MSG> CAY6079E DATA SET "CFTU.PRODE.MC284011.P0100903.D2008.D1805" SPECIFIED 
==MSG> AS OLD OR SHR, BUT CANNOT BE FOUND 
==MSG> 
... 
so the DSN with the TWS resolved variable is showed but in the section : 

==MSG> //OUT DD DSN=CFTU.PRODE.MC284011.P0100903.D2008.D1805, 

not in the line AAABB that is related to the JCL member, otherwise the member would be changed and this is not allowed to EJCK. This is the correct EJCK behavior. 

In order to always obtain on screen the full JCL listing with the TWS variables resolved, the command EJCK REPORTS should be issued when in ISPF Edit session of the JCL.