Debugging and Exception Handling

  1. The DEBUG operation is not supported in RPG IV.
  2. You cannot use RPG tags, subroutine names, or points in the cycle such as *GETIN and *DETC for setting breakpoints when using the ILE source debugger.
  3. Function checks are normally left in the job log by both OPM RPG and ILE RPG. However, in ILE RPG, if you have coded an error indicator, 'E' extender, or *PSSR error routine, then the function check will not appear.

    You should remove any code that deletes function checks, since the presence of the indicator, 'E' extender, or *PSSR will prevent function checks from occurring.

  4. Call performance for LR-on will be greatly improved by having no PSDS, or a PSDS no longer than 80 bytes, since some of the information that fills the PSDS after 80 bytes is costly to obtain. If the PSDS is not coded, or is too short to contain the date and time the program started, these two values will not be available in a formatted dump. All other PSDS values will be available, no matter how long the PSDS is.
  5. The prefix for ILE RPG inquiry messages is RNQ, so if you use the default reply list, you must add RNQ entries similar to your existing RPG entries.
  6. In OPM, if a CL program calls your RPG program followed by a MONMSG, and the RPG program receives a notify or status message, the CL MONMSG will not handle the notify or status message. If you are calling ILE RPG from ILE CL and both are in the same activation group, the ILE CL MONMSG will handle the notify or status message and the RPG procedure will halt immediately without an RPG error message being issued. For more information see Problems when ILE CL Monitors for Notify and Status Messages.
  7. When displaying a variable using the ILE source debugger, you will get unreliable results if:
  8. If your RPG III program has a parameter-mismatch problem (for example, it passes a parameter of length 10 to a program that expects a parameter of length 20, and the called program changes all 20 bytes), your program will experience a storage corruption problem. This problem may not always result in an error, if the storage that is corrupted is not important to the running of the program.

    When this program is converted to RPG IV, the layout of storage may be different, so that the corrupted storage is used by the program. This can cause an unexpected exception to occur, for example exception MCH3601 on a file operation such as a SETLL. If you experience mysterious errors that seem unrelated to your application, you should check the parameters of all your call operations to ensure the parameters all have the correct length.

  9. In OPM, the formatted dump can be performed when a programmer has *USE authority to the program. In ILE, the formatted dump requires *CHANGE authority to the program or service program.


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