Recovering an ESDS

You must specify the ESDS delete exit if you use the CICS® VR batch backout function to back out records that were added to one or more VSAM ESDSs.

You cannot physically delete a record from an ESDS, so you must update the existing record to indicate that it is marked for deletion. You insert a marked-for-deletion code in the record. This code is known to the applications that are accessing the ESDS. But, CICS VR does not know which field to amend. When CICS VR must back out a record that was added, it takes the ESDS delete exit. The exit program then returns the ESDS record, containing the marked-for-deletion code, that was required by the application.

If you must back out an ESDS that contains logged adds, you must provide an ESDS delete exit program. If you do not provide an exit program, CICS VR terminates. The ESDS delete exit is taken for every add to an ESDS that is to be backed out.

CICS VR passes information about the ESDS record, including the length of that record, to the exit program. CICS VR obtains this information from the log. The exit program can modify the VSAM data part of the log record, to add the marked-for-deletion code that is recognized by your applications, and CICS VR updates the record in the ESDS. The exit can alternatively tell CICS VR to ignore this record, or even to terminate processing.

Note: The format of the ESDS delete exit to be used with earlier versions of CICS backout processing slightly differs from the format of the ESDS delete exit to be used with CICS VR batch backout. Please see the appropriate ESDS delete exit format description based on your required CICS VR processing.
Note: You might consider using the EXCLUDE and INCLUDE commands to perform logical recovery.