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


Processing Tapes with Nonstandard Labels

z/OS DFSMS Installation Exits
SC23-6850-01

Your appropriate nonstandard label processing routine is called when a data set is opened or closed or when an EOV or end-of-data-set condition occurs. When your routine is finished, it must return to data management's open, close, EOV, or restart routine, which then continues its normal processing. For input, the EOV routine handles both EOV and end-of-data-set conditions. For output, the EOV routine handles the EOV condition, and the close routine handles the end-of-data-set condition.

Your routines must provide for reading labels, processing labels, writing labels, writing tapemarks, identifying volumes, and positioning volumes. Your nonstandard label processing routines are responsible for setting the UCB file sequence (UCBFSEQ) and UCB file count (UCBFSCT) fields based upon the user's processing. The control program assumes that a tape with nonstandard labels is properly positioned upon completion of a nonstandard label processing routine.

If you want the control program to maintain a block count, your header label routines that receive control from open or EOV must properly initialize the block count field of the DCB. Set DCBBLKCT to zero unless the data set is being extended when the OPEN option is EXTEND or OUTINX or when the OPEN option is OUTPUT or OUTIN and DISP=MOD is coded on the DD statement. If the data set is being extended, then set DCBBLKCT to the number of blocks currently in the file on the volume. On output, your trailer label routine can save the DCBBLKCT value in the label. On input, your trailer label routine can compare the DCBBLKCT with the block count in the label. To compare when using BSAM or QSAM without chained scheduling, your routines must adjust DCBBLKCT. If the access method is BSAM or QSAM and bit DCBCNCHS is off, then DCBIOBA points to an area containing a signed halfword to subtract from DCBBLKCT. The halfword is at offset +36 in the area.

When processing is completed, the control program handles volume disposition in accordance with the parameters of the DD statement. Your nonstandard label processing routines are responsible for any positioning specified by the OPEN or CLOSE macro instructions. To process a data set more than once in a job, or to handle multiple data set volumes, your routines must control the positioning. If your handle volume disposition in your nonstandard label processing routines, you must issue volume disposition messages to the console operator. Data management checks to see if your routine has handled disposition, and it bypasses disposition and message handling if volume disposition is verified. Be extremely careful when verifying a tape under one processing technique and then accessing the tape under a second (for example, changing from NSL to NL with a verified tape).

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014