Unit Affinity

Data set stacking can be used in conjunction with unit affinity. In a tape environment, unit affinity is a JCL keyword (UNIT=AFF) used to minimize the number of tape drives used in a job step. The system attempts to use the same tape drive for a request that specifies UNIT=AFF for both the referenced and referencing DD statements.

Additional information is now passed in the &UNIT ACS read-only variable so that the ACS routines will know when unit affinity was requested and whether or not data set stacking was used. With the increased awareness of data set stacking, the ACS routines are invoked another time if inconsistent device categories were detected.

Table 1 shows the values to which the &UNIT read-only variable are set when UNIT=AFF is requested, as well as what each value means to the ACS routines:
Table 1. Values for &UNIT ACS Read-Only Variable
&UNIT Value ACS Invocation Data Set Stacking Indication Device Category of Data Set on Which to Stack
AFF= First Unknown Not applicable
STK=SMSD Second Yes and different device categories System-managed DASD
STK=NSMS Second Yes and different device categories Non-system-managed DASD or Non-system-managed Tape
STK=SMSD or STK=NSMS Third Yes and different device categories Non-system-managed DASD or Non-system-managed Tape
Note: ACS routines can be invoked three times in a JES3 environment.

z/OS MVS JCL User's Guide discusses data set stacking and unit affinity and provides examples.