z/OS DFSMS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Label Validation Exit

z/OS DFSMS Installation Exits
SC23-6850-01

The label validation exit is entered during open or EOV if an invalid label condition is detected, and label validation has not been suppressed. Invalid conditions include unsupported characters, incorrect field alignment, unsupported values (for example, RECFM=U, block size greater than 2048 for Version 3, or a zero generation number), invalid label sequence, asymmetrical labels, invalid expiration date sequence for Version 3, and duplicate data set names for Version 3.

Input to the exit is the address of the exit parameter list containing the type of exit being run, the type and location of the error, and an address for the label in error.

Except for duplicate data set name checking, label validation occurs only at tape load point (beginning-of-volume label group) and at the requested data set position (beginning-of-data-set label group); only duplicate name checking occurs during positioning to the requested data set.

Trailer labels produced by the system are not validated during close or EOV for the old volume. Thus, an input data set read in a forward direction is processed during close/EOV even if it is followed by an invalid trailer label. If the same data set is read backward, the invalid label is detected during open or EOV for the new volume, and causes the label validation exit to be entered.

Because modifications to an existing data set can result in non-symmetrical trailer labels, these open options cause the label validation exit to be entered for Version 3:
  • Open for OUTPUT or OUTIN with DISP=MOD.
  • Open for INOUT, EXTEND, or OUTINX.
  • Open for an EXCP DCB (OUTPUT/OUTIN) that does not contain at least a 4-word device-dependent area for maintaining a block count.

If you have generalized library subroutine programs that use the INOUT option, but you are using a tape for input only, you can avoid entering the exit by coding LABEL=(,AL,,IN) on the JCL DD statement.

The label validation exit can either continue processing a volume or reject it, issuing one of the following return codes:

Return Code
Description
X'00'
Continue processing volume
X'04'
Reject volume (set by the IBM-supplied exit)

To identify the condition that is not valid, an IEC512I LBL STD message is issued to the operator. For a rejected volume, an abend code message is also issued.

Entry to the label validation exit is tracked in the UCB. This serves as an audit trail if the exit forces continuation for a condition that is not valid, but the condition causes an abend in subsequent processing. The system does not rewrite labels after return from the label validation exit. To correct a label, you must write a label validation exit. If certain errors are not corrected, they cause unpredictable results when the volume is processed by a return code of zero from the label validation exit. They are:
  • Incorrect sequencing
  • Unsupported characters
  • Incorrect field alignment
  • Some unsupported values (RECFM=U, block size greater than 2048 for Version 3, and a zero generation number are processed by the system).

If an error is corrected by a return code of zero from the label validation exit, the resulting volume might not meet the specifications of Version 3 or Version 4 standards, and therefore requires agreement between interchange parties.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014