SET VAR Example 1
In this example, AutoEdit statements in the job scheduling definition and the JCL allocate space for the job. If the job abends due to insufficient space, the AutoEdit statements adjust the allocated space and rerun or restart the job.
The following step in the JCL of the job sets the quantity of available space to five units of whatever type (track or cylinder) is specified in the job scheduling definition.
//STEP10 EXEC PGM=MYPGM
//OUTFILE  DD DSN=NEWFILE,DISP=(NEW,CATLG,DELETE),
//                 SPACE=(%%SPACE_TYPE,5),UNIT=SYSDA
The job scheduling definition contains the following SET VAR statement that sets the space type to "track":
SET VAR  %%SPACE_TYPE=TRK
In this case, the second line in the above DD statement resolves to:
//               SPACE=(TRK,5),UNIT=SYSDA
The job scheduling definition also contains the following statements that are activated if the job abends due of lack of space (code S*37). These statements change the space type to "cylinder", which provides enough space, and rerun the job. If Control-M/Restart is active, the job is restarted from the abended step.
ON PGMST STEP10  CODES S*37
DO SET  %%SPACE_TYPE = CYL
[DO IFRERUN   FROM $ABEND] ===> If CONTROL-R is active
DO RERUN
If the job abends due to insufficient space, the second line of the earlier JCL DD statement resolves to:
//               SPACE=(CYL,5),UNIT=SYSDA
when the job is submitted for rerun (or restart).
SET VAR Examples 2A and 2B
The following examples show how one job scheduling definition and one JCL member can be used for both the test environment and the production environment by changing the value of only one parameter, the SET VAR parameter.
Assume the following JCL for the job:
//PRDKPL01 JOB 0,M22,CLASS=A,MSGCLASS=X,REGION=4000K
//STEP01  EXEC %%PROC%%.INPT
//STEP02  EXEC %%PROC%%.UPDT  
//STEP03  EXEC %%PROC%%.RPTS 
SET VAR Example 2A
The following job scheduling definition replaces the %%PROC variable in the EXEC statements of the JCL with procedure name prefix TEST.
Figure 307 SET VAR Parameter Example – 2A
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                             TABLE: PRODKPL
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR %%PROC=TEST                                                
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC                                                              
  RELATIONSHIP (AND/OR)                                                     
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.36.07
When a SET VAR statement is used to specify %%PROC=TEST, the JCL is resolved as follows:
//PRDKPL01 JOB 0,M22,CLASS=A,MSGCLASS=X,REGION=4000K
//STEP01  EXEC TESTINPT
//STEP02  EXEC TESTUPDT
//STEP03  EXEC TESTRPTS
SET VAR Example 2B
The job scheduling definition has now been modified to replace the procedures (%%PROC) used in the job with production (PROD) procedures.
Figure 308 SET VAR Parameter Example 2B
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                            TABLE: PRODKPL
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR %%PROC=PROD                                                 
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC                                                              
  RELATIONSHIP (AND/OR)                                                     
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   18.36.07
When a SET VAR statement is used to specify %%PROC=PROD, the JCL is resolved as following:
//PRDKPL01 JOB 0,M22,CLASS=A,MSGCLASS=X,REGION=4000K
//STEP01  EXEC PRODINPT
//STEP02  EXEC PRODUPDT
//STEP03  EXEC PRODRPTS
Parent Topic |