Option Mask Values
Your application can indicate whether to ignore the abend condition
or immediately abend. To do this, your DCB abend exit routine must
determine what action is available for the particular abend condition
by examining the contents of the option mask byte in the parameter
list (see Figure 1). The option
mask can have one of the values listed below on input to your exit
routine. All other values are reserved for IBM use.
- X'00' indicates that CMS error processing will
occur regardless of what you specify in the parameter list upon return
to CMS. This is specified when there is a irrecoverable error such
as an out-of-storage condition.
- If this occurs during open processing, the DCB is restored to the state it was in prior to calling OPEN and control returns to the application with the DCBOFOPN bit (X'10') in DCBOFLGS set to zero.
- If this occurs during close processing, an abend 001 occurs.
- If this occurs during end of volume processing, an I/O error is returned which will invoke the application's SYNAD exit.
- X'04' indicates that the exit can choose to ignore
this error; abends will be avoided. When this value is used, no error
messages will be displayed on the screen; all errors will be transparent
to the user. Note: You cannot always ignore errors. For these cases, normal CMS error processing occurs regardless of what the exit routine puts in the option byte.
- If this occurs during open processing, CMS stops processing the DCB and restores the DCB to the state it was in prior to calling OPEN. Control is returned to the application with the DCBOFOPN bit in DCBOFLGS set to zero.
- If this occurs during close processing, processing stops and the DCB may be partially restored. If you use the DCB at this point, the results are unpredictable.
- If this occurs during end of volume processing, processing stops. The tape positioning is unpredictable. The application is free to continue processing but any further attempts to use this file (other than closing it, if the error was not an OPEN error) will receive unpredictable results.
Before your DCB abend exit returns control to CMS, your routine
places a code in the option mask field to tell CMS what action to
take.
- '0' indicates that normal CMS error processing for this error will take place.
- '4' ignores the abend error. The ignore available bit (X'04') must have been set to '1' on entry to the exit to use this return option.
- Any other option mask value is treated as a '0' and normal CMS error processing will take place.
For more information on the DCB abend exit, see the DFSMS Macro Instruction for Data Sets.