IBM SC34-6814-04 Server User Manual


 
XPI calls
All can be used.
Exit XPCTA
XPCTA is invoked immediately after a transaction abend, and before any
processing that might modify the existing environment so that the task could not be
resumed. You can use it to:
v Set a resume address, instead of letting CICS process the abend
v Specify the subspace that control is passed in.
If a resume address is passed back, registers 0 through 13 and 15 are restored to
their values at the time of the abend. Register 14 is used to branch to the resume
address. If the exit sets a return code of zero, or a resume address of zero, CICS
processes the abend.
Note: If the transaction abend occurs as a result of a program check or an
operating system abend:
1. It is possible that the XDUREQ dump domain exit may be invoked before
XPCTA. (For details of XDUREQ, see page “Exit XDUREQ” on page 53.)
2. If a resume address is passed back, registers 0 through 15 are restored
to their value at the time of the abend. The PSW is used to branch to the
resume address.
A resume address, normally obtained from the return code UERCMEA from XPCTA,
is ignored for C and C++ programs compiled with the XPLINK option.
When invoked
After an abend and before the environment is modified.
Exit-specific parameters
UEPPCDS
Address of a storage area that contains program- and
terminal-related information, and that can be mapped using the
DSECT DFHPCUE. When XPCTA is invoked, the following
DFHPCUE fields are significant:
PCUE_CONTROL_BITS
1-byte flag field. A setting of PCUECBTE indicates that the
transaction is linked to a terminal.
A flag, PCUE_NO_RESUME, in PCUE_CONTROL_BITS
indicates that a resume address is not supported. When
set, any return code of UERCMEA from XPCTA is ignored.
This flag is set by CICS before invoking XPCTA for C and
C++ programs compiled with the XPLINK option.
PCUE_TASK_NUMBER
3-character packed decimal field containing the task
number.
PCUE_TRANSACTION_ID
4-character field containing the transaction ID.
PCUE_TERMINAL_ID
4-character field containing the terminal ID (if any).
PCUE_PROGRAM_NAME
8-character field containing the name of the failing program.
190 Customization Guide