IBM SC34-6814-04 Server User Manual


 
PCUE_LOGICAL_LEVEL
Fullword containing the number of chained DFHRSADS
blocks (that is, logical level).
PCUE_BRANCH_ADDRESS
Fullword. You can use this field to supply a resume
address. Set the top bit to specify that the resumed task is
to run AMODE (31).
PCUE_BRANCH_EXECKEY
If storage protection is active, you can use this 1-byte field
to specify the execution key of the resumed task. The
possible values are:
PCUE_BRANCH_USER
User key
PCUE_BRANCH_CICS
CICS key.
If storage protection is active, and you do not specify a
value, the resumed task executes in User key.
If storage protection is not active, the resumed task
executes in CICS key.
UEPTACB
Address of the transaction abend control block (TACB) for the
abend. If the abend occurred because of a program check, the
information in the TACB includes:
v The program status word (PSW)
v The registers at the time of the abend
v The execution key at the time of the abend
v Details of the subspace and access registers current at the time
of the abend.
You can map the TACB using the DFHTACB TYPE=DSECT macro.
Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
UERCMEA
A resume address has been supplied.
XPI calls
All can be used.
The sample XPCTA global user exit program, DFH$PCTA
The sample program tests whether the abend was caused by the application
program trying to overwrite CICS-key storage in the CDSA or ECDSA, while running
in user key. If this was the case, the sample changes the execution key to CICS,
and retries the failing instruction.
You can use the sample program to identify, without abending, those programs that
need to be defined with EXECKEY(CICS), because they intentionally modify a
CICS-key DSA. For details of how to do this, see the prolog of DFH$PCTA.
Chapter 1. Global user exit programs 191