Doubt in overriding the JCL



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

Doubt in overriding the JCL

Postby sosu_1 » Fri Dec 23, 2016 9:42 am

Can anyone advise how to override PARM variables in JCL for third layer of proc.
My main PROC calls a PROC2(second proc) which again calls PROC3 ( third one) and have a PARM value which is used in the PROC3.
PARM needs to be overridden in JCL.
eg:PARM='1235Y 0216'
sosu_1
 
Posts: 1
Joined: Fri Dec 23, 2016 9:34 am
Has thanked: 0 time
Been thanked: 0 time

Re: Doubt in overriding the JCL

Postby steve-myers » Fri Dec 23, 2016 9:52 am

Do not post in inappropriate forums. Perhaps a moderator will move this to JCL, where the topic starter will have a chance to get a response to this query. Originally posted in Forum rules.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Doubt in overriding the JCL

Postby prino » Fri Dec 23, 2016 2:43 pm

sosu_1 wrote:Can anyone advise how to override PARM variables in JCL for third layer of proc.

You cannot. Period. Full stop. End of story!
Robert AH Prins
robert.ah.prins @ the.17+Gb.Google thingy
User avatar
prino
 
Posts: 635
Joined: Wed Mar 11, 2009 12:22 am
Location: Vilnius, Lithuania
Has thanked: 3 times
Been thanked: 28 times

Re: Doubt in overriding the JCL

Postby Aki88 » Fri Dec 23, 2016 4:46 pm

Hello,

Unsure what the 'third layer of PROC' meant. If it is something like below, then yes, the PARM value can be passed (a simple test is given below).
3 different PROCs, all residing within a PDS, passed through JCL; each PROC calling the other PROC from within.


//PROC1    PROC                                            
//*                                                        
//STEP001  EXEC PGM=MMMDCAMS,PARM='OVRD=&OVRD,DING=&DING'  
//STEPLIB  DD DISP=SHR,DSN=XXXX.YYYY.ZZZZZZ              
//SYSPRINT DD SYSOUT=*                                    
//IDCDATA  DD UNIT=3390,SPACE=(CYL,5)                      
//SYSUT1   DD *                                            
  LISTCAT ENT(&OVRD..&DING ) ALL                          
/*                                                        
//PROC2    EXEC PROC2                                      
//*                                                        
//         PEND                                            

//PROC2    PROC                                          
//*                                                      
//STEP002  EXEC PGM=MMMDCAMS,PARM='OVRD=&OVRD,NING=&NING'
//STEPLIB  DD DISP=SHR,DSN=XXXX.YYYY.ZZZZZZ              
//SYSPRINT DD SYSOUT=*                                  
//IDCDATA  DD UNIT=3390,SPACE=(CYL,5)                    
//SYSUT1   DD *                                          
  LISTCAT ENT(&OVRD..&NING ) ALL                        
/*                                                      
//*                                                      
//PROC3    EXEC PROC3                                    
//         PEND                                          

//PROC3    PROC                                              
//*                                                          
//STEP003  EXEC PGM=MMMDCAMS,PARM='OVRD=&OVRD,GJIN=&GJIN'
//STEPLIB  DD DISP=SHR,DSN=XXXX.YYYY.ZZZZZZ              
//SYSPRINT DD SYSOUT=*                                        
//IDCDATA  DD UNIT=3390,SPACE=(CYL,5)                        
//SYSUT1   DD *                                              
  LISTCAT ENT(&OVRD..&GJIN ) ALL                            
/*                                                            
//*                                                          
//         PEND                                              

JCL:

//*                                                          
//PROCLIB  JCLLIB ORDER=MY.PRIME.LIB                          
//*
// SET OVRD='NNNN.JJJJ'                                      
//*                                                          
//PROC1    EXEC PROC1,DING='LING',NING='NONG',GJIN='GJIN'
 


This is resolved to:

// SET OVRD='NNNN.JJJJ'                                                
//*                                                                    
//PROC1    EXEC PROC1,DING='LING',NING='NONG',GJIN='GJIN'          
XXPROC1    PROC                                                        
XX*                                                                    
XXSTEP001  EXEC PGM=MMMDCAMS,PARM='OVRD=&OVRD,DING=&DING'              
IEFC653I SUBSTITUTION JCL - PGM=MMMDCAMS,PARM='OVRD=NNNN.JJJJ,DING=LING'
XXSTEPLIB  DD DISP=SHR,DSN=XXXX.YYYY.ZZZZZZ                            
XXSYSPRINT DD SYSOUT=*                                                  
XXIDCDATA  DD UNIT=3390,SPACE=(CYL,5)                                  
XXSYSUT1   DD *                                                        
XXPROC2    EXEC PROC2                                                  
XXPROC2    PROC                                                        
XX*                                                                    
XXSTEP002  EXEC PGM=MMMDCAMS,PARM='OVRD=&OVRD,NING=&NING'              
IEFC653I SUBSTITUTION JCL - PGM=MMMDCAMS,PARM='OVRD=NNNN.JJJJ,NING=NONG'
XXSTEPLIB  DD DISP=SHR,DSN=XXXX.YYYY.ZZZZZZ                            
XXSYSPRINT DD SYSOUT=*                                                  
XXIDCDATA  DD UNIT=3390,SPACE=(CYL,5)                                  
XXSYSUT1   DD *                                                        
XX*                                                                    
XXPROC3    EXEC PROC3                                                  
XXPROC3    PROC                                                        
XX*                                                                    
XXSTEP003  EXEC PGM=MMMDCAMS,PARM='OVRD=&OVRD,GJIN=&GJIN'          
IEFC653I SUBSTITUTION JCL - PGM=MMMDCAMS,PARM='OVRD=NNNN.JJJJ,GJIN=GJIN'
XXSTEPLIB  DD DISP=SHR,DSN=XXXX.YYYY.ZZZZZZ                            
XXSYSPRINT DD SYSOUT=*                                                  
XXIDCDATA  DD UNIT=3390,SPACE=(CYL,5)                                  
XXSYSUT1   DD *                                                        
XX*                                                                    
XX         PEND                                                        
XX         PEND                                                        
XX*                                                                    
XX         PEND                                                        
 


Resolved SYSPRINTs look something like this:

a. PROC1.STEP001

IDCAMS  SYSTEM SERVICES          
                                 
  LISTCAT ENT(NNNN.JJJJ.LING ) ALL
.......

b. PROC2.STEP002
IDCAMS  SYSTEM SERVICES            
                                   
  LISTCAT ENT(NNNN.JJJJ.NONG ) ALL  

......

c. PROC3.STEP003

IDCAMS  SYSTEM SERVICES            
                                   
  LISTCAT ENT(NNNN.JJJJ.GJIN ) ALL

 
Aki88
 
Posts: 381
Joined: Tue Jan 28, 2014 1:52 pm
Has thanked: 33 times
Been thanked: 36 times


Return to JCL

 


  • Related topics
    Replies
    Views
    Last post