> The START command processor needs to build and "initiate" some JCL to start > what was requested. The JCL will be sent to a subsystem that is able to > process that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2 > (JES2) and 3 (JES3) are the ones I know. > The first operand of the START command is shown as "membername" in the System > Command reference. For brevity, I name it "MEMBER" hereafter. > In order to build the JCL, the START command processor performs the following > steps: > 1) Search for MEMBER in the data sets allocated under IEFJOBS in the master > scheduler JCL. If found, this member *must* contain a job, i.e. it must start > with a JOB statement. > 1a) If it does, this JCL is used in step 4) below. Continue with step 4). > 1b) If it does not, an error is returned and processing ends. > 2) Search for MEMBER in the data sets allocated under IEFPDSI in the master > scheduler JCL. > 2a) If found and if the member contains a job, i.e. it starts with a JOB > statement, this JCL is used in step 4) below. Continue with step 4). > 2b) If found but the member does *not* start with a JOB statement, it is > ignored. Continue with step 3). > 3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement > and an EXEC PROC=MEMBER statement. Continue with step 4). > 4) Send the JCL found or built in steps 1) - 3) to the subsystem for > processing. The subsystem is the primary JES by default, or the one named on > SUB=, if specified. Exception: If MEMBER is the name of a subsystem > (IEFSSNxx), then the default subsystem is MSTR. > 5) START command processing ends. > > After this point, the *subsystem* has to process the JCL. If that requires > the resolution of JCL procedures or JCL INCLUDEs, the only source for this is > the "procedure library" of the subsystem. > - If the subsystem is the Master Subsystem, then the only "procedure library" > is the set of data sets allocated under IEFPDSI in the master scheduler JCL. > - If the subsystem is one of the JESs, then the only "procedure library" is > the set of data sets allocated under the PROCnn (nn is the set assigned to > STC jobclass in JES).
Nice summary, Peter. Do you happen to know who puts in //STARTING JOB ... when MEMBER is only contained in the JES2 proclib concatenation and not in MSTJCL? I have a MEMBER that starts with a JOB statement in a proclib. As long as that proclib is in both MSTJCL and JES2 proclib concat, all is well. As soon as I remove the proclib containing MEMBER from MSTJCL, I get a //STARTING JOB ... in my JCL and of course a JCL error because my JCL already contains a JOB statement. MEMBER is started task JCL and gets started either using ASCRE or a regular START command. I am assuming that it is JES2 that puts these extraneous two lines in. I was unable to find any parameter that I could tweak to NOT put them in. I didn't even find the place where this behaviour is described. Happens on both z/OS 1.13 and 2.1. Merry Christmas, Barbara ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
