RPG IV Exception/Error Handling Routine

Figure 11 shows the specific steps in the RPG IV exception/error handling routine. The item numbers in the following description refer to the numbers in the figure.

 1 
Set up the file information or procedure status data structure, if specified, with status information.
 2 
If the exception/error occurred on an operation code that has an indicator specified in positions 73 and 74, the indicator is set on, and control returns to the next sequential instruction in the calculations.
 3 
If the appropriate exception/error subroutine (INFSR or *PSSR) is present in the procedure, the procedure branches to step 13; otherwise, the procedure continues with step 4.
 4 
If the Status code is 1121-1126 (see File Status Codes), control returns to the current instruction in the calculations. If not, the procedure continues with step 5.
 5 
If the exception is a function check, the procedure continues with step 6. If not, it branches to step 15.
 6 
An inquiry message is issued to the requester. For an interactive job, the message goes to the requester. For a batch job, the message goes to QSYSOPR. If QSYSOPR is not in break mode, a default response is issued.
 7 
If the user’s response is to cancel the procedure, the procedure continues with step 8. If not, the procedure continues.
 8 
If the user’s response is to cancel with a dump, the procedure continues with step 9. If not, the procedure branches to step 10.
 9 
A dump is issued.
 10 
All global files are closed and data areas are unlocked
 11 
The procedure is set so that it can be called again.
 12 
The return code is set and the function check is percolated.
 13 
Control passes to the exception/error subroutine (INFSR or *PSSR).
 14 
If a return point is specified in factor 2 of the ENDSR operation for the exception/error subroutine, the procedure goes to the specified return point. If a return point is not specified, the procedure goes to step 4. If a field name is specified in factor 2 of the ENDSR operation and the content is not one of the RPG IV-defined return points (such as *GETIN or *DETC), the procedure goes to step 6. No error is indicated, and the original error is handled as though the factor 2 entry were blank.
 15 
If no invocation handles the exception, then it is promoted to function check and the procedure branches to step 5. Otherwise, depending on the action taken by the handler, control resumes in this procedure either at step 10 or at the next machine instruction after the point at which the exception occurred.


[ Top of Page | Previous Page | Next Page | Contents | Index ]