Control-M/Tape stacks data sets only if the following conditions are met:
Parameter DYNSTK in member CTTPARM is set to YES and Control-M/Tape is operating in Production mode or Phased mode.
Stacking can be activated when Control-M/Tape is operating in TEST mode by setting STKTEST to Y in the CTTPARM member.
A SCRATCH (meaning, nonspecific) request for a new data set is issued and the volume is accessed as Standard Label (SL).
The data set is to be cataloged after creation with the expression DISP=(NEW,CATLG). Otherwise, it is assumed that the user probably depends on the data set being first on the volume.
For non-SMS data sets, the UNIT parameter in the JCL is one of the units specified in parameter STKUNIT in member CTTPARM.
For SMS-managed data sets, YES is specified for Control-M/Tape installation parameter SMSINTR, and the SMS Storage Group type of the data set is TAPE.
There is no //NOSTACK (stacking bypass) DD statement in the JCL.
The mount request is matched by a rule that specifies the expression DO STACK=YES. The rule can match the data set name, job name, program name, and so on. The VOLSER is not a criterion in this case.
The rule specifies the expression MODE=PROD. If the rule specifies the expression MODE=TEST, Control-M/Tape does not perform stacking, even if the CTTPARM member includes the expression TESTRULE=NO.
An entry for this data set and job name exists in the Stacking Database, so that Control-M/Tape is able to estimate the size of the new data set. This value can be overridden when parameter STKDEFSZ is specified in member CTTPARM, or by a DO STKDEFSZ statement in a Control-M/Tape rule.
Note: The Stacking Database is updated as part of the New Day procedure.
Either the matching rule specifies a defined pool name or it does not specify any pool name.
An eligible volume from the same pool is found that is no more than x% full after stacking. This percentage is determined by the MEDIA statement in member CTTPARM (parameter STKPCNT).
Parameter STKMODE in member CTTPARM specifies:
S (Simple), and neither the volume nor the new data set is to be vaulted.
V (Vaulting), and the vault pattern of the volume is the same as that of the new data set.
R (Retention), and the retention of the last data set on the volume is equal to or greater than that of the new data set.
A (All), and the conditions for both Retention and Vaulting are met.
The volume is not marked as External, Out-of-Lib, or Vaulted. The data set is not EDM controlled.
The DD statement does not specify the expression VOL=REF and is not the target of this expression in another DD statement.
The value for volume-count (the fourth subparameter of JCL parameter VOLUME) is either 1, or blank (meaning, no specification).
The DD statement does not use the expression UNIT=AFF.
The file sequence number is either specified as 1, or has the default of 1.
The DD statement does not specify the expression EXPT=98000.
The volume contains data sets that are either members of the same stacking group or are compatible with the stacking group of the data set to be stacked.
Stacking is not denied by a DO STKRULE statement in a Control-M/Tape rule.
The volume does not already contain the maximum number of data sets specified in either installation parameter STKMXLBL or a DO STKMXLBL statement in a Control-M/Tape rule.
The volume sequence number does not exceed the limit defined by a DO STKMXVOL statement.
The volume’s stacking group matches the stacking group of the data set, or a stacking group is *ANY.
The data set is allocated in a DD statement in a job’s JCL. Control-M/Tape does not stack data sets that are allocated dynamically (using SVC 99).