This document describes recovery handling in the Natural IMS Interface.
The following topics are covered:
The Natural IMS 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 LE370=YES
is
specified on the NIMDRIV
macro 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 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 interface issues a NII error and terminates the session. The error message is also written to the IMS 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 log, set the
ERRLHDR
parameter of the NIMPARM
macro explicitely 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 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.