実行時照会メッセージに対する応答

ILE RPG プロシージャーでプログラムを実行した場合には、実 行時照会メッセージが生成されることがあります。 これはメイン・プロシージャー内で機能チェックのためにデフォルト・ エラー処理プログラムが呼び出された場合に起こります。メイン・プロシージャー内の例外処理プログラムを参照してください。 プログラムを続いて実行したい場合には、照会メッセージに応答が必要です。

注:
サブプロシージャーの機能チェックのデフォルト・エラ ー処理ではサブプロシージャーが取り消され、サブプロシージャーの呼 び出し元に対して例外がパーコレートされるため、照会メッセージがサブプロシージャーに対して発行されることはありません。 『サブプロシージャー内の例外処理プログラム』を参照してください。

サブプロシージャーの呼び出し元が RPG プロシージャ ーの場合には、実際の例外に関連する状況コードには依存せずに、呼び出しは 状況 00202 で失敗します。呼び出しの失敗により RPG メイン・プロシージャーが デフォルト・ハンドラーを呼び出した場合には、照会メッセージ RNQ0202 が 発行されます。

メッセージへ自動応答するために、システム応答リストに照会メッセージを追加することができます。 これらのメッセージに対する応答は個別に、あるいは全般的に指定することができます。 照会メッセージに対するこれらの応答の方法は、バッチ・プログラムに特に適しています。 そうでない場合には、応答を出すオペレーターが必要になります。

システム応答リストに、次の ILE RPG 照会メッセージを追加することができます。

表 26. ILE RPG 照会メッセージ
RNQ0100 RNQ0101 RNQ0102 RNQ0103 RNQ0104 RNQ0112 RNQ0113 RNQ0114 RNQ0115 RNQ0120 RNQ0121 RNQ0122 RNQ0123 RNQ0202 RNQ0211 RNQ0221 RNQ0222 RNQ0231 RNQ0232 RNQ0299 RNQ0301 RNQ0302 RNQ0303 RNQ0304 RNQ0305 RNQ0306 RNQ0333 RNQ0401 RNQ0402 RNQ0411 RNQ0412 RNQ0413 RNQ0414 RNQ0415 RNQ0421 RNQ0425 RNQ0426 RNQ0431 RNQ0432 RNQ0450 RNQ0501 RNQ0502 RNQ0802 RNQ0803 RNQ0804 RNQ0805 RNQ0907 RNQ1011 RNQ1021 RNQ1022 RNQ1023 RNQ1024 RNQ1031 RNQ1041 RNQ1042 RNQ1051 RNQ1071 RNQ1201 RNQ1211 RNQ1215 RNQ1216 RNQ1217 RNQ1218 RNQ1221 RNQ1222 RNQ1231 RNQ1235 RNQ1241 RNQ1251 RNQ1255 RNQ1261 RNQ1271 RNQ1281 RNQ1282 RNQ1284 RNQ1285 RNQ1286 RNQ1287 RNQ1299 RNQ1331 RNQ9998 RNQ9999
注:
ILE RPG 照会メッセージは RNQ というメッセージ ID 接頭部を持っています。

応答リスト項目追加コマンドを使用してシステム応答リストに照会メッセージを追加するためには、 次を入力してください。

ADDRPYLE sequence-no message-id

ここで、sequence-no は 1 〜 9999 の番号で、 これはリストの中のどこで項目が加えられているかを示し、message-id は、 追加したいメッセージ番号です。 追加したい各メッセージにこのコマンドを繰り返してください。

ジョブ変更 (CHGJOB) コマンド (または他の CL ジョブ・コマンド) を使用し て、ジョブで照会メッセージの応答リストを使用することを指示します。 これを行うためには、QUERY メッセージ応答 (INQMSGRPY) 属性に *SYSRPYL を指定する必要があります。

QUERY メッセージ応答 (INQMSGRPY) 属性が INQMSGRPY(*SYSRPYL) として 指定されているジョブによって照会メッセージが送られた場合にのみ 応答リストが使用されます。INQMSGRPY パラメーターは次の CL コマンドにあります。

またシステム応答リスト項目処理 (WRKRPYLE) コマンドを使用して、 システム応答リストの項目を変更または除去することができます。ADDRPYLE コマンドおよび WRKRPYLE コマン ドについての詳細は、Web サイト http://www.ibm.com/eserver/iseries/infocenteriSeries Information Center の中の『プログラミング』カテゴリーの 『CL および API』の節を参照してください。