About this task
Such queuing can be done on a transient data queue associated with a terminal. A
special transaction, triggered when the terminal is available, can then format and
present the data.
For recovery and restart purposes:
v The transient data queue should be specified as logically recoverable.
v If the transaction that presents the data fails, dynamic transaction backout will
be called.
If the terminal at which the transaction runs is a printer, however, dynamic
transaction backout (and a restart of the transaction by whatever means) may
cause a partial duplication of output—a situation that might require special user
procedures. The best solution is to ensure that each unit of work corresponds to
a printer page or form.
Managing transaction and system failures
To help you manage transaction failures and uncontrolled shutdowns of the
system, a number of facilities are available to help you.
About this task
These facilities ensure that:
1. Files and databases remain in a coordinated and consistent state
2. Diagnostic and warning information is produced if a program fails
3. Communication between transactions is not affected by the failure
The actions taken by CICS are described under Chapter 8, “Unit of work recovery
and abend processing,” on page 73 and “Processing operating system abends and
program checks” on page 94.
Transaction failures
When a transaction fails, you can invoke CICS facilities during and after the abend
process.
These facilities include:
v CICS condition handling
v HANDLE ABEND commands, and user exit code
v The SYNCPOINT ROLLBACK command
v Dynamic transaction backout (DTB)
v Transaction restart after DTB
v The program error program (DFHPEP)
You can use these facilities individually or together. During the internal design
phase, specify which facilities to use and determine what additional (application or
systems) programming might be involved.
The RESP option on a command returns a condition ID that can be tested.
Alternatively, a HANDLE CONDITION command is used in the local context of a
transaction program to name a label where control is passed if certain conditions
occur.
Chapter 13. Programming for recovery 149