IMS abends
User abends and system abends are discussed.
In general, abend dumps have two causes:
- An abend issued by an IMS module (user abend)
- A program check within an IMS module (system abend)
All IMS abends are issued with the dump option.
User abends
There are two methods by which an IMS module can issue an abend when an error condition is detected.
- The first method is the standard ABEND macro issued by the code at the point of error detection. With this method, the PSW, at entry to the abend, points at the code within the module that both detected the error and issued the abend.
- With the second method, the module that detects the error does not issue the abend, but instead passes the error indication back to the program request handler, which then issues a real abend. The PSW, at entry to the abend, now points to the program request handler rather than to the module that detected the error. The pseudoabend method is used by DL/I modules that abend an application program in a dependent region but do not abend the IMS control region in a DB/DC environment.
When the DL/I test program is used as the application program, the pseudoabend is passed back to the test program rather than to the program request handler. This allows the test program to request a formatted SNAP rather than only an abend dump.