Progress0 of 0 lessons

Editing PDSE/PDS Members

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?

  • Error occurs
  • ISPF prompts to confirm creation
  • Member is created automatically
  • Nothing happens

5. Where can you view a list of members?

  • Only in the editor
  • Using Data Set Utility or Library Utility
  • Only through commands
  • Members cannot be listed

Related Concepts