Hi Gokul - A Partitioned Dataset is a special form of a Sequential Data-set. Every PDS has a directory(just like Yellow-Pages), to keep track of how its allocated disk space, or
data space, has been divided into parts. Each part(slice) is called a member.
Say for example, you have a PDS with 5 Members, on the disk -
Assuming 8 Blocks/Track,
TRK,BLK 1 2 3 4 5 6 7 8
...... .... .... .... .... .... .... .... ....
0 A A A A B B B B
1 B B C C C D D D
2 D D D E E E E E
3 E E E E E E E E
The PDS directory will contain a list of all the PDS Member-names, and a disk-pointer. The minimum directory block room, you need for each member is 12 Bytes. It has the 8-Byte member-name and a 4-byte binary value called the TTRC(Relative Track Number). The TTRC indicates the relative Track Number and the block where the member starts.
The PDS Directory containing the member-names and pointers
8-byte 4-Byte
Member TTRC
<----+----+->
A 0,1
B 0,5
C 1,3
D 1,6
E 2,4
zOS also allows applications like TSO to store "user-data" in PDS Directory entries for each member via Assembler Macros. If you retain the ISPF statistics about each member, as TSO/ISPF normally does, each member takes 42 bytes of directory block space. The last 12 bytes of a directory is specially meant for End-Of-Directory Member.
When you allocate a partitioned data set, you reserve/set-aside space for it on the disk. You generally do this with the TSO/ISPF Function 3.2. At that time, you decide how big its directory will be. 1 Directory block is 256 bytes large. This implies, if you reserve 1 block for the PDS Directory(256 Bytes), with each member occupying 42 bytes of directory block space, the directory would be able to store information about (256 - Last 12 bytes)/42 = 5 Members.
Therefore, a rule of thumb in creating a PDS is to estimate
how many members you will want to house in the PDS, and divide it by five to calculate the number of directory blocks.Its quite possible for a partitioned-data set to have member storage space available, but no ability to house more members, as its directory is filled up. You'll get a system completion code SB14-0C.
Thanks,
Quasar