RPGプログラムがエラーでアベンドしたとき、決まったように「このエラーは監視されていない」
というメッセージが出る。
それでは RPG内部では どのように監視できるのだろう。
ファイル仕様書の継続行で *PSSR という名前のサブルーチンを定義しておけば
例外エラーはすべてここへ制御が移される。
その後、再開場所を ENDSR に定義する。
0001.00 H Y/ 0002.00 F********** RPG エラーモニター ********************************** 0003.00 FFILE IF F 9999 DISK 0004.00 F KINFDS INFDS 0005.00 F KINFSR *PSSR 0006.00 F***************************************************************** 0007.00 I*( プログラム状況データ構造 ) 0008.00 IINFDSP SDS 0009.00 I 1 10 PGID 0010.00 I 81 90 PGLB 0011.00 I 43 46 CPFID 0012.00 I 91 170 CPFMSG 0013.00 C*( *PSSR からの戻り ) 0014.00 C *IN93 IFEQ *ON *PSSR 0015.00 C SETOF 93 0016.00 C GOTO CPFERR 0017.00 C END *PSSR 0018.00 C****************************************************** 0019.00 C *PSSR BEGSR 0020.00 C****************************************************** 0021.00 CSR CPFID IFNE *BLANKS 0022.00 CSR Z-ADD30 MSGSEV 0023.00 CSR SETON 93 0024.00 CSR END 0025.00 CSR ENDSR'*DETC '