IBM SC34-7012-01 manual User exits for transaction backout, Where you can add your own code

Models: SC34-7012-01

1 268
Download 268 pages 41.5 Kb
Page 172
Image 172
User exits for transaction backout

vIf both deadlocked resources are CICS resources (but not both VSAM resources), or one is CICS and the other DL/I, CICS abends the task whose DTIMOUT period elapses first. It is possible for both tasks to time out simultaneously. If neither task has a DTIMOUT period specified, they both remain suspended indefinitely, unless one of them is canceled by a master terminal command.

The abended task may then be backed out by dynamic transaction backout, as described in “Transaction backout” on page 74. (Under certain conditions, the transaction can be restarted automatically, as described under “Abnormal termination of a task” on page 93. Alternatively, the terminal operator may restart the abended transaction.)

For more information, see “Designing to avoid transaction deadlocks” on page 146.

User exits for transaction backout

You can include your own logic in global user exit programs that run during dynamic transaction backout and backout at emergency restart.

There are exits in the file control recovery control program, and in the user log record recovery program (which is driven at emergency restart only). Transient data and temporary storage backouts do not have any exits.

Where you can add your own code

At emergency restart, you can add your own code in post-initialization programs that you nominate in the program list table.

About this task

You might want to include functions in global user exit programs that run during an emergency restart:

vProcess file control log records containing the details of file updates that are backed out

vDeal with the backing-out of additions to data set types that do not support deletion (VSAM ESDS and BDAM), by flagging the records as logically deleted

vHandle file error conditions that arise during transaction backout

vProcess user recovery records (in the XRCINPT exit of the user log record recovery program during emergency restart)

vDeal with the case of a non-RLS batch program having overridden RLS retained locks (this should not occur very often, if at all)

You could consider using the following exits:

1.XRCINIT—invoked at the beginning and end of the user log record recovery program

2.XRCINPT—invoked whenever a user log record is read from the system log

3.XFCBFAIL—file backout failure exit

4.XFCLDEL—file logical delete exit

5.XFCBOVER—file backout non-RLS override exit

6.XFCBOUT—file backout exit

You can use any of these exits to add your own processing if you do not want the default action, but do not set the UERCPURG return code for these exits because the exit tasks cannot be purged. To use these exits at emergency restart:

160CICS TS for z/OS 4.1: Recovery and Restart Guide

Page 172
Image 172
IBM SC34-7012-01 manual User exits for transaction backout, Where you can add your own code, About this task