IBM AS/400 Frozen Dessert Maker User Manual


 
Using a Program Error Subroutine
To handle a program error or exception you can write a program error subroutine
(*PSSR). When a program error occurs:
1. The program status data structure is updated.
2. If an indicator is
not
specified in positions 73 and 74 for the operation code, the
error is handled and control is transferred to the *PSSR.
You can explicitly transfer control to a program error subroutine after a file error
by specifying *PSSR after the keyword INFSR on the File Description specifica-
tions.
You can code a *PSSR for any (or all) procedures in the module. Each *PSSR is
local to the procedure in which it is coded.
To add a *PSSR error subroutine to your program, you do the following steps:
1. Optionally identify the program status data structure (PSDS) by specifying an S
in position 23 of the definition specification.
2. Enter a BEGSR operation with a Factor 1 entry of *PSSR.
3. Identify a return point, if any, and code it on the ENDSR operation in the sub-
routine. For subprocedures, factor 2 must be blank. For a discussion of the
valid entries for Factor 2, see “Specifying a Return Point in the ENDSR
Operation” on page 237.
4. Code the rest of the program error subroutine. Any of the ILE RPG compiler
operations can be used in the program error subroutine. The ENDSR operation
must be the last specification for the program error subroutine.
Figure 112 on page 233 shows an example of a program error subroutine in a
main procedure.
232 ILE RPG for AS/400 Programmer's Guide