Extraneous CAY6052E messages when illegal characters are found in a data set name
search cancel

Extraneous CAY6052E messages when illegal characters are found in a data set name

book

Article ID: 273795

calendar_today

Updated On:

Products

JCLCheck Workload Automation

Issue/Introduction

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.  

 

Environment

Release : 12.0

Component: JCLCheck Workload Automation

Resolution

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).