This document describes recovery handling in the Natural IMS TM Interface.
The following topics are covered:
The Natural IMS TM Interface is protected by an ESTAEX environment which takes control in case of an abend.
If a user abend is detected, resources are cleaned up and the abend is percolated without giving control to Natural.
If a system abend is detected, Natural is informed about the abend and, depending on
the setting of the Natural profile parameter DU, Natural continues with an error message or terminates
the session.
If the support of IBM's Language Environment (LE) is enabled and the abend occurs while an LE program has control, user-written or language-specific condition handlers are honored and Natural is only informed about the abend if the condition is percolated by all LE condition handlers. In this case, the abend is handled by Natural in the following steps before the standard abend handling takes place:
the corresponding LE error message is written to SYSOUT,
an LE snap dump is written to CEEDUMP according to LE run-time
option TERMTHDACT,
LE is instructed to resume processing after the Natural CALL
statement,
a special Natural error message (NAT0950 if DU=OFF or NAT9967 if DU=ON) is
issued which indicates the LE error number.
In all cases, you can produce a dump which represents the situation at the time when
the error occurred (register contents, PSW, etc.). The dump is produced if DU=ON or DU=SNAP or if
the user abend has requested this.
A non-recoverable error is a logical error detected by the Natural IMS TM Interface which cannot be handled by Natural. These situations typically occur during startup, termination or terminal I/O. In all cases, the Natural runtime is not active and can thus not react to the error.
If a non-recoverable error is detected, the Natural IMS TM Interface issues an NII error and terminates the session. The error message is also written to the IMS TM log and to the system log. Depending on the dump option in the error message table, a snap dump is produced.
If you do not wish a message to be written to the IMS TM log, set the ERRLHDR
keyword subparameter of the NTIMSPE macro (Natural parameter module)
explicitly to null, that is, you specify ERRLHDR=,.
If it is not possible to send the error message (for example if the GU has failed), the session abends (user abend).
If a logical error is detected by the Natural IMS TM Interface which can be handled by Natural, for example an invalid destination for a report, a Natural error message is issued and Natural proceeds with its standard error handling.