The system can retrieve two or more data sets and process them successively as a single sequential data set. This is called sequential concatenation. The number of data sets that you can concatenate with sequential concatenation is variable. It is governed by the maximum size of the TIOT option. The system programmer controls the TIOT size with the option ALLOCxx member of SYS1.PARMLIB. The smallest TIOT value allows 819 single-unit DD statements or 64 DD statements having the maximum number of units. See z/OS MVS Initialization and Tuning Reference. When data sets are sequentially concatenated, your program is open to only one of the data sets at a time. Concatenated data sets cannot be read backward.
is from
https://www.ibm.com/support/knowledgece ... seqcat.htm.
Furthermore, TIOT calculations must factor in the number of units and not just the number of DD statements, as this quote from the
MVS Initialization and Tuning Reference manual for the ALLOCxx member indicates:
Use the following to calculate the maximum number of DDs allowed per Job Step:
The TIOT Prefix, Header, and Trailer consume sixty (60) ('3C'x) bytes of the total TIOT space available to a Job Step.
A DD statement requesting a single unit requires twenty (20) bytes ('14'x) of TIOT space. The TIOT space requirement for entire step is 80 bytes.
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=3490 ** DD requires 20 bytes *
A DD statement requesting two (2) units requires twenty four (24) bytes ('18'x) of TIOT space. Twenty bytes for the basic information for the first unit and an additional four bytes for the second unit. The TIOT space requirement for entire step is 84 bytes.
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=(3490,2) ** DD requires 24 bytes *
A DD requesting the maximum number of units allowed, fifty nine (59), utilizes two hundred fifty two (252) bytes ('FC'x) of TIOT space. The TIOT space requirement for entire step is 312 bytes.
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=(3490,59) ** DD requires 252 bytes *
A Job Step with three (3) DD statements and each DD requesting one more unit than the previous DD would use the following TIOT space; TIOT space requirement for entire step is 132 bytes.
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=3490 ** DD requires 20 bytes *
//DD2 DD UNIT=(3490,2) ** DD requires 24 bytes *
//DD3 DD UNIT=(3490,3) ** DD requires 28 bytes *
The DD limit is 259, not 3273, when every DD statement uses the maximum (59) number of units.