Defining attributes for non-SMS-managed generation data sets

Beginning in z/OS® 1.6, it is no longer a requirement that a model data set label must exist to create a generation data set. It is now sufficient simply to supply DCB attributes in the same manner as is done for non-GDG data sets.

DCB attributes can be supplied in one of the following ways:
  1. Create a model data set label on the volume on which the index resides (the volume containing the GDG base)
  2. Refer to a cataloged data set to use its attributes
  3. Specify LIKE= or REFDD= to use attributes from another DD statement or specify DATACLAS to use attributes specified for the data class
  4. Specify DCB attributes on the DD statement or on the DCB in the program that creates the data set.
Attributes can be supplied before you catalog a generation, when you catalog it, or at both times, as follows:
  1. Create a model data set label on the volume on which your index resides. You can provide initial DCB attributes when you create your model; however, you need not provide any attributes at this time. Because only the attributes in the data set label are used, the model data set can be allocated with SPACE=(TRK,0) to conserve direct access space. Initial or overriding attributes can be supplied when you create and catalog a generation.
    To create a model data set label, include the following DD statement in the job step that builds the index or in any other job step that precedes the step in which you create and catalog your generation.
       //name  DD  DSNAME=datagrpname,DISP=(,KEEP),SPACE=(TRK,0),
       //          UNIT=yyyy,VOLUME=SER=xxxxxx,
       //          DCB=(applicable subparameters)  

    The DSNAME is the common name by which each generation is identified; therefore, the model data set label cannot be cataloged. The GDG base is an entity that resides in the catalog. xxxxxx is the serial number of the volume containing the catalog where the GDG base resides. The applicable DCB subparameters for a model data set label are DSORG, OPTCD, BLKSIZE, LRECL, KEYLEN, and RKP. If no DCB subparameters are wanted initially, you need not code the DCB parameter.

  2. You do not need to create a model data set label if any of the following is true:
    1. You can refer to a cataloged data set with attributes identical to those you want or to an existing model data set label for which you can supply overriding attributes.
    2. The DCB attributes are supplied by the specified or selected data class.
    3. The DCB attributes are specified on the DD statement or on the DCB in the program that creates the data set.

    To refer to a cataloged data set for the use of its attributes, specify DCB=dsname on the DD statement that creates and catalogs your generation.

    To refer to an existing model, specify DCB=(modeldscbname,attributes) on the DD statement that creates and catalogs your generation. With SMS, specify LIKE=modeldsname or REFDD=*.ddname, *.stepname.ddname, or *.stepname.procstepname.ddname to refer to an earlier DD statement that identifies the model data set name. For more information, see Modeling data set attributes.

    To specify a data class, code DATACLAS=dataclass on the DD statement (although system ACS routines might override the value you code) or use the system default. For more information about data class, see Specifying constructs.