ILE RPG Programmer's Guide
Example of Unhandled Function Check
The following scenario describes the events which occur
when a function check occurs in a cycle-main procedure and
is not handled. This scenario has the following assumptions:
- There are two programs, PGM1 and PGM2, each containing a procedure,
PRC1 and PRC2 respectively.
- PRC1 calls PGM2 dynamically and PRC2 receives control.
- The CALL operation code in PRC1 does not have an error indicator
coded.
- No RPG exception handlers have been coded in PRC2.
That is, there is no error indicator, no active MONITOR group, and
no *PSSR error subroutine.
- PRC2 has a pointer address error.
When PGM1 calls PGM2, a pointer error occurs because the basing
pointer is defined as null. Consequently, MCH1306 is generated. A
function check occurs when PRC2 tries to percolate the exception past
the control boundary. Figure 136 depicts this scenario
and the events which occur.
Figure 136. Scenario for Unhandled Function Check
The following then occurs:
- Since there are no error handlers in PRC2, PRC2 cannot
handle the function check, and so it is unhandled.
- Since it is a function check, an inquiry message is issued describing
the originating condition.
- Depending on the response to the inquiry message, PRC2 may be
terminated and the exception percolated to PRC1 (response is 'C')
or processing may continue in PRC2 (response is 'G').
[ Top of Page | Previous Page | Next Page | Contents |
Index ]