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


Recovery Requirements

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

For most types of recoverable errors, you should supply a recovery work area (see Figure 1) with a new volume serial number for each volume associated with an error.
Figure 1. Recovery Work Area
               Length or
   Offset     Bit Pattern        Description

   0          2                  Length of this work area.
   2          1                  Option byte.
              1... ....          Free this work area.
              .1.. ....          Volume serial numbers provided.
              ..xx xxxx          Reserved.
   3          1                  Subpool number.
   4          1                  Number of volumes that follow.
   5          n*6                New volume serial numbers (six bytes each) 

If no new volumes are supplied for such errors, recovery will be attempted with the existing volumes, but the likelihood of successful recovery is greatly reduced.

If you request recovery for system completion code 117, return code 3C, or system completion code 214, return code 0C, or system completion code 237, return code 0C, you do not need to supply new volumes or a work area. The condition that caused the abend is disagreement between the DCB block count and the calculated count from the hardware. To permit recovery, this disagreement is ignored and the value in the DCB is used.

If you request recovery for system completion code 237, return code 04, you don't need to supply new volumes or a work area. The condition that caused the abend is the disagreement between the block count in the DCB and that in the trailer label. To permit recovery, this disagreement is ignored.

If you request recovery for system completion code 717, return code 10, you don't need to supply new volumes or a work area. The abend is caused by an I/O error during updating of the DCB block count. To permit recovery, the block count is not updated. So, an abnormal termination with system completion code 237, return code 04, may result when you try to read from the tape after recovery. You may attempt recovery from the abend with system completion code 237, return code 04, as explained in the preceding paragraph.

System completion codes and their associated return codes are described in z/OS MVS System Codes.

The work area that you supply for the recovery attempt must begin on a halfword boundary and can contain the information described in Figure 1. Place a pointer to the work area in the last 3 bytes of the parameter list pointed to by register 1 and described in Figure 1.

If you acquire the storage for the work area by using the GETMAIN macro, you can request that it be freed by a FREEMAIN macro after all information has been extracted from it. Set the high-order bit of the option byte in the work area to 1 and place the number of the subpool from which the work area was requested in byte 3 of the recovery work area.

Only one recovery attempt per data set is permitted during OPEN, CLOSE, or end-of-volume processing. If a recovery attempt is unsuccessful, you can not request another recovery. The second time through the exit routine you may request only one of the other options (if allowed): Issue the abend immediately, ignore the abend, or delay the abend. If at any time you select an option that is not permitted, the abend is issued immediately.

If recovery is successful, you still receive an abend message on your listing. This message refers to the abend that would have been issued if the recovery had not been successful.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014