5.1.1 In-stream Procedures
When you place a procedure in the job input stream, it is called an in-stream procedure.
An in-stream procedure must begin with a PROC statement, end with a PEND statement, and include only the following other JCL statements: CNTL,
comment, DD, ENDCNTL, EXEC, IF/THEN/ELSE/ENDIF, INCLUDE, OUTPUT JCL, and SET. You must observe the following restrictions regarding
Do not place any JCL statements (other than the ones listed above) or any JES2 or JES3 control statements in the procedure.
Do not place an in-stream data set (one that begins with DD * or DD DATA) in the procedure.
Do not define one in-stream procedure within another, that is, nested. For information about nesting procedures, see "Nested Procedures" in topic 5.3.
Do not use an in-stream procedure if the procedure will be run as a started job under the MASTER subsystem, that is, includes a JOB statement and
is started via a START command such as S membername,SUB=MSTR.