GDG

A GDG (Generation Data Group) is a collection of datasets that are logically related and share a common naming structure. It's commonly used to manage multiple versions of data over time

GDGs help in organizing datasets that are created on a regular basis like daily reports, backups, or job outputs making version control simple and automated

All datasets in a GDG share a common prefix, known as the GDG base.

  • Example: MYDATA.TEST.SAMPLE.GDG is the base name

Each dataset in the group is named using the base followed by a generation and version number. Example:

  • MYDATA.TEST.SAMPLE.GDG.G0001V00

  • MYDATA.TEST.SAMPLE.GDG.G0002V00

A GDG can have up to 255 generations at one time. When the limit is reached, older generations can be automatically deleted, based on how the GDG is defined (e.g., with a limit and a scratch or no-scratch option).

GDG datasets are usually sequential (PS), but they can also be partitioned (PDS)

All generations under a GDG must have the same dataset attributes, such as record format, record length, and dataset organization.

RULES

  • All generations within a GDG must share the same attributes. This includes DCB parameters like record format and record length, ensuring consistency across the group

  • A GDG can have up to 255 generations at a time. If you reach this limit, older generations may be automatically deleted, depending on how the GDG is set up.

  • Both DSN (the name of the dataset) and UNIT (where it should be stored) are required when allocating a new generation

  • When you're creating a new generation, make sure to set the DISP parameter to (NEW, CATLG, ...) in your JCL. This tells the system to treat it as a brand-new dataset and add it to the catalog.

  • GDGs don’t support VSAM datasets

USES

  • GDGs make it easy to manage files that are created on a schedule daily, weekly, monthly, or even yearly. Each version is stored neatly under the same base name, making everything easier to track.

  • GDGs automatically handle file versions for you. This reduces manual effort and prevents mistakes in using the wrong dataset

  • You can set a limit on how many generations to keep. When that limit is reached, older versions are automatically removed. This helps manage disk space without manual cleanup

Last updated

Was this helpful?