JCLCheck: How to modify a JOBLIB data set name using the JCLNeat REXX interface
search cancel

JCLCheck: How to modify a JOBLIB data set name using the JCLNeat REXX interface

book

Article ID: 140447

calendar_today

Updated On:

Products

JCLCheck Workload Automation

Issue/Introduction

How to modify the JOBLIB DSN using the REXX interface for JCLNeat.
 
Example: 
 
Input to JCLNeat:
//JOBLIB   DD  DSN=CAPROD.TEST.LOADLIB,DISP=SHR

Output: 
//JOBLIB   DD DISP=SHR,                  
//               DSN=CAPROD.PROD.LOADLIB                
//               DD DISP=SHR,                  
//               DSN=CAPROD.SYSA.PROD.LOADLIB  
 
 
 
 
 

Environment

Release : 12.0

Product: JCLCheck Workload Automation

Feature: JCLNeat and the REXX interface

Resolution

Sample JCLNeat REXX routines are located in the JCLCheck CAZ2CLS0 library, and are named CAZ1NRX2 and CAZ1NREX.

Add codes to the RAW_DATA_PROCESSING of member CAZ1NRX2 or CAZ1NREX to do the following:  

1. Change JOBLIB data set name from CAPROD.TEST.LOADLIB to CAPROD.PROD.LOADLIB

2. Issue warning message that the library DSN has changed

3. Place DISP on a separate statement

4. Insert DSN=CAPROD.SYSA.PROD.LOADLIB

Sample codes:

  RAW_DATA_PROCESSING:                                                 
  BFILL = '                                                  '        
  SHR   = '//             DISP=SHR       '                            
  OUTSHR = SHR||BFILL                                                 
  SYSD1 = '//         DD  DSN='                                       
  SYSI21 = 'CAPROD.SYSA.PROD.LOADLIB,'                                
  TMPCB = SUBSTR(BFILL,1,20)                                          
  OUT2 = SYSD1||SYSI21                                                
  OUTINT2 = OUT2||TMPCB                                               
   DO N = 1 TO $CA.RCOUNT                                             
    IF SUBSTR($CA.RECORD.N,1,8) = '//JOBLIB'                          
      THEN                                                            
       DO                                                             
        IF POS('CAPROD.TEST.LOADLIB,',$CA.RECORD.N) > 0               
          THEN                                                        
           DO                                                         
            Y = POS('CAPROD.TEST.LOADLIB,',$CA.RECORD.N)              
            Y = Y-1                                                   
            X = Y+36                                                  
            W = 80-X                                                  
            TMPCA = SUBSTR($CA.RECORD.N,1,Y)                          
            TMPCB = SUBSTR(BFILL,1,W)                                 
            OUT = TMPCA||'CAPROD.PROD.LOADLIB,'                       
            OUTREC = OUT||TMPCB                                       
            $CA.RECORD.N = substr(OUTREC,1,80,' ')                    
            N = N+1                                                   
            $CA.RECORD.N = substr(OUTSHR,1,80,' ')                    
            N = N+1                                                   
            $CA.RECORD.N = substr(OUTINT2,1,80,' ')                   
            N = N+1                                                   
            $CA.RECORD.N = substr(OUTSHR,1,80,' ')                    
            $CA.RSTYPE = 'UPDA'                                       
            CALL $CAJCL_ERROR 'W',                                    
             'LIBRARY DSN CHANGED'                                    
            $CA.RCOUNT = N                
            END         
       END               
   END                     
 Return                                        

Additional Information

REXX for  JCLCheck and JCLNeat:

https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-mainframe-software/automation/ca-jclcheck-workload-automation/12-0/building/rexx-for-ca-jclcheck-and-jclneat.html