IBM SC34-7012-01 User Manual

Page 164

Advertising
background image

If you want to initiate a dump, do so in the exit code at the same program level
as the abend. If you initiate the dump at a program level higher than where the
abend occurred, you may lose valuable diagnostic information.

v

Attempt local recovery, and then continue running the program.

v

Send a message to the terminal operator if, for example, you believe that the
abend is due to bad input data.

Information that is available to a program-level exit routine or program includes
the following:

Command

Information provided

ADDRESS TWA

The address of the TWA

ASSIGN ABCODE

The current CICS abend code

ASSIGN ABPROGRAM

The name of the failing program for the latest abend

ASSIGN ASRAINTRPT

The instruction length code (ILC) and program interrupt
code (PIC) data for the latest ASRA or ASRB abend.

ASSIGN ASRAKEY

The execution key at the time of the last ASRA, ASRB,
AICA, or AEYD abend, if any

ASSIGN ASRAPSW

The PSW for the latest ASRA or ASRB abend

ASSIGN ASRAREGS

The general-purpose registers for the latest ASRA or ASRB
abend

ASSIGN ASRASPC

The type of space in control at the time of the last ASRA,
ASRB, AICA, or AEYD abend, if any

ASSIGN ASRASTG

The type of storage being addressed at the time of the last
ASRA or AEYD abend, if any

ASSIGN ORGABCODE

Original abend code in cases of repeated abends

If an abend occurs during the invocation of a CICS service, issuing a further
request for the same service might cause unpredictable results because the
reinitialization of pointers and work areas and the freeing of storage areas in the
exit routine might not have been completed. In addition, ASPx abends, which are
task abends while in syncpoint processing, cannot be handled by an application
program.

For transactions that are to be dynamically backed out if an abend occurs, beware
of writing exit code that ends with a RETURN command. This would indicate to
CICS that the transaction had ended normally and would therefore prevent
dynamic transaction backout and automatic transaction restart where applicable.

Exit programs can be coded in any supported language, but exit routines must be
in the same language as the program of which they are a part.

See CICS Messages and Codes for the transaction abend codes for abnormal
terminations that CICS initiates, their meanings, and the recommended actions.

Programming information relating to the coding of program-level exit code (such
as addressability and use of registers) is in the CICS Application Programming Guide.
For background information, see the CICS Application Programming Guide.

152

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

Advertising