Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

EXLST exits for processing labels for tape files

The following applies to all exits described here:

  • DMS places the address of an 80-b0te buffer in register 0. For input files, DMS places the contents of the user labels in this buffer. For output files, it takes the contents of the user labels from this buffer.

  • To resume program execution, the LBRET macro must be called after the processing of UVL, UHL or UTL labels; in all other cases, the EXRTN macro must be called.

  • For files with nonstandard labels, the volume and file labels are processed using BTAM macros, regardless of the access method selected for file processing.

  • For standard user labels, writing is executed automatically.

EXLST exits control the writing of user labels or nonstandard labels and can also be used to intercept any errors which occur during label checking.

OPENV   

The user program checks or writes UVL labels or nonstandard volume header labels.

LABGN

The user program checks or writes UHL labels or nonstandard file header labels.

LABEND

The user program checks or writes user/nonstandard end-of-file labels. DMS distinguishes between UTL end-of-file labels and UTL end-of-volume labels on the basis of the preceding group of system labels (EOF, EOV).

LABEOV

The user program checks or writes user/nonstandard end-of-volume labels.
EOV processing is initiated either automatically (for SAM only) or by means of an FEOV macro (for SAM and BTAM).
For BTAM processing, the user must evaluate the field ERRBYTE, which indicates “end-of-volume” and then initiate a tape swap by means of the FEOV macro (unless he/she has already initiated a tape swap).

LABERR

The LABERR routine is activated if a label error occurs during the processing of files with standard labels, e.g. if EOF/EOV labels are missing or, for input files, if the value of the block counter in the EOF/EOV label differs from that of the block counter within DMS.
The user must place an “action code” in register 0 to control further processing. The LABERR routine is terminated by means of the EXRTN macro.
If the LABERR exit is not defined, DMS issues an error message. The user can then decide whether to continue program execution or to activate a CLOSE error routine.