XFCNREC exit with a backout recovery setting mismatch

Use the XFCNREC global user exit if you want to continue with open processing, even though the backout recovery settings for different files associated with the same base data set are not consistent.

After an open failure has been suppressed, CICS® can no longer guarantee integrity for the data set and marks it accordingly. If you use the EXEC CICS INQUIRE DSNAME or CEMT INQUIRE DSNAME RECOVSTATUS commands after an open failure has been suppressed, a response of NOTRECOVABLE is returned. Logging continues for the data set for requests. Logging uses only files that have BACKOUT defined.

The mismatched state of the data set continues until an EXEC CICS or CEMT SET DSNAME REMOVE command is issued, or until an initial or cold start of CICS, if the associated data set is not in a backout failed state.

At the point when the mismatch is accepted, CICS issues a message to warn that integrity can no longer be guaranteed. The order in which files are opened for the same base data set determines the content of the message that is received.

If the base cluster block is set as unrecoverable and a mismatch has occurred, access is granted to the data set with an unrecoverable file, before the data set is fully recovered.

Three parameters are passed to the XFCNREC exit to provide a means of selecting which mismatches to accept and which to reject. These parameters are the address of the file name, the address of the base data set name, and the address of a byte containing the file backout indicator. Because the exit is driven only if there is a mismatch, the data set backout indicator can be derived from the setting for the file.

Note: If XFCNREC is used to suppress an open failure due to a mismatch, the global user exit XFCSREQC passes the base data set backout setting as the exit parameter UEFBCRV, and not the file backout setting, which might be different.