A PDSE is a Partitioned Data Set Extended. It consists of a directory 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. The directory can expand automatically as needed, up to the addressing limit of 524,286 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 don’t have to compress a Partitioned Data Set Extended to remove wasted space. Each member of a Partitioned Data Set Extended can have up to 15,728,639 records.
Allocating a PDSE
Batch Allocation
The DSNTYPE JCL Keyword specifies that a data set should be a PDSE or PDS. If DSNTYPE=LIBRARY is specified, the data set is a PDSE. If DSNTYPE=PDS is specified, the data set is a PDS
//RQRIJOJB JOB (RQRIJOJ,SAMPLE),’RIJO JOSEPH’,
// CLASS=A,MSGCLASS=Z,REGION=0M,NOTIFY=&SYSUID
//*
//STEP1 EXEC PGM=IEFBR14
//*********************************************************
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=XXXX.JCLTEST.RIJO.PDSE,
// DISP=(NEW,CATLG,DELETE),
// DSNTYPE=LIBRARY,
// UNIT=TESTDA,
// SPACE=(CYL,(10,10,10)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//
When directory blocks are not specified, DSORG=PO must be included to identify the data set as partitioned
//SYSIN DD DSN=XXXX.JCLTEST.RIJO.PDSE2,
// DISP=(NEW,CATLG,DELETE),
// DSNTYPE=LIBRARY,
// DSORG=PO,
// UNIT=TESTDA,
// SPACE=(CYL,(10,10)),
TSO/E Allocation
When allocating a PDSE with the TSO/E ALLOCATE command, you can specify DSNTYPE to identify the data set as PDSE or PDS. If a data set exists with the DCB attributes that you need, you can use the LIKE parameter to copy the attributes to the new PDSE
ALLOC DS(‘XXXX.JCLTEST.RIJO.PDSE2’)
LIKE(‘XXXX.JCLTEST.RIJO.PDSE’)
The example below shows an example of allocating a PDSE using the LIKE parameter to copy the attributes of an existing PDS. Adding the DSNTYPE(LIBRARY) parameter to the allocation makes the data set PDSE.
ALLOC DS(‘XXXX.JCLTEST.RIJO.PDSE3’)
LIKE(XXXX.JCLTEST.RIJO.PDSE’)
DSNTYPE(LIBRARY)
ISPF Allocation
We can use the 3.2 option
Data Set Name . . . : XXXX.JCLTEST.RIJO.PDSE6
Management class . . . MCTSL (Blank for default management
class)
Storage class . . . . SCSMS (Blank for default storage class)
Volume serial . . . . TSLB90 (Blank for system default volume)
**
Device type . . . . . (Generic unit or device address)
**
Data class . . . . . . DCPOTSL (Blank for default data class)
Space units . . . . . TRACK (BLKS, TRKS, CYLS, KB, MB, BYTES
or RECORDS)
Average record unit (M, K, or U)
Primary quantity . . 1 (In above units)
Secondary quantity 1 (In above units)
Directory blocks . . 0 (Zero for sequential data set) *
Record format . . . . FB
Record length . . . . 80
Block size . . . . . 800
Data set name type : LIBRARY (LIBRARY, HFS, PDS, or blank) *
(YY/MM/DD, YYYY/MM/DD
The Data set name type field specifies whether the new data set is to be a PDSE or PDS. Specify the Data set name type field to be LIBRARY to define a PDSE. With a PDSE allocation, the Directory blocks field is optional.