messages for resource recovery. They are presented explicitly because, after a
system failure, the task driving the exit is not the task that originally scheduled the
recoverable work. These additional parameters describe the original task’s
environment and are accessed directly.
The full parameter list is as follows:
Parameter 1
The address of operation byte 1, which contains the following flags:
UERTPREP
(X'80') Prepare to commit (that is, perform the first phase of a
two-phase commit).
UERTCOMM
(X'40') Commit unconditionally (perform the second phase of a
two-phase commit).
UERTBACK
(X'20') Backout.
UERTDGCS
(X'10') Unit of recovery has been lost because of an initial start of
CICS.
UERTDGNK
(X'08') Resource manager should not be in doubt about this unit of
recovery.
UERTWAIT
(X'04') Resource manager must wait for the outcome of this unit of
recovery. This value is set at phase two of a two-phase commit, if CICS
is in-doubt about the outcome of a UOW. It occurs only if the
task-related user exit is enabled with the INDOUBTWAIT option (see
“Enabling for specific invocation-types” on page 303).
UERTRSYN
(X'02') This syncpoint request was generated as the result of an EXEC
CICS RESYNC command.
UERTLAST
(X'01') There are no further units of recovery associated with this task.
Note that when this bit is not set, there may or may not be further units
of recovery. For this reason, it is not recommended that you rely on this
bit to signal end-of-task. You should instead schedule the CICS task
manager to drive you at end-of-task by setting the task manager bit in
the schedule flag word. If you do use UERTLAST to signal end-of-task,
and if at that stage you can complete your clean-up process, you can
set the task manager bit off in the schedule flag word when the
clean-up process is finished, to avoid an unnecessary invocation by the
CICS task manager.
The only valid bit combinations are those produced by combining one of
UERTPREP, UERTCOMM, UERTBACK, UERTDGCS, and UERTDGNK with
either UERTLAST or UERTRSYN, or both; or by combining UERTWAIT and
UERTLAST.
Your exit program should examine the flags set both in this byte and in
operation byte 2 (see parameter 10), to determine what action is expected of it.
Parameter 2
If not zero, the address of a 4-byte, packed-decimal field identifying the original
280 Customization Guide