Partitioned Data Set Extended
Partitioned Data Set Extended
and zero or more members, just like a PDS. It can be created with JCL, TSO/E, and ISPF, just like a PDS,
and can be processed with the same access methods. PDSE data sets are stored only on DASD, not on
tape. The directory can expand automatically as needed, up to the addressing limit of 522,236 members.
It also has an index, which provides a fast search for member names. Space from deleted or moved
members is automatically reused for new members, so you do not have to compress a PDSE to remove
wasted space. Each member of a PDSE can have up to 15,728,639 records. A PDSE can have a maximum
of 123 extents, but it cannot extend beyond one volume. When a directory of a PDSE is in use, it is kept
in processor storage for fast access. PDSE data sets can be used in place of nearly all PDS data sets that
are used to store data. But the PDSE format is not intended as a PDS replacement. When a PDSE is used
to store load modules, it stores them in structures called program objects. PDS / PDSE: A z/OS library
containing members, such as source programs. 218 Introduction to the New Mainframe: z/OS Basics
Partitioned data set extended versus partitioned data set extended In many ways, a PDSE is similar to a
PDS. Each member name can be eight bytes long. For accessing a PDS directory or member, most PDSE
interfaces are indistinguishable from PDS interfaces. PDS and PDSE data sets are processed using the
same access methods (BSAM, QSAM, and BPAM). And, in case you were wondering, within a given PDS
or PDSE, the members must use the same access method. However, PDSE data sets have a different
internal format, which gives them increased usability. You can use a PDSE in place of a PDS to store data
or programs. In a PDS, you store programs as load modules. In a PDSE, you store programs as program
objects. If you want to store a load module in a PDSE, you must first convert it into a program object
(using the IEBCOPY utility). PDSE data sets have several features that can improve user productivity and
system performance. The main advantage of using a PDSE over a PDS is that a PDSE automatically reuses
space within the data set without the need for anyone to periodically run a utility to reorganize it. Also,
the size of a PDS directory is fixed regardless of the number of members in it, while the size of a PDSE
directory is flexible and expands to fit the members stored in it. Further, the system reclaims space
automatically whenever a member is deleted or replaced, and returns it to the pool of space available
for allocation to other members of the same PDSE. The space can be reused without having to do an
IEBCOPY compress. Other advantages of PDSE data sets are: PDSE members can be shared. This makes it
easier to maintain the integrity of the PDSE when modifying separate members of the PDSE at the same
time. Reduced directory search time. The PDSE directory, which is indexed, is searched using that index.
The PDS directory, which is organized alphabetically, is searched sequentially. The system might cache in
storage directories of frequently used PDSE data sets. Creation of multiple members at the same time.
For example, you can open two DCBs to the same PDSE and write two members at the same time. PDSE
data sets contain up to 123 extents. An extent is a continuous area of space on a DASD storage volume,
occupied by or reserved for a specific data set. Chapter 5. Working with data sets 219 When written to
DASD, logical records are extracted from the user's blocks and reblocked. When read, records in a PDSE
are reblocked into the block size specified in the DCB. The block size used for the reblocking can differ
from the original block size. 5.9.4 When a data set runs out of space As mentioned earlier, when you
allocate a data set, you reserve a certain amount of space in units of blocks, tracks, or cylinders on a
storage disk. If you use up that space, the system displays the message SYSTEM ABEND '0D37,' or
possibly B37 or E37. We have not discussed abnormal ends or abends in this text, but this problem is
something you will have to deal with if it occurs. If you are in an edit session, you will not be able to exit
the session until you resolve the problem. Among the things you can do to resolve a space shortage
abend are: If the data set is a PDS, you can compress it by performing the following steps: a. Split (PF 2)
the panel and select UTILITIES (option 3). b. Select LIBRARIES (option 1) on the Utility Selection Menu. c.
Specify the name of the data set and enter C on the option line. d. When the data set is compressed, you
should see the message COMPRESS SUCCESSFUL. e. You can then swap (PF 9) to the edit session and
save the new material. Allocate a larger data set and copy into it by performing the following steps: a.
Split (PF 2) the panel and select UTILITIES (option 3), then DATASET (option 2) from the other side of the
split. b. Specify the name of the data set that received the abend to display its characteristics. c. Allocate
another data set with more space. d. Select MOVE/COPY (option 3) on the Utility Selection Menu to
copy members from the old data set to the new larger data set. e. Browse (option 1) the new data set to
make sure everything was copied correctly. f. Swap (PF 9) back to the abending edit session, enter CC on
the top line of input and the bottom line of input, enter CREATE on the command line, and press the
Enter key. 220 Introduction to the New Mainframe: z/OS Basics g. Enter the new, larger data set name
and a member name to receive the copied information. h. You see the abending edit session again.
Enter CAN on the command line. Press the RETURN key (PF 4) key to exit the edit session. i. Select
DATASET (option 2) from the Utility Selection Menu to delete the old data set. j. Rename the new data
set to the old name. Cancel the new material entered in the edit session by entering CAN on the
command line. You should then be able to exit without abending; however, all information that was not
previously saved is lost.