What is PDX?

Other Mainframe related questions which attracts you and there is no suitable Forum you find for it and related FAQs.
Post Reply
Abhishek Mehta
Registered Member
Posts: 15
Joined: Fri Dec 26, 2014 2:34 pm

What is PDX?

Post by Abhishek Mehta »

Hi,

What is PDX? Where I can learn this PDX thing can one share link to learn. Does anyone here worked on PDX tool
before? Please guide.
User avatar
Anuj Dhawan
Founder
Posts: 2816
Joined: Sun Apr 21, 2013 7:40 pm
Location: Mumbai, India
Contact:
India

Re: What is PDX?

Post by Anuj Dhawan »

A PDX is a pre-formatted, fixed-blocked BDAM data set. Like a partitioned data set (PDS), it contains a directory followed by member data blocks. The directory starts at the beginning of the data set and is defined in tracks (not blocks). The directory blocks are the same size as the data blocks. The length of the member names (4 to 32 characters) is defined during the format process. Any combination of bytes is allowed for member names, except all binary zeros or all blanks. Each directory entry can also contain up to 255 bytes of user data. Each directory entry contains a pointer (relative block number) to the first data block associated with the member. The directory entry also contains the number of records in the data member. An entry can be stored in the directory with user data and no associated data blocks. The member names in the directory are compressed.
A PDX can be shared, even during update processing. Before each member is updated, it is enqueued. The enqueued data, consisting of the job name, CPU ID, and time, is written in the directory entry following the entry’s user data. A member can be enqueued by only one job or user at a time. After the update completes, the member must be dequeued. Dequeue rewrites the directory and deletes the enqueued data. The PDX uses two levels of enqueue: The first level allows the member to be read by other users or jobs. The second level (exclusive) does not allow retrieval by other jobs or users.

A PDX does not have to be compressed as a PDS does. Free space information is stored in the directory prefix (the beginning of the first block of the directory). When a member is deleted, the associated data blocks are defined as free space. The data blocks are reusable, eliminating the need for frequent reorganization. When a member is updated or added, the data blocks are usually acquired from the free space. In some cases, the member is rewritten to its original data blocks.

To allow concurrent use of the data set, individual members are enqueued and dequeued to a particular job/CPU by saving member enqueue data in the PDX directory. To ensure integrity, the PDX is locked during directory processing. This lock is a SYSTEMS level ENQ with a QNAME of PDX and an RNAME of the data set name with a length of 44 bytes. The PDX lock is retried approximately every half second. If the lock is not successful, an error is returned to the calling program.

To move an existing PDX to a DASD device type that contains a different number of bytes per track or tracks per cylinder than the DASD device on which the PDX is located, you must use the BMC Software PDX utilities to copy the data into the new PDX. Do not use any other migration tool (for example, IEBGENER).

https://docs.bmc.com/docs/imsdbguides/3 ... 36538.html
Thanks,
Anuj

Disclaimer: My comments on this website are my own and do not represent the opinions or suggestions of any other person or business entity, in any way.
Abhishek Mehta
Registered Member
Posts: 15
Joined: Fri Dec 26, 2014 2:34 pm

Re: What is PDX?

Post by Abhishek Mehta »

Thank you so much Anuj. For some reason I could not find it out, really helpful.
Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Return to “Other Mainframe Topics, Off-Topics, FAQs.”