Partitioned dataset
A dataset that works like a library or folder, holding many separately named members inside one dataset.
Also written PDS, library, source library
A partitioned dataset, almost always called a PDS, is a dataset containing a directory and a set of members. Each member has its own name of up to eight characters and behaves like a small sequential dataset in its own right.
This is how source code lives on the mainframe. A COBOL library is one PDS with a member per program. A JCL library is one PDS with a member per job. Copybooks, REXX execs, ISPF panels and site procedures are all organised the same way. When someone says "it is in the JCL library, member PAYRUN", they mean a member inside a PDS.
The structure is close to a folder containing files, with two important differences. There is only one level, since members cannot contain other members, and space is allocated to the whole dataset up front, not per member.
The classic PDS has one awkward trait: deleting or replacing a member does not release its space. The space is only recovered by a compress. PDSE, the modern replacement, fixes this.
Related terms
- MemberOne named item inside a partitioned dataset, such as a single program, job or copybook within a library.
- PDSEThe modern version of a partitioned dataset, which reclaims space automatically and removes the old size limits.
- DatasetWhat a mainframe calls a file: a named collection of records with a defined structure, rather than a loose stream of bytes.
- ISPF editorThe full-screen text editor used to write and change JCL, COBOL, REXX and anything else held in a dataset.
- Sequential datasetThe simplest kind of dataset: records stored one after another and normally read from start to finish.