Sample JCL:
//JCK JOB (999999999),'JCLCHECK',MSGCLASS=X,CLASS=K,NOTIFY=&SYSUID
// SET DATE=D23ddd
//JS010 EXEC PGM=IEFBR14
//DD1 DD DISP=SHR,DSN=PUBLIC.SAMPLE.DSN.&DATE.
JCLCheck returns:
STMT NUM
2 CAY6005E 'D23ddd' CONTAINS ILLEGAL CHARACTERS
4 CAY6052E DSNAME 'PUBLIC.SAMPLE.DSN.D23ddd' IS INVALID NEAR 'ddd'
CAY6052E DSNAME 'PUBLIC.SAMPLE.DSN.D23ddd' IS INVALID NEAR 'dd'
CAY6052E DSNAME 'PUBLIC.SAMPLE.DSN.D23ddd' IS INVALID NEAR 'd'
CAY6052E DSNAME 'PUBLIC.SAMPLE.DSN.D23ddd' IS INVALID NEAR 'd'
User expects only one error CAY6052E message for the invalid data set name instead of 4 CAY6052E messages.
Release : 12.0
Component: JCLCheck Workload Automation
JCLCheck is working as designed.
JCLCheck needs to flag every single invalid character, and produces a CAY6052E message for each bad character that it finds.
To display only one CAY6052E message for each invalid data set name, use the MSG_PROCESSING routine of the JCLCheck REXX interface to
suppress the extraneous messages.
Sample REXX codes:
INITIAL_PROCESSING:
FIRST52 = Y
...
DD_PROCESSING:
FIRST52 = Y
...
MSG_PROCESSING:
IF MSG.NUMBER = '052' THEN DO
if FIRST52 = 'Y' then
FIRST52 = 'N'
else do
MSG.SEVERITY = '-1'
end
END
Note: To enable the REXX message processing routine, use the JCLCheck runtime options REXXMSG and STDREXX(caz1rex2).