Separate production libraries for autobatch
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.
//*
// 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),
//*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
//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*