CBRUXVNL is invoked during job step setup processing to provide
an opportunity to enter the tape volume into any tape library chosen.
The call to the exit is made when the first or only volume serial
number specified on the DD statement or dynamic allocation request
is not an online DASD volume and no record exists in the TCDB for
the volume, or a record exists but indicates the volume is shelf-resident.
Shelf-resident means the tape volume was ejected from the tape library
with the KEEP option, which retained the TCDB record. For new data
sets, this occurs just before calling the ACS routines; for old data
sets, this occurs when the TCDB search completes before device allocation.
Note: Refer to APAR OA11079, available at z/OS V1R4 and above,
for changes to the processing related to offline DASD volumes. With
this APAR installed, or starting with z/OS V1R8, during DISP=OLD processing,
the CBRUXVNL exit is no longer called for offline DASD volumes.
Table 1 lists the contents of the exit input when
a volume record does not exist in the TCDB.
Table 1. CBRUXVNL
input during job step setup—No TCDB volume recordVariable |
Meaning |
---|
UXNVOLSR |
Volume serial number |
UXNWHERE |
1 indicates job step setup processing |
UXNERROR |
1 indicates no TCDB record |
Table 2 lists the contents of the exit input when
a shelf-resident tape volume record exists in the TCDB.
Table 2. CBRUXVNL
input during job step setup—Existing TCDB volume recordParameter |
Meaning |
---|
UXNVOLSR |
Volume serial number |
UXNWHERE |
1 indicates job step setup processing |
UXNERROR |
2 indicates volume is shelf-resident |
UXNGROUP |
Storage group name |
UXNUSEA |
Volume use attribute |
UXNWPROT |
Write protection status |
UXNCHKPT |
Checkpoint volume indicator |
UXNLOC |
Volume location code |
UXNSHLOC |
Shelf location |
UXNOWNER |
Volume owner information |
UXNCREAT |
Volume record creation date |
UXNENTEJ |
Last entry or ejection date |
UXNMOUNT |
Last mounted date |
UXNWRITE |
Last written date |
UXNEXPIR |
Volume expiration date |
UXNTDSI |
Tape device selection information |
Table 3 lists the job information fields and possible
content when invoked for job step setup. Job information is only
passed to the exit during the job step setup CBRUXVNL invocation as
this is the critical time for the exit to determine if the volume
should be entered into a library. At device allocation and library
mount processing, it has already been determined that the volume should
reside in a tape library; therefore, job information is not passed
to the CBRUXVNL installation exit for these invocations.
Table 3. CBRUXVNL
input during job step setup—Job information fieldsParameter |
Meaning |
---|
UXNJINFO |
If on, indicates job information is provided on the job step
setup invocation. Indicator is off for device allocation and library
mount processing. If off, job information fields contain zeros. |
UXNJOBNM |
Job Name - contains zeros if not available |
UXNSTPNM |
Step Name - contains zeros if not available |
UXNPRGNM |
Program Name - contains zeros if not available |
UXNDDNM |
DD Name - contains zeros if not available. May contain blanks
if not the first data set in a concatenated data set DD statement |
UXNDSN |
Data Set Name - contains zeros if not available |
UXNUNIT |
Unit Name - contains zeros if not available |
UXNDISP |
Disposition fields (UXNDISP1, UXNDISP2, UXNDISP3) - contain
standard JCL disposition parameters (status, normal, abnormal). May
contain zeros if not available or, in some cases, may contain default
disposition settings |
UXNCATLG and UXNDEVTP |
If the UXNCATLG is on, UXNDEVTP contains the 4-byte device
type from the catalog. For old allocations, if a volser was not specified
and the dataset is cataloged, then the UXNCATLG indicator is set on
and the UXNDEVTP field contains the 4-byte device type from the catalog.
Otherwise, the UXNCATLG indicator is off and the UXNDEVTP field contains
zeros. When unit information is available (UNIT=), the UXNUNIT field
contains the passed value; otherwise, the UXNUNIT field contains zeros. |