You can either define abend exits by using RDO or by using the program autoinstall exit. If you use the autoinstall method, the program definition is not available at the time of the HANDLE ABEND. This may mean that a program functions differently the first time it is invoked. If the program is not defined at the time the HANDLE ABEND is issued, and program autoinstall is active, the security check on the name of the program is the only one which takes place. Other checks occur at the time the abend program is invoked. If the autoinstall fails, the task abends APCT and control is passed to the next higher level.
Abend exit programs can be coded in any supported language, but abend exit routines must be coded in the same language as their program.
For abend exit routines, the addressing mode and execution key are set to the addressing mode and execution key in which the HANDLE ABEND command has been issued.
Upon entry to an abend exit program, no addressability can be assumed other than that normally assumed for any application program coded in that language. There are no register values for C, C++, or PL/I languages as these languages do not support HANDLE ABEND label.
Upon entry to an abend exit routine, the register values are:
There are three means of terminating processing in an abend exit routine or program, as listed below. It is recommended that when abend routines and programs are called by CICS internal logic they should terminate with an abend because further processing is likely to cause more problems.
In the case of an abend caused by a timeout on an outstanding RECEIVE command, it is important to let the CICS abend continue, so that CICS can cancel the RECEIVE.
[[ Contents Previous Page | Next Page Index ]]