Job step setup

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 record
Variable 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 record
Parameter 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 fields
Parameter 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.