Following the standards enforcement section, the next few rules provide pooling, that is, volume selection, for dataset. Both SMS and non-SMS managed datasets may be assigned to pools; however, the volume serial numbers specified in the pool definitions are used only if the dataset is non-SMS-managed, or if the volumes are in the SMS storage group assigned to an SMS-managed dataset. In addition to specifying volume selection, the pool definitions indicate what types of SRS error prevention may be performed. Once a pool has been assigned to a dataset via a SET DISKPOOL statement, the rules are not processed again for the dataset unless RULES(ALWAYS) has been specified on a DEFENV statement.
Allowx rule
The first rule in the pooling section, ALLOWX, allows only particular RACF userids to allocate to volumes in the pool called POOLX. A check is made for the volume serial number specified and for the RACF userid, and if a match is found, the pool is assigned. The pool definition contains the RESTRICT(NEW) parameter, indicating that this is a restricted pool. No other users may allocate any datasets in this pool.
Alocpool rule
The second rule, ALOCPOOL, uses the first IF statement to assign any dataset with a high-level qualifier of PROD to the production pool. This pool is defined later in the rules via a DEFPOOL statement.
The second IF statement in the ALOCPOOL rule assigns datasets with a second-level qualifier of TEST to the test pool, which is also specified by a DEFPOOL statement later in the rules. In addition, if a TEST dataset has reached 50 or more extents, then the size of the secondary space requested is doubled. This is the reason for the DEFENV INCSEC statement earlier in the rules.
Pool assignment behavior
When a dataset has been assigned to a pool via the SET &DISKPOOL= or SET &TAPEPOOL= statements, the characteristics of the pool determine how the dataset is allocated.
Xpool definition
The first pool definition is for the XPOOL. This is a restricted pool which contains only a few volumes. Any job which attempts to allocate a new dataset on volumes in this pool will fail, even if the job is otherwise uncontrolled by ACC, unless the pool is assigned via a SET &DISKPOOL statement. If the pool was not restricted (i.e., RESTRICT(NEW) was not specified), then other jobs not under ACC control could allocate datasets on volumes in the pool.
Test pool and fallback
The second pool is the test pool. If there is not enough room to allocate a dataset on a volume in the test pool, then an alternate pool, BPOOL, is used. Several types of SRS recovery (add-volume, set-secondary, and reduce-secondary) are allowed for datasets allocated to volumes in these pools.
Prod pool characteristics
The third pool is the production pool. Any volume beginning with the characters PR, X, or ZY belongs to this pool. When allocating datasets in this pool, ACC will prefer the volume with the largest percentage of free space due to the ALG(MAXSPACE) parameter. In addition to the other types of SRS recovery, primary space reduction is allowed in this pool, and SRS may add more volumes to datasets in this pool than in the other pools (20 as opposed to 15). If a duplicate-DSN situation is encountered, SRS will scratch the original dataset due to RECAT(SCRATCH).
Messages section
This section includes the user-defined messages which are issued by ACC or SRS as a result of an ISSUE WRITEMSG statement. The message text must be enclosed in quotes. The values of variables (prefixed by an ampersand) will be dynamically filled in at the time the message is issued.