|
Figure 1 is a sample cataloged procedure,
SMPPROC, that can be used to run SMP/E. The numbers to the left of
the statements correspond to the notes that follow the example. When
you write a cataloged procedure for SMP/E, remember the following:
Figure 1. Sample SMP/E cataloged procedure //SMPPROC PROC
//SMP EXEC PGM=GIMSMP
//* ----- SYSOUT data sets --------------------------------
//SMPOUT DD SYSOUT=A
//SMPRPT DD SYSOUT=A
//SMPLIST DD SYSOUT=A
//SMPSNAP DD SYSOUT=A
//SMPDEBUG DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
1 //SMPPUNCH DD SYSOUT=B
//*------ SMP/E data sets ---------------------------------
//SMPLOG DD DSN=SYS1.SMPLOG,DISP=MOD
//SMPLOGA DD DSN=SYS1.SMPLOGA,DISP=MOD
2 //* ----- Master CSI -------------------------------------
//SMPCSI DD DSN=SMPE.SMPCSI.CSI,DISP=SHR
//SMPDATA1 DD DSN=MVSTGT1.SMPDATA1,DISP=MOD
//SMPDATA2 DD DSN=MVSTGT1.SMPDATA2,DISP=MOD
3 //* ----- SMP/E temporary data sets------------------------
//SMPWRK1 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=6160
//SMPWRK2 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=6160
4 //SMPWRK3 DD DSN=data set name,
UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,CATLG),
// DCB=BLKSIZE=3120
//SMPWRK4 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=3120
//SMPWRK6 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=6160
//* ----- Utility data sets -------------------------------
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,DELETE)
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,DELETE)
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,DELETE)
//SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(2,1)),DISP=(,DELETE)
//* ----- Assembler SYSLIB data set -----------------------
5 //SYSLIB DD DSN=data set name,DISP=SHR
• • •
//* ----- Target libraries --------------------------------
//LINKLIB DD DSN=SYS1.LINKLIB,DISP=OLD
• • •
//* ----- Distribution libraries --------------------------
//AOSC5 DD DSN=SYS1.AOSC5,DISP=OLD
• • •
// PEND
- 1
- SMPPUNCH is required for the GENERATE,
REPORT, and UNLOAD commands. Because it might have a high level of
output, SMPPUNCH should be directed to disk or tape.
- 2
- SMPCSI DD statements should be coded
with DISP=SHR. This allows SMP/E to share
the CSI data sets as much as possible. If DISP=OLD is
specified, no data set sharing is attempted. For more information
about how SMP/E shares data sets, see the section on sharing SMP/E
data sets in SMP/E for z/OS Commands.
- 3
- SMPWRK1–SMPWRK6 show only sample sizes
for the data sets. The actual size required depends on the number
of SYSMODs being processed and the number of elements within those
SYSMODs.
- 4
- SMPWRK3 can be permanently allocated
in order to reuse assemblies. For more information, see the description
of the REUSE operand in the APPLY command section in SMP/E for z/OS Commands.
- 5
- SYSLIB concatenation depends on how
you intend to use the distribution libraries. For details on which
data sets to include and in what order, see How to determine the appropriate SYSLIB concatenation.
If you use a different SYSLIB
concatenation for APPLY and ACCEPT and prefer to use a SYSLIB DD statement,
you should have at least two procedures. If you use DDDEFs to point
to the different library concatenations, you can use one procedure.
You can modify the examples to use the appropriate procedure.
The following job uses the cataloged procedure in Figure 1 to call SMP/E. //SMPJOB JOB 'accounting info',MSGLEVEL=(1,1)
//SMPSTEP EXEC SMPPROC
//SMPPTFIN DD … points to the file or data set that contains
//* the SYSMODs to be received
//SMPHOLD DD … points to the file or data set that contains
//* the HOLDDATA to be received
//SMPTLIB DD UNIT=3380,VOL=SER=TLIB01
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone */.
RECEIVE SYSMOD /* receive SYSMODS and */
HOLDDATA /* HOLDDATA */
SOURCEID(MYPTFS) /* Assign a source ID */
/* */.
LIST MCS /* List the cover letters */
SOURCEID(MYPTFS) /* for the SYSMODs */
/* */.
SET BDY(TARGET1) /* Set to target zone */.
APPLY SOURCEID(MYPTFS) /* Apply the SYSMODs */
/* */.
LIST LOG /* List the target zone log */.
/*
|