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


PDSE and PDS Differences

z/OS DFSMS Using Data Sets
SC23-6855-00

Table 1 shows the significant differences between PDSEs and PDSs:

Table 1. PDSE and PDS differences
PDSE Characteristics PDS Characteristics
Data set has a 123-extent limit. Data set has a 16-extent limit.
Directory is expandable and indexed by member name; faster to search directory. Fixed size directory is searched sequentially.
PDSEs are device independent: records are reblockable and the TTR is simulated as a system key. For PDSs, TTR addressing and block sizes are device dependent.
Uses dynamic space allocation and automatically reclaims space.

Using IEBCOPY or DFSMSdss COPY to copy all members of a PDSE creates a larger index than copying members one at a time.

Recommendation: Allocate a PDSE with secondary space to permit the dynamic variation in the size of the PDSE index.

Must use IEBCOPY compress to reclaim space.
You can create multiple members at the same time. You can create one member at a time.
PDSEs contain either program objects or data members but not both. z/OS MVS Program Management: User's Guide and Reference describes the advantage of program objects over load modules. Whereas PDSs contain data members or load modules but there is no attempt to keep data members and load modules from being created in the same PDS.
Replacing a member without replacing all of its aliases causes the alias entries to be deleted. Replacing a member without replacing all of its aliases causes the alias entries to be abandoned. They are "orphans" and eventually might point to the wrong member.
Alias names for program objects, in a PDSE, can be up to 1024 bytes long. To access these names, you must use the DESERV interfaces. Primary names for program objects are restricted to 8 bytes. All names for PDS members must be 8 bytes long.
Start of change Support generations for members, with version 2 PDSEs. End of change Start of change Do not support generations for members. End of change
Start of change An S002-89 abend occurs when attempting to read a member of a PDSE that is RACF EXECUTE protected. This is not allowed even if the user is in supervisor state. End of change Start of change An S016-08 abend occurs when attempting to read a member of a PDS that is RACF EXECUTE protected but the user is not in supervisor state. End of change
Start of change The "fast data access" function of the program management binder should be used to read a program object from a PDSE. This will convert the program object to a documented format. End of change Start of change BPAM, BSAM, or QSAM may be used to read a load module from a PDS. End of change

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014