Parameter string requirements
A PARMDD parameter string can be formed by concatenating multiple data sets or files, subject to the constraints of the BSAM like data set concatenation rules.
The parameter string that is passed to the job step program is formed by a simple concatenation of each input record, up to a maximum of 32760 bytes. Blank records and trailing blanks on each record are ignored during the concatenation process. Input in excess of 32760 bytes (after any symbolic substitution, sequence number removal, and trailing blank removal) results in an error message written to the job log and the job being terminated. An input record can contain blank characters that are to become part of the parameter string, but you must end any sequence of blank characters on an input record with a non-blank character, or the blank characters will be ignored.
After concatenation, the parameter string that is passed to the job step program is examined for double ampersand character (&&) sequences. Double ampersands are converted to single ampersands in the same way that double ampersands are converted to single ampersands by PARM= processing.
// EXPORT SYMLIST=SYMB1
// SET SYMB1=DASD
//STEP1 EXEC PGM=MYPGM,PARMDD=MYPARMS
//MYPARMS DD *,SYMBOLS=JCLONLY,DLM=$$
SBJ.&SYMB1..LOAD
If the job runs in a job class with the SYSSYM setting enabled, it can also use system symbols within the SYSIN data set.
Parameter strings that contain ampersand (&) characters are examined for symbol names. If there is no valid symbol name after the ampersand (&) character, the string is left unchanged, with the following exception: parameter strings that contain double ampersand characters (&&) within the string are converted to single ampersand characters, as they are done for the PARM= parameter string.