MFX implements the automatic space management facility by reading the JFCB and modifying the SPACE parameter to enter a secondary allocation quantity (or accept one that was coded) and the RLSE subparameter. The JFCB is the z/OS control block that represents the DD statement.
Several MFX options may be implemented which affect the disk space management of the sort. (See the Default Options chapter of the Installation Guide.) Specific functions of these features are as follows.
-
The automatic release of excess SORTWK space can be selectively suppressed.
-
The amount of secondary space per allocation can be modified.
-
The use of RLSE can be suppressed.
-
The use of space release is suppressed for small sorts, including the incore sort, in order to minimize system overhead. For non-incore sorts, if the file size is less than 4 megabytes, space release is normally suppressed. The 4 megabyte threshold may be altered.
-
The use of space release is normally suppressed for all invoked sorts to prevent SORT CAPACITY EXCEEDED termination when MFX is invoked more than once by a single program. If the first sort involves a modest volume of data, and causes space release to make the work data sets smaller, and the second sort is larger, the second sort might not find sufficient work space. Your installation can turn on space release for invoked sorts and thus save disk space. This very rarely causes problems because (1) few programs invoke the sort more than once and (2) MFX’s automatic secondary allocation normally prevents a SORT CAPACITY EXCEEDED termination.
-
MFX can routinely DYNALLOC data sets for every run.
Other factors which may result in suppression of these features include:
-
Automatic release is suppressed for permanent data sets unless additional sort work space has been allocated.
-
Automatic release is normally suppressed by the installation for initiator-dedicated data sets.
MFX uses normal z/OS facilities to obtain secondary allocations on work data sets. Consequently, the sort, like any other program under z/OS, is restricted to sixteen extents per data set. MFX, however, will recover from system B37 ABENDS that other programs might encounter in attempting secondary allocations. If MFX determines that a particular sort work data set cannot sustain a secondary allocation because it already has sixteen extents or because there is not enough space left on the volume, it does not attempt secondary allocation on that data set. MFX further checks all other work data sets, and if none of them can sustain a secondary allocation, it must abort with SORT CAPACITY EXCEEDED.
MFX often avoids the use of one or more work data sets to minimize overall system conflict, as, for instance, between SORTIN and a work data set. It may obtain secondary allocation on some data sets while releasing on others.