Use Access Method Services to Define a GDG and JCL to Define a GDS in that GDG - SMS case: Example 2
In this example, a GDG is defined with access method services commands
and then JCL is used to define a GDS into the newly defined GDG. It
is assumed that the storage administrator has created a storage class
named GRPVOL1 and a data class named ALLOCL01.
//DEFGDG JOB ...
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE GENERATIONDATAGROUP -
(NAME(ICFUCAT1.GDG02) -
EMPTY -
NOSCRATCH -
LIMIT(255))
/*
//DEFGDS JOB ...
//STEP1 EXEC PGM=IEFBR14
//GDSDD1 DD DSN=ICFUCAT1.GDG02(+1),DISP=(NEW,CATLG),
// SPACE=(TRK,(5,2)),STORCLAS=GRPVOL1,DATACLAS=ALLOC01
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
/*
Restriction: Because the GDG is created in SMS-managed storage and its catalog, ICFUCAT1, is on an SMS volume, any dependencies on pattern DSCBs should be removed.
The
DEFINE GENERATIONDATAGROUP command defines a GDG base catalog entry,
ICFUCAT1.GDG02. A description of the parameters follows:
- NAME specifies the name of the GDG, ICFUCAT1.GDG02.
- EMPTY specifies that all data sets in the group are to be uncataloged by VSAM when the group reaches the maximum number of data sets (as specified by the LIMIT parameter) and one more GDS is added to the group.
- NOSCRATCH specifies that when a data set is uncataloged, its DSCB is not to be removed from its volume's VTOC. Therefore, even if a data set is uncataloged, its records can be accessed when it is allocated to a job step with the appropriate JCL DD statement.
- LIMIT, a required parameter, specifies that the maximum number of GDGs in the group is 255.
The second job, DEFGDS, allocates space and catalogs a GDS into the newly-defined GDG, ICFUCAT1.GDG02. The job control statement GDSDD1 DD specifies that an SMS GDS, ICFUCAT1.GDG02(+1), is allocated by the scheduler with a storage class GRPVOL1,