Determining the functions to include in rule definitions

Functions specify the actions that you want Advanced Allocation Management to perform using the selection criteria. To determine the functions to include in your rule definitions, review the following information.

Common issues and abends

Table 1 shows common issues, the corresponding abends (if applicable), and the functions to use to avoid the issue.

Table 1. Functions based on issue and abend type
Type of issue and abend Function
During end-of-volume processing, no more space was available on the volume, the data set reached 16 extents, or the VTOC was full. (IEC030I, B37 abend.) Increase, reduce, or adjust secondary to best fit; dynamically add volumes.
A data set that was opened for output used all of the primary space and no secondary space was requested. (IEC031I, D37 abend.) Add a secondary allocation.
A data set that was opened for output used all of the space available on the current volume and no more volumes were available. (IEC032I, E37 abend.) Dynamically add volumes, reduce secondary, or adjust it to best fit.
In a DD statement, the SPACE parameter requested more tracks than were available on the requested direct access volume. (IEF257I, JOB FAILED - JCL ERROR.) Reduce primary.
Ineffective use of existing storage resources; poor planning; arbitrary use of existing JCL. Adjust secondary to best fit; release unused space.
An attempt was made to store directory information for a new member in a PDS (using the MVS STOW service) and all of the directory blocks are full. Dynamically increase the directory space within the partitioned data set.
An attempt was made to catalog a new data set, but the data set is currently cataloged on another volume. Detect the attempt to catalog the duplicate data set and perform processing to prevent the potential use of the wrong data set.
Control the initial allocation of non-SMS volumes. Use the Advanced Volume Selection keywords to select volumes from user-defined pools.
Modify data set attributes to enforce standards. Use the Enhanced Allocation Management SET_ functions.
Terminate allocation upon matching selection criteria. Use the TERM_ALLOC function after matching on various selection criteria.
Tune volume selection. Specify volume selection algorithm for initial and subsequent volume allocation.

Abend recovery functions

Table 2 shows Advanced Allocation Management abend recovery functions and their corresponding keywords.

Table 2. x37 Abend recovery functions (keyword reference)
Function Keywords
Controlled reduction of primary space to satisfy allocation. PRIM_REDUCE, PRIM_REDUCE_LIM, and PRIM_REDUCE_INC.
Dynamically add volumes at end-of-volume processing. VOL_ADD, VOL_ADD_LIM, VOL_ADD_PROMPT, VOL_ADD_SGRP, VOL_ADD_UNIT, VOL_ADD_VGRP, VOL_ADD_VSER, and VOL_ADD_MOUNT_USAGE.
Recover from secondary allocation space failures by reducing the allocation amount to a value that is consistent with the current free space on the volume. SEC_REDUCE, SEC_REDUCE_INC, and SEC_REDUCE_LIM.
Detect and dynamically recover from DIRECTORY FULL conditions. PDS_DIR_INC.

Abend prevention and avoidance functions

Table 3 shows the Advanced Allocation Management abend prevention and avoidance functions and their corresponding keywords.

Note: Using abend prevention functions can result in improved processing time because, in general, abend prevention functions incur less processing overhead.
Table 3. x37 Abend prevention and avoidance functions (keyword reference)
Function Keywords
Automatically add a secondary allocation if none is specified. SEC_ALLOC and SEC_ALLOC_AMT.
Reduce secondary allocation to the largest available free extent. SEC_BEST and SEC_BEST_LIM.
Increase the size of the secondary allocation as data set extends occur at a particular extent and at a particular volume number. SEC_INC, SEC_INC_AMT, SEC_INC_VOLNO, and SEC_INC_XTNT.
Recover unused disk space by automatically releasing allocated, unused data set space when a data set is closed. SPACE_RELEASE.
Detect the attempt to catalog a newly created data set that is already cataloged on another volume. NOTCAT2, NOTCAT2_CHECK, NOTCAT2_DYNAL, NOTCAT2_QUALIFIER, NOTCAT2_QUALIFIER _POSITION, and NOTCAT2_SUFFIX.
Initialize a newly allocated, but not opened, non-VSAM data set by performing an OPEN/CLOSE sequence on it during step termination. DATASET_INIT.

Allocate management functions

Table 4 shows Advanced Allocation Management allocate management functions and their corresponding keywords.

Table 4. Allocate management functions and corresponding keywords
Function Corresponding keywords
Advanced volume selection AVS, AVS_VGRP, AVS_UNIT, AVS_VSER, AVS_MOUNT_USAGE, AVS_ALGORITHM, and AVS_VGRP_SEARCH.
Enhanced allocation management Enhanced Allocation Management function keywords. Enhanced Allocation Management function keywords begin with the prefix "SET_".
Standards enforcement TERM_ALLOC.