Destination control to internal reader

To make a sysout data set from a job step be a new job, direct the data set to the internal reader. The input to the internal reader must be the JCL statements to run the later job. Code:
  
   //ddname DD  SYSOUT=(class,INTRDR)  

INTRDR is an IBM-reserved name identifying the internal reader. The system places the output records for the internal reader into a buffer in your address space. When this buffer is full, JES places the contents on the spool; later, JES retrieves the new job from the spool.

Message class for internal reader job

The output class in the SYSOUT parameter becomes the default message class for the job going into the internal reader, unless you code the MSGCLASS parameter on the JOB statement.

Limiting records to internal reader

Use the OUTLIM parameter on the DD statement to limit the number of logical records written to the internal reader.

Sending internal reader buffer directly to JES

Instead of waiting for the buffer in your address space to fill up, send the contents of the internal reader buffer directly to JES by coding as the last record in the job:
/*EOF
This control statement delimits the job in the data set and makes it eligible for immediate processing.
/*DEL
This control statement cancels the job in the data set and schedules it for immediate output processing. The output consists of any JCL submitted, followed by a message indicating that the job was deleted before execution.
/*PURGE
For JES2 only, this control statement cancels the job in the data set and schedules it for purge processing; no output is produced for the job.
/*SCAN
For JES2 only, this control statement requests that JES2 only scan the job in the data set for JCL errors. The job is not to be executed.

References

For more information on the internal reader, see z/OS MVS Programming: Assembler Services Guide.

Example
  
//JOBA      JOB   D58JTH,HIGGIE  
//GENER     EXEC  PGM=IEBGENER  
//SYSIN     DD    DUMMY  
//SYSPRINT  DD    SYSOUT=A,DEST=NODE1  
//SYSUT2    DD    SYSOUT=(M,INTRDR)  
//SYSUT1    DD    DATA  
//JOBB      JOB   D58JTH,HIGGIE,MSGLEVEL=(1,1)  
//REPORTA   EXEC  PGM=SUMMARY  
//OUTDD1    DD    SYSOUT=*  
//INPUT     DD    DSN=REPRTSUM,DISP=OLD  
//JOBC      JOB   D58JTH,HIGGIE,MSGLEVEL=(1,1)  
//REPORTB   EXEC  PGM=SUMMARY  
//OUTDD2    DD    SYSOUT=A,DEST=NODE2  
//INPUT     DD    DSN=REPRTDAT,DISP=OLD  
/*EOF