Data Set Organization of Generation Data Sets

Generation data sets (GDSs) can be sequential, direct, or partitioned data sets. If you use PDSs or PDSEs as generation data sets and you want to reference a member, you must reference the member using absolute data set names rather than relative names. This is because MVS JCL does not support specifying both a relative name and a member name. To access a member of a generation data set that is a PDS or PDSE using JCL, you must use an absolute generation name.

Example: When referencing a generation data set using JCL, it is common to use relative naming, as in A.B.C(0), A.B.C(+1), or A.B.C(-1). If you want to access a member of a PDS or PDSE, you cannot use relative naming because there is no way to specify the member name in JCL. You can refer to a specific member of a PDS or PDSE that is a generation data set by using absolute names such as A.B.C.G0005V00(MEMBER), but JCL does not allow specifying A,B.C(+5)(MEMBER).

Restriction:
  • Generation data sets cannot be VSAM data sets.
  • Note that only z/OS systems at the V2R1 level or higher support GDSs that are PDSEs:
    • If you run a mixed sysplex and define a GDS PDSE on a system at the z/OS V2R1 level, but issue an access method service LISTCAT command on a system at a lower level, the command output will display STATUS---UNKNOWN for deferred and rolled-off GDS PDSEs. In this case LISCAT command output will not display the DSNTYPE line for that PDSE. For an active GDS PDSE, the LISTCAT command output on a z/OS system below the V2R1 level displays STATUS--ACTIVE and no DSNTYPE.
    • If you roll-off an active GDS PDSE data set from a z/OS system at the V1R13 level or lower, the GDS PDSE becomes a rolled-off simple GDS. If you roll-in back the GDS from a z/OS system at the V2R1 level or lower, it becomes an active GDS (not an active GDS PDSE).
    In both these cases, the data set can still be used as a PDSE, (it can be loaded with members) because the PDSE indicator for the data set remains set.