IBM SC34-7012-01 Server User Manual


 
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.
Processing the IOERR condition
Any program that attempts to process an IOERR condition for a recoverable
resource must not issue a RETURN or SYNCPOINT command, but must terminate
by issuing an ABEND command. A RETURN or SYNCPOINT command causes the
recovery manager to complete the unit of work and commit changes to recoverable
resources.
152 CICS TS for z/OS 4.1: Recovery and Restart Guide