z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


PDSE Member Generations

z/OS DFSMS Using Data Sets
SC23-6855-00

Start of change

Version 2 PDSEs support multiple levels, or generations, of members. This allows you to reverse or access recent changes to a member. It also allows you to retain multiple generations of a member for archival reasons. Member generations is similar to generations for data sets, which is described in Processing Generation Data Groups.

Users can control member generation with these DD keywords in JCL:
  • MAXGENS, which sets the number of generations for members in the data set. A value greater than 0 causes generations of a member to be created.
  • REFDD, which specifies attributes for a new data set by copying attributes of a data set defined on an earlier DD statement in the same job. If MAXGENS is specified on the referenced DD statement it is copied to the new data set.
For more information about the JCL keywords, refer to DD statement in z/OS MVS JCL Reference.

System programmers can set the upper limit for MAXGENS with MAXGENS_LIMIT in the IGDSMSxx member of PARMLIB. For more information about PARMLIB, refer to IGDSMSxx in z/OS MVS Initialization and Tuning Reference.

Programs can use macros to exploit member generations.
  • To read a generation, use the FIND macro with the G option to connect to an old generation of a member, then the READ and CHECK macros to read it.
  • To replace, delete or recover a generation, use the STOW macro with the RG, DG or RECOVERG option.
  • To retrieve directory information for a PDSE with member generations, use the GET_G and GET_ALL_G functions of the DESERV macro.
For more information, refer to in z/OS DFSMS Macro Instructions for Data Sets.

The member rename function retains generations. Old generations are retained under the original names. Any new generations are retained under the new names. If you create a member which has the same name as a series of previously created generations, the new member is associated with the existing generations.

When a specific generation, or the current generation, is deleted, the other generations remain. Deleting a specific generation can create a gap between two generation numbers. You can fill in this gap by replacing one or more generations.

A generation is retained until enough newer generations have been created to cause it to be deleted, based on the number of generations defined with MAXGENS.

End of change

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014