Concatenation
Joining several datasets under one DD name, so a program reads them one after another as if they were one.
Also written dataset concatenation, concatenated datasets, concatenated libraries, search order
Concatenation means putting several datasets under one DD name. In JCL, the first DD statement has the name, and the following DD statements have no name at all. The program opens one DD name and reads the datasets in order, as if they were one long dataset.
For sequential data, this is how you feed several input files into one run, such as this month's and last month's transactions. The datasets need compatible attributes, such as the same record format.
For libraries, concatenation sets a search order. When a member is needed, z/OS looks in the first library, then the second, and so on, and uses the first copy it finds. That is how STEPLIB lists a test library before a production one, and how SYSLIB for a compile lists your own copybook library before the shared one.
The search order is a common source of surprises. If an old copy of a member sits in an earlier library, it is the one used, and a newer copy further down the list is ignored. Concatenation only applies to input; output cannot be written to a concatenation.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- DD statementThe JCL statement that connects a name inside a program to a real dataset outside it.
- STEPLIBA DD statement that tells z/OS which libraries to search first for the program a job step runs.
- Partitioned datasetA dataset that works like a library or folder, holding many separately named members inside one dataset.
- CopybookA shared block of COBOL declarations kept in a library and included into programs, so a record layout is defined once.
- JCLJob Control Language: the language used to tell the mainframe what programs to run, in what order, and with what files.
- CLISTThe older scripting language of TSO, used before REXX to run a list of commands with simple logic.