Writing your own master scheduler JCL

To write your own master scheduler JCL, specify the following JCL statements for the master scheduler JCL data set:
//MSTJCLxx JOB
A JOB statement is required.
// EXEC
An EXEC statement is required with PGM=IEEMB860. Program IEEMB860 is the master scheduler that does the IPL processing.

The EXEC statement must contain a time limit of 1440 or the program must be defined as a system task in the program properties table (PPT) to ensure that the master scheduler does not time out. See the description of the SCHEDxx parmlib member in SCHEDxx (PPT, master trace table, and abend codes for automatic restart) for information about allowing your installation to specify programs in the PPT.

Start of changeThe master scheduler (IEEMB860) is defined in the PPT with several options; among them are SYST (system task) and NODSI (no data set integrity). SYST ensures that the master scheduler does not time out. NODSI means that the master scheduler JCL defined data sets are not enqueued or shared by MVS™. This keeps the master scheduler from having to deal with enqueue contention for data sets, such as SYS1.PARMLIB. It also means that it is possible to move members within the data set while the system is trying to read them. This can result in I/O errors. Any manipulation of the data sets defined to the master scheduler JCL should be done with extreme caution.End of change

//STCINRDR DD
This DD statement defines the internal reader where started tasks are to be sent.
//TSOINRDR DD
This DD statement defines the internal reader where TSO logon started tasks are to be sent.
//IEFJOBS DD
This DD statement defines the data set that contains job source JCL for started tasks. This data set can be a PDSE and can be SMS managed. The data set can also be a concatenation.
//IEFPDSI DD
This DD statement defines the data set that contains procedure source JCL for started tasks. Normally this data set is SYS1.PROCLIB; it can be a concatenation. For useful work to be performed, the data set must at least contain the procedure for the primary JES.
//IEFPARM DD
Optionally, this DD statement defines SYS1.PARMLIB or an equivalent for use by the master scheduler address space following master scheduler initialization; it can be a concatenation. Some subsystems and address spaces use other techniques to read parameter information from SYS1.PARMLIB or other sources.

If you specify this DD statement and there are parmlib statements in the LOADxx member of SYS1.PARMLIB, IEFPARM is ignored, a warning message is issued and the LOADxx parmlib data sets are used. If the specified parmlib statements in LOADxx cannot be found, IEFPARM is ignored, a warning message is issued and the system uses SYS1.PARMLIB as the default. If there are no parmlib data sets specified in LOADxx, the system uses the parmlibs on the IEFPARM DD statement.

If you do not specify this DD statement, the system uses the parmlib data sets specified in the LOADxx member of SYS1.PARMLIB. If no parmlib data sets were specified in LOADxx, or if the specified parmlib data sets cannot be found, the system uses SYS1.PARMLIB as the default. If no SYS1.PARMLIB is cataloged, the system uses the SYS1.PARMLIB on the SYSRES volume.

//SYSUADS DD
Optionally, this DD statement is defined for TSO/E.
//SYSRACF DD
Optionally, this DD statement is defined for RACF®. IBM® suggests the use of ICHRDSNT for the specification of the primary and backup RACF databases. See z/OS Security Server RACF System Programmer's Guide for more information.
Note: You can only specify a primary RACF database name with the SYSRACF DD.
/*
Ends the JCL.
Also: