I defined a disk dataset some time ago with 50 generations, but now the end user is asking to hold 150 generations of this dataset. How can I achieve that?

Document ID : KB000052207
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

The customer can use the GDGLONG option to have more than 98 generations of a disk dataset, but the parameter GDGLONG can only be used when no active version already exist. As there are active versions for now, he will have to save the current versions and redefine the dataset.

Solution:

As it is not possible to change the GDGLONG parameter when there are active versions, the following process need to be used:

  1. Using DYNPRINT you should save (print) the creation date, creation jobs, the PED, etc. of the existing versions.

  2. Using DYNCOPY you should copy the existing versions to a temporary dataset that is defined with enough versions to hold the existing versions. (You need to first copy the oldest version terminating by the most current one)

  3. Using DYNCAT you should delete the dataset name from the DYNAM catalog with the PURGE option to get the entries removed from the VTOC.

  4. Using DYNCAT you should redefine the dataset with the right number of versions, but defined with GDGLONG=YES.

  5. Using DYNCOPY you should copy the existing version of the test temporary dataset to the new dataset. (You need to first copy the oldest version terminating by the most current one)

  6. Using DYNCAT you should give back creation date, creation job, the PED... to versions of the new dataset. This is done by using the list created in step 1.

Now your dataset is correctly defined and you don't need to change any JCL.