Space parameter considerations

The same rules that apply during normal z/OS® and SMS processing also apply when you use Advanced Allocation Management to change an allocation variable.

For example, IDCAMS does not permit space parameters to be specified concurrently at both the cluster and data or index levels. Therefore, to set space parameters at the cluster level, add SET statements (Enhanced Allocation Management function keywords) to nullify them at the data and index levels, and vice versa.

For example, if you specify the following statements:

SET_SPACEUNITS_DATA=CYL
SET_PQTY_DATA=2
SET_SQTY_DATA=2
 
SET_SPACEUNITS_INDEX=CYL
SET_PQTY_INDEX=1
SET_SQTY_INDEX=1

also include the following SET statements:

SET_SPACEUNITS=$NULL
SET_PQTY=$NULL
SET_SQTY=$NULL
Note: To nullify space parameters for a particular level, you must set all of the variables (SET_SPACEUNITS, SET_PQTY, and SET_SQTY) to null.

Consistency rules for space parameters (batch or dynamic allocation)

Follow these consistency rules for space parameters for batch or dynamic allocation (VSAM and non-VSAM data sets):

  • If SPACEUNITS, PQTY, or SQTY are implicitly or explicitly set to be overridden by the dataclas ($DCO) then:
    • all of those parameters must be set to be overridden by the dataclas

      or

    • AVGREC and average-record-length (a subparameter of the SPACE keyword) must have originally been specified for the allocation.

    For example, if SPACE=(TRK,1000) is coded in the JCL and you specify SET_SPACEUNITS=$DCOC in the rule definitions, a consistency check failure message is issued and the SET operation is not performed. This is because a dataclas can only specify space parameters in AVGREC units and if AVGREC=M is specified in the dataclas, an invalid allocation of (average_record_length * 1000 * 1000000) would result.

    However, if SPACE=(TRK,1000) is coded in the JCL and you specify SET_SPACEUNITS=$DCOC in the rule definitions, and you also specify SET_PQTY=$DCOC and SET_SQTY=$DCOC, then space quantities that are consistent with AVGREC from the dataclas are used, resulting in a meaningful allocation.

  • If SPACEUNITS, PQTY, or SQTY are implicitly or explicitly set to be overridden by the dataclas (dataclas-override (DCO)), then AVGVALUE, PQTY, and SQTY must be defined in the dataclas, or none must be defined in the dataclas.
  • If SPACEUNITS, PQTY, or SQTY are set to $NULL, then all of those parameters must be set to $NULL.
  • If SPACEUNITS is explicitly changed to a non-$DCO ($DCOU or $DCOC), non-$NULL value, then a new corresponding PQTY value must also be specified (unless the original PQTY value was zero).
  • If SPACEUNITS is explicitly changed to a non-$DCO ($DCOU or $DCOC), non-$NULL value, then a new corresponding SQTY value must also be specified (unless the original SQTY value was zero).
  • If SPACEUNITS is implicitly or explicitly set to AVGRECU, AVGRECK, or AVGRECM, the record-size must also be specified.

Consistency rules for space parameters (VSAM DEFINEs)

Follow these consistency rules for space parameters for VSAM defines:

  • If SPACEUNITS, PQTY, or SQTY are implicitly or explicitly set to be overridden by the dataclas ($DCO), then all of those parameters must be set to be overridden by the dataclas.
  • If SPACEUNITS, PQTY, or SQTY are implicitly or explicitly set to be overridden by the dataclas (dataclas-override (DCO)), then AVGVALUE, PQTY, and SQTY must be defined in the dataclas, or none must be defined in the dataclas.
  • If SPACEUNITS, PQTY, or SQTY are set to $NULL, then all of those parameters must be set to $NULL.
  • If SPACEUNITS is explicitly changed to a non-$DCO ($DCOU or $DCOC), non-$NULL value, then a new corresponding PQTY value must also be specified (unless the original PQTY value was zero).
  • If SPACEUNITS is explicitly changed to a non-$DCO ($DCOU or $DCOC), non-$NULL value, then a new corresponding SQTY value must also be specified (unless the original SQTY value was zero).
  • If SPACEUNITS is implicitly or explicitly set to AVGRECU, AVGRECK, or AVGRECM, the average record size must also be specified.