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


Output Header Label Routines (NSLOHDRO, NSLEHDRO)

z/OS DFSMS Installation Exits
SC23-6850-01

When nonstandard labels are specified for output, the control program checks the tape to make sure that the existing first record is not a standard volume label. If the first record is 80 bytes long and contains the identifier VOL1 in the first 4 bytes, the tape is not accepted, as is. If an IBM standard label exists, it is overwritten with an IBM tapemark, if possible. If an ISO/ANSI standard label exists, the console operator must confirm that it can be destroyed. The various error conditions that can occur during verification of the first record are explained under Label Anomaly Exit (IFG019LA).

If the first record on the tape is not a standard volume label, the open or EOV routine gives control to your routine for processing output header labels. Control comes from the open routine for the first or only volume of a data set. Control comes from the EOV routine for the second and subsequent volumes of a data set. When your routine receives control, the tape has been positioned at the inter-record gap preceding the nonstandard label (the tape has been rewound). However, the tape is not rewound if the control program found that this volume has been previously verified during the job.

If your routine determines that the wrong volume is mounted, you must place a 1 in the high-order bit position of the UCBDMCT field of the UCB and return control to the control program. The control program then issues a message directing the operator to mount the correct volume. When the new volume is mounted,the control program again checks the initial label on the tape before giving control to your routine.

The volume serial number in the UCBVOLI field of the UCB and the volume serial number in the JFCB must be the same as on entry unless a request is made for a nonspecific volume. The control program recognizes a nonspecific request if the volume serial number requested in the JFCB is blank or SCRTCH. Then, UCBVOLI is set to Lxxxxx, where xxxxx is a 5-digit decimal number. The control program generates this volume serial number. It can be replaced in your NSL routine by the volume serial number present in the volume label read from the tape, or the volume serial number of the volume label written on the tape.

If NSLOHDRO or NSLEHDRO returns control to the control program for a nonspecific request and the UCBVOLI field of the UCB has been modified the control ENQ's on the volume serial number to affect volume integrity and places the volume serial number in the JFCB or JFCB extension. If some other technique is used to support nonspecific request the NSL routine must update the JFCB and ENQ on the volume serial number (system ENQ; major name; SYSZVOLS; minor name - 6-byte volume serial number; exclusive ENQ). If, after the control program's ENQ,the resourse is unavailable (either the current task previously obtained the resource or some other task holds the resource), the volume is rejected.

Your routine does not need to reposition the tape before returning control to the control program.

When tapes are first received, they should be initialized with a tapemark or other record. If a blank tape is mounted for an output data set, it is read through and removed from its reel when the control program looks for an existing standard volume label.

OPEN, EOV, and CLOSE will always turn the DEB31UCB on in the work area to signify that DXDEBUCB is a 31–bit UCB address. Although the UCB address field will be four bytes, it typically will contain a three-byte address. The modeset byte is moved from the DEBSDVM field to the DEBSDVMX field to enable 31–bit UCB addresses to be accommodated.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014