Partitioned Data Sets (PDS) and Partitioned Data Set Extended (PDSE) are datasets that contain multiple members (individual files). Each member can be edited independently, making PDS/PDSE ideal for storing related files like source code, JCL, or programs. This tutorial covers editing existing members, creating new members, understanding member attributes, and working with partitioned datasets in ISPF.
Understanding how to work with PDS/PDSE members is essential for mainframe development, as most source code and related files are stored as members in partitioned datasets. Mastering member operations helps you efficiently manage and edit your code.
Understanding PDS and PDSE
PDS and PDSE are datasets that contain multiple members.
What is a PDS?
PDS (Partitioned Data Set):
Is a dataset that contains multiple members
Each member is like an individual file
Members have names (up to 8 characters)
Is the traditional partitioned dataset format
Widely used for source code libraries
What is a PDSE?
PDSE (Partitioned Data Set Extended):
Is an enhanced version of PDS
Offers better performance
Has automatic space management
Supports more members
Has improved recovery capabilities
Is generally preferred for new datasets
PDS vs PDSE
Key differences:
Performance: PDSE is generally faster
Space Management: PDSE manages space automatically
Capacity: PDSE supports more members
Recovery: PDSE has better recovery
Compatibility: PDS is more widely compatible
Understanding Members
Members are individual files within a partitioned dataset.
What is a Member?
A member is:
An individual file stored in a PDS or PDSE
Identified by a member name (up to 8 characters)
Edited independently of other members
Stored within the partitioned dataset structure
Like a file in a directory
Member Names
Member names:
Can be up to 8 characters long
Must follow naming conventions (alphanumeric, some special characters)
Are case-sensitive in some contexts
Must be unique within a PDS/PDSE
Are specified in parentheses when editing
Common Member Uses
Members are commonly used for:
Source code files (COBOL, JCL, Assembler, etc.)
REXX and CLIST programs
ISPF panels and skeletons
Documentation files
Configuration files
Related files grouped together
Editing Existing Members
To edit an existing member, specify the dataset and member name.
Specifying a Member
To edit a member:
Go to ISPF Editor (Option 2)
In the Edit Entry panel, enter the dataset name
Enter the member name in parentheses
Format: DATASET.NAME(MEMBERNAME)
Press Enter to open the member
Edit Entry Example
Editing a member named MEMBER1 in dataset USERID.SOURCE.COBOL:
text
1
2
Data Set Name . . . . . USERID.SOURCE.COBOL
Member Name . . . . . MEMBER1
Or in a single line format:
text
1
USERID.SOURCE.COBOL(MEMBER1)
Opening the Member
After specifying the member:
The editor opens the member
You can see and edit the member content
The status line shows the dataset and member name
You can make changes and save them
Creating New Members
Creating a new member is similar to editing, but you specify a member name that doesn't exist.
Creating a Member
To create a new member:
Go to ISPF Editor (Option 2)
Enter the dataset name
Enter a new member name (one that doesn't exist)
Press Enter
ISPF prompts to confirm creation
Confirm to create the member
The editor opens with an empty member
Creation Confirmation
When you specify a new member name:
ISPF checks if the member exists
If it doesn't exist, ISPF prompts for confirmation
You can confirm or cancel creation
After confirming, the member is created
The editor opens ready for editing
New Member Example
Creating a new member named NEWPROG:
text
1
2
Data Set Name . . . . . USERID.SOURCE.COBOL
Member Name . . . . . NEWPROG
ISPF will prompt:
text
1
Member NEWPROG not found. Create new member? (Y/N)
After confirming, the editor opens with an empty member.
Member Attributes
Members have attributes that provide information about them.
What are Member Attributes?
Member attributes include:
Member Name: The name of the member
Size: The size of the member in records or bytes
Creation Date: When the member was created
Modification Date: When the member was last modified
User ID: Who created or last modified the member
Version: Version information (for PDSE)
Other Metadata: Additional member information
Viewing Member Attributes
You can view member attributes through:
Data Set Utility (Option 3.2)
Library Utility (Option 3.1)
Member list displays
Editor status information
Member List Display
Member lists typically show:
text
1
2
3
4
Name Size Created Modified User
MEMBER1 00150 2024/01/15 2024/01/20 USER01
MEMBER2 00200 2024/01/16 2024/01/18 USER01
MEMBER3 00080 2024/01/17 2024/01/17 USER02
Working with Multiple Members
You can work with multiple members in various ways.
Switching Between Members
To switch to a different member:
Exit the current member (SAVE or CANCEL)
Open the editor again
Specify the new member name
Or use split screen to view multiple members
Using Split Screen
ISPF supports split screen editing:
You can view and edit multiple members simultaneously
Use split screen commands to open additional members
Switch between split screens
Compare or copy between members
Member Operations
Various operations can be performed on members.
Common Operations
Common member operations include:
Edit: Open member for editing
Browse: View member in read-only mode
Copy: Copy member to another location
Rename: Rename a member
Delete: Delete a member
Compare: Compare two members
Print: Print a member
Using Data Set Utility
Data Set Utility (Option 3.2) provides:
Member list display
Member operations menu
Ability to perform operations on members
Member attribute viewing
Best Practices
Following best practices helps you work effectively with members:
Use Meaningful Names: Choose clear, descriptive member names
Organize by Purpose: Group related members in the same PDS/PDSE
Save Regularly: Save your work frequently when editing members
Check Attributes: Review member attributes to understand members
Use PDSE When Possible: Prefer PDSE for new datasets when possible
Backup Important Members: Keep backups of important members
Follow Naming Conventions: Use consistent naming conventions
Document Members: Add comments or documentation to members
Common Scenarios
Here are common scenarios for working with members.
Creating a New COBOL Program
To create a new COBOL program member:
Open editor with dataset and new member name
Confirm member creation
Enter COBOL source code
Save the member
The program is now stored as a member
Editing an Existing JCL Member
To edit an existing JCL member:
Open editor with dataset and member name
Make changes to the JCL
Save changes
Member is updated with new content
Viewing Member List
To view all members in a PDS/PDSE:
Use Data Set Utility (Option 3.2)
Specify the dataset name
View the member list
See member attributes and information
Select members for operations
Explain Like I'm 5: PDS Members
Think of a PDS/PDSE like a filing cabinet with drawers:
PDS/PDSE is like a filing cabinet. It's a big container that holds lots of files, like a cabinet with many drawers!
Members are like individual files in the filing cabinet. Each file has a name (like "Report1" or "Letter2"), and you can take out one file, work on it, and put it back without affecting the other files!
Creating a Member is like adding a new file to the cabinet. You give it a name, and the cabinet makes a new empty file for you to fill with your work!
Editing a Member is like taking out a file, making changes to it, and putting it back. You can work on just that one file without touching the others!
Member Attributes are like labels on the files. They tell you when the file was created, when it was last changed, how big it is, and other information about the file!
So PDS/PDSE members are like a filing cabinet system where you can store lots of related files together, and each file (member) can be worked on independently!
Practice Exercises
Complete these exercises to reinforce your understanding of PDS/PDSE members:
Exercise 1: Viewing Members
Practice viewing members: use Data Set Utility to view member lists, examine member attributes, identify member sizes and dates, and understand how members are organized. Build familiarity with member structure.
Exercise 2: Editing Existing Members
Practice editing existing members: open existing members in the editor, make small changes, save the changes, and verify the member was updated. Learn basic member editing.
Exercise 3: Creating New Members
Practice creating new members: create new members with different names, confirm creation, add content to new members, save them, and verify they were created. Master member creation.
Exercise 4: Member Attributes
Practice understanding attributes: view member attributes in Data Set Utility, understand what each attribute means, observe how attributes change after editing, and learn to interpret member information.
Exercise 5: Member Operations
Practice member operations: use Data Set Utility to perform operations on members (browse, copy, compare), understand different operations available, and learn when to use each operation.
Test Your Knowledge
1. What is a PDS member?
A dataset type
An individual file stored within a partitioned dataset
A command
A display option
2. What is the difference between PDS and PDSE?
They are identical
PDSE is an enhanced version with better performance
PDS is newer
PDSE is obsolete
3. How do you specify a member when editing?
Only the dataset name
Dataset name and member name in parentheses
Only the member name
Member name only
4. What happens when you specify a new member name?