z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF

PDSE version

z/OS DFSMS Using Data Sets

Start of change

Beginning with z/OS Version 2, z/OS supports two formats of PDSEs: version 1 and version 2. Version 2 PDSEs, introduced in z/OS Version 2, take advantage of a number of internal design changes to improve space utilization in the data set, reduce CPU processing and I/O, and provide better index searches. Start of change They also support generations for members, as described in PDSE Member Generations. End of change All PDSEs created before z/OS Version 2 are by definition version 1 PDSEs, and Version 1 remains the default for newly allocated PDSEs. To create a version 2 PDSE, specify DSNTYPE=(LIBRARY,2) on the DD statement or the equivalent on the TSO ALLOCATE command or dynamic allocation. Alternatively, the system programmer can specify the PDSE_VERSION keyword in a IGDSMSxx member of SYS1.PARMLIB. Outwardly, version 1 and 2 PDSEs appear the same; and they present no external changes to the user.

Version 2 PDSEs can only be created on z/OS Version 2 systems; they can be read and written to on previous releases of z/OS, but cannot be allocated there.

The goal of version 2 PDSEs is to provide improved PDSE performance overall. Start of change There is one situation where an application might perform better with a version 1 PDSE (this situation is not considered likely): End of changeStart of change
  1. The PDSE has a RECFM of V, VB, or U
  2. The PDSE members are large
  3. The application points to a record at the end of the member which it has not previously read.
End of change
You can do the following to specify the version for new PDSE data set allocations:
  • Code a version number after the LIBRARY parameter on the DSNTYPE keyword in a DD statement or TSO ALLOCATE command. For example, the following specifies a PDSE version level of 2:
    Coding a DSNTYPE of (LIBRARY,1) specifies that the data set will be a version 1 PDSE. You can also specify a version number of 0 or omit the number to take the default version number.
  • Use the PDSE_VERSION keyword in IGDSMSxx to specify a default version number for data sets that are allocated with a DSNTYPE value of LIBRARY. For example, the following sets a default of version 2 for new PDSE allocations:
    The following rules apply to the PDSE_VERSION keyword:
    • PDSE_VERSION(2) sets the default to LIBRARY,2
    • PDSE_VERSION(1) sets the default to LIBRARY,1
    • The default value when not specified is 1
    • The only valid values are 1 and 2.
The version specified using DSNTYPE takes precedence over the PDSE_VERSION specified in IGDSMSxx, if both are specified and have different values.
Note: PDS remains the default value for DSNTYPE even if PDSE_VERSION is specified in the IGDSMSxx member.
End of change

Go to the previous page Go to the next page

Copyright IBM Corporation 1990, 2014