z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Block Count Unequal Exit

z/OS DFSMS Using Data Sets
SC23-6855-00

In an exit list you can specify the address of a routine that lets you abnormally terminate the task or continue processing when the EOV routine finds an unequal block count condition. When you are using IBM standard or ISO/ANSI standard labeled input tapes, the EOV function compares the block count in the trailer label with the block count in the DCB. The count in the trailer label reflects the number of blocks written when the data set was created. The number of blocks read when the tape is used as input is contained in the DCBBLKCT field of the DCB.

When the system reads or writes any kind of cartridge tape, it calls the block-count-unequal exit if the DCB block count does not match the block count calculated for the cartridge. The EOV and CLOSE functions perform these comparisons for cartridges, even for unlabeled tapes and for writes. The result can be a 117-3C or 237-0C ABEND, but the system calls your optional DCB ABEND exit.

The routine is entered during EOV processing. The trailer label block count is passed in register 0. You can gain access to the count field in the DCB by using the address passed in register 1 plus the proper displacement, which is shown in z/OS DFSMS Macro Instructions for Data Sets. If the block count in the DCB differs from that in the trailer label when no exit routine is provided or your exit gives return code 0, the system calls your optional DCB abend exit and possibly your installation's DCB abend exit. If these exits do not exist or they allow abnormal end, the task is abnormally terminated. The routine must terminate with a RETURN macro and a return code that indicates what action is to be taken by the operating system, as shown in Table 1.
Table 1. System response to block count exit return code
Return Code System Action
0 (X'00') The task is to be abnormally terminated with system completion code 237, return code 4.
4 (X'04') Normal processing is to be resumed.

As with other exit routines, the contents of register 14 must be saved and restored if any macros are used.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014