Concatenating data sets

When data sets are concatenated, the application program can treat them as if they were one logical data set. In general, most of the logical attributes of the first DD statement apply to all of them. You can concatenate input data sets for the duration of a job step. Each of the concatenated data sets can reside on a different volume. For more information about concatenating data sets, see z/OS DFSMS Using Data Sets.

Restriction: You cannot concatenate output data sets.

To concatenate data sets, omit the ddnames from all the DD statements except the first in the sequence. The data sets are processed in the same sequence as the DD statements defining them.

Concatenated data sets can reside on different devices and different types of devices, which might require internal DCB modifications. For more information, see z/OS DFSMS Using Data Sets.

Types of concatenation

There are two types of concatenation, partitioned concatenation and sequential concatenation.

Partitioned concatenation is any combination of the following:
  • Partitioned data set (PDS).
  • Partitioned data set extended (PDSE).
  • z/OS® UNIX directory. Code the PATH keyword.
In general, do not code a member name in these cases. If you code a member name on the first DD statement, the system will position to that member first unless the application program overrides it. The application program uses BPAM to read.
Sequential concatenation consists of two types: like and unlike.
  • For like concatenation, the same logical record length (LRECL) value and record format apply to all the data sets. The block size (BLKSIZE) values and device characteristics might differ.
  • For unlike concatenation, any of data sets characteristics might differ. The application program must have logic to support this capability.
The DD statements are for any combination of sequential disk or tape data sets, members of PDSs and PDSEs, spooled input stream ("sysin") data sets, z/OS UNIX files, a TSO terminal (TERM=TS) and unit record (such as virtual card reader) devices. The application program uses BSAM, QSAM, or EXCP to read.