Separate production libraries for autobatch


Many installations have specific policies regarding production jobs. A common requirement is that JOB cards, PROCs, PROC overrides, and commands should be in separate production libraries for automatic execution of the batch job.

Related topic

The UIE JCL simplifies these requirements. The PROC E2EAA is listed with clearly marked start and end comments and is followed by:

  • STEP01—Executes the IEFBR14 program for creating output files and the command input file
  • STEP02—Executes the IEBGENER program, which copies the instream commands into your designated command input file
  • STEP03—Executes the IDCAMS program, which extracts DCOLLECT data for a later step

Following the IEBGENER execution statements are the UIE commands. The command statements immediately follow the SYSUT1 DD card as instream data.

The following figure provides a list of the command, data set, and parameter options that you define in the Commands, Datasets, and Parameters panels.

You can cut and paste the PROC E2EAA into your PROC library and redirect the commands to your permanent command library once you are satisfied with them.

After removing the commands and PROC E2EAA from the JCL, you can delete STEP01. However, you must delete STEP02 and the SYSIN data.

//AJOBNAME JOB  (ACCOUNT),' USER NAME ',                                
// CLASS=A,MSGCLASS=X,REGION=0M,TIME=1439                               
//*                                                                     
//*                                                                     
//*                                                                     
//* START  PROC E2EAA                                                   
//*                                                                     
//E2EAA    PROC LOADLIB='BMCMVP.UIE.LOAD',                              
//    LINKLIB='BMCMVP.UIE.LINKLIB'                                      
//EXANAG00 EXEC PGM=IEBCOPY                                             
//SYSPRINT  DD  SYSOUT=*                                                
//SYSUT1    DD  DUMMY                                                   
//SYSUT2    DD  DUMMY                                                   
//SYSUT3    DD  UNIT=SYSALLDA,SPACE=(CYL,(5,5))                         
//SYSUT4    DD  UNIT=SYSALLDA,SPACE=(CYL,(5,5))                         
//SYSIN     DD  DUMMY                                                   
//*                                                                     
//EXANAG01 EXEC PGM=E2000,TIME=1439,                                    
//    PARM='STACK(640K),HEAP(4M,1M,ANYWHERE),ERRCOUNT(0)/'              
//STEPLIB   DD  DISP=SHR,                                               
//    DSN=&LOADLIB                                                      
//BGSCNTL   DD  DISP=SHR,                                               
//    DSN=BMCMVP.BGSUSER.Control                                        
//HRWRFIL   DD  DISP=SHR,                                               
//    DSN=BMCMVP.UIE.HRWRFIL                                            
//PLIDUMP   DD  DUMMY                                                   
//ABNLIGNR  DD  DUMMY                                                   
//* DD STATEMENT ABOVE DISABLES ABENDAID FOR UIE JOB.                   
//SYSOUT    DD  SYSOUT=* LE370 OUTPUT AND SORT MESSAGES                 
//BGSCMSG   DD  SYSOUT=*                                                
//BADSMF    DD  DUMMY,                                                  
//    DCB=(DSORG=PS,RECFM=VB,LRECL=32756,BLKSIZE=32760)                 
//BADSTR    DD  DUMMY,                                                  
//    DCB=(DSORG=PS,RECFM=VB,LRECL=4096,BLKSIZE=0)                      
//BLKH32K   DD  DUMMY,                                                  
//    DCB=(DSORG=PS,RECFM=VB,LRECL=32756,BLKSIZE=32760)                 
//BLKHSTR   DD  DUMMY,                                                  
//    DCB=(DSORG=PS,RECFM=VB,LRECL=4096,BLKSIZE=0)                      
//PCTRWA    DD  DUMMY,                                                  
//    DCB=(DSORG=PS,RECFM=VB,LRECL=4096,BLKSIZE=0)                      
//XMODT     DD  DISP=(NEW,DELETE,DELETE),                               
//    DCB=(DSORG=PS,RECFM=VB,LRECL=260,BLKSIZE=0),                      
//    UNIT=SYSALLDA,SPACE=(TRK,(05,05))                                 
//*                                                                     
//* UIE WILL DYNAMICALLY ALLOCATE ONE OR MORE SORTWORK FILES   
//* WHICH SHOULD BE ADEQUATE TO SORT THE TEMPORARY FILES CREATED DURING
//* THE FILE INPUT PHASE. CODING SORTWK01 IN THIS JCL WILL OVER-RIDE    
//* OUR DYNAMIC ALLOCATION PROCESS.  BMC RECOMMENDS THAT YOU PROVIDE    
//* ONE OR MORE PROPERLY SIZED SORTWORK STATEMENTS HERE ONCE YOU HAVE   
//* DETERMINED THE APPROPRIATE SIZE REQUIRED FOR YOUR SYSTEM FROM THE   
//* 'WORK DATA SET TRACKS ALLOCATED: XXXX, TRACKS USED: YYYY' MESSAGES  
//* PRODUCED BY YOUR SORT PACKAGE.                                      
//*
//*SORTWK01 DD  SPACE=(CYL,(250,100)),UNIT=SYSALLDA                     
//*SORTWK02 DD  SPACE=(CYL,(250,100)),UNIT=SYSALLDA                     
//*SORTWK03 DD  SPACE=(CYL,(250,100)),UNIT=SYSALLDA                     
//*SORTWK04 DD  SPACE=(CYL,(250,100)),UNIT=SYSALLDA                     
//*SORTWK05 DD  SPACE=(CYL,(250,100)),UNIT=SYSALLDA                     
//*SORTWK06 DD  SPACE=(CYL,(250,100)),UNIT=SYSALLDA                     
//CMDS      DD  DUMMY                                                   
//UIEPC     DD  DUMMY                                                   
//MVCICS    DD  DUMMY                                                   
//MVIMS     DD  DUMMY                                                   
//SMF1      DD  DUMMY                                                   
//SMF2      DD  DUMMY                                                   
//DCOL      DD  DUMMY                                                   
//TMON      DD  DUMMY                                                   
//DEBUGPR   DD  DUMMY DEBUG FILE                                        
//SYSPRINT  DD  DUMMY REPORT FILE                                       
//VSLROUT   DD  DUMMY                                                   
//XMODELH   DD  DUMMY                                                   
//*                                                                     
//EXANAG02 EXEC PGM=E2PUB,                                              
//    PARM='RETRIES=01 =TCPIP_MACH=TCPIP'                               
//STEPLIB   DD  DISP=SHR,                                               
//    DSN=&LOADLIB                                                      
//          DD  DISP=SHR,                                               
//    DSN=&LINKLIB                                                      
//XMODELH   DD  DISP=SHR,                                               
//    DSN=*.EXANAG01.XMODELH                                            
//TARGETS   DD  DUMMY                                                   
//SYSPRINT  DD  SYSOUT=*                                                
//SYSTERM   DD  SYSOUT=*                                                
//         PEND                                                         
//*                                                                     
//* END OF PROC E2EAA                                                   
//*                                                                     
//STEP01   EXEC PGM=IEFBR14                                             
//CMDS      DD  DISP=(NEW,PASS),                                        
//    UNIT=SYSALLDA,                                                    
//    SPACE=(TRK,(1,1)),                                                
//    LRECL=80,                                                         
//    BLKSIZE=3120,                                                     
//    RECFM=FB,                                                         
//    DSORG=PS,                                                         
//    DSN=&CMDS                                                         
//XMODELH   DD  DISP=(MOD,CATLG),                                       
//    UNIT=SYSALLDA,                                                    
//    SPACE=(CYL,(50,25,20)),                                           
//    LRECL=260,                                                        
//    BLKSIZE=0,                                                        
//    RECFM=VB,                                                         
//    DSORG=PO,                                                         
//    DSN=YOUR.BASELINE.PDS.NAME                                        
//XMODELU   DD  DISP=(MOD,CATLG),                                       
//    UNIT=SYSALLDA,                                                    
//    SPACE=(CYL,(50,25)),                                              
//    DSN=YOUR.BASELINE.PDS.IEBCOPY.UNLOAD.NAME                         
//*                                                                     
//STEP02   EXEC PGM=IEBGENER                                            
//SYSPRINT  DD  SYSOUT=*                                                
//SYSIN     DD  DUMMY                                                   
//SYSUT2    DD  DISP=(OLD,PASS),
//    DSN=&CMDS                                                         
//SYSUT1    DD  *,DCB=(LRECL=80)                                        
SDATE TODAY-1                                                           
STIME 0000                                                              
EDATE TODAY-1                                                           
ETIME 2400                                                              
*                                                                       
* THE FOLLOWING COMMANDS SPECIFY ATTRIBUTES FOR DYNAMICALLY             
* ALLOCATED TEMPORARY FILES.  PLEASE USE THE PARAMETERS PANEL           
* WHICH IS OPTION 2 ON THE PRODUCT MAIN MENU                            
* IN ORDER TO MAKE PERMANENT CHANGES TO THESE VALUES.                   
DA S P=0010 S=0001 U=SYSALLDA                                           
DA M P=0050 S=0005 U=SYSALLDA                                           
DA L P=0250 S=0025 U=SYSALLDA                                           
DA X P=1500 S=0150 U=SYSALLDA                                           
/*                                                                      
//*

//STEP03   EXEC PGM=IDCAMS                                              
//SYSPRINT  DD SYSOUT=*                                                 
//OUTDS     DD DISP=(NEW,PASS),                                         
//    UNIT=SYSALLDA,                                                    
//    SPACE=(CYL,(5,1)),                                                
//    LRECL=4096,                                                       
//    BLKSIZE=0,                                                        
//    RECFM=VB,                                                         
//    DSORG=PS,                                                         
//    DSN=&DCOL                                                         
//SYSIN     DD  *,DCB=(LRECL=80)                                        
  DCOLLECT OFILE(OUTDS) -                                               
    NODATAINFO -                                                        
    VOLUMES(*)                                                          
/*                                                                      
//*                                                                     
//EXANAG EXEC E2EAA,COND.EXANAG02=(4,LT,EXANAG01)                       
//EXANAG00.SYSUT1  DD DISP=OLD,                                         
//    DSN=YOUR.BASELINE.PDS.NAME                                        
//EXANAG00.SYSUT2  DD DISP=OLD,                                         
//    DSN=YOUR.BASELINE.PDS.IEBCOPY.UNLOAD.NAME                         
//*                                                                     
//EXANAG01.CMDS DD DISP=(OLD,PASS),                                     
//    DSN=&CMDS                                                         
//EXANAG01.SMF1 DD DISP=SHR,FREE=CLOSE,                                 
//    BLKSIZE=32760,                                                    
//*   BUFNO=30,                                                         
//    DSN=YOUR.SMF.DATASET.NAME                                         
/
/EXANAG01.DEBUGPR DD SYSOUT=Q                                           
//EXANAG01.SYSPRINT DD SYSOUT=R                                         
//EXANAG01.XMODELH DD DISP=OLD,                                         
//    DSN=YOUR.BASELINE.PDS.NAME(INDEX)                                 
//EXANAG01.DCOL DD DISP=(OLD,PASS),                                     
//    DSN=&DCOL                                                         
//*                                                                     
//EXANAG02.TARGETS DD DISP=SHR,FREE=CLOSE,                              
//    DSN=BMCMVP.UIE.TARGETS

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*