RPG

210. コンパイル・メッセージのありか

コンパイルを実行してコンパイル・エラーが出力されたときに
エラー・メッセージの意味が良く理解できなくて、もう少し説明が欲しいと思ったことはないだろうか ?
コンパイル・リストに表示されるメッセージの内容だけでは、情報が不足している場合である。
そこで DSPMSGD コマンド (メッセージ記述表示 )を使ってメッセージの詳細を

  DSPMSGD RANGE(RNF7031)

としてもメッセージ ID : RNC7031 のメッセージを検索することはできない。
そこで気の利いた人であれば、これは ライブラリー : QRPG, QRPGLE または QRPGLEP の
いずれかのライブラリーの中のメッセージ・ファイルにあるのではないかと想像されると思うが、
残念ながら見つからない。
実はコンパイル・メッセージ・ファイルは

ライブラリー : QDEVTOOLS

の中に保管されているのである。
このことはコンパイル・リストにも IBM マニュアルにももちろん記述されていないので
知らないと、なかなか見つからないことになる。

ライブラリー : QDEVTOOLS の中には次のようなメッセージ・ファイルが用意されている。

メッセージ・ファイル用途
QLBLMSG COBOL コンパイラー用 LBL0001
QLNCMSG ILE-COBOL コンパイラー用 LNC0001
QRPGMSG RPG コンパイラー用 QRG0001
QRPGLEMSG ILE-RPGコンパイラー用 RNF0004

例えば、ILE-RPG コンパイラーによって送出される RNF7031 というメッセージID の詳細は

  DSPMSGD RANGE(RNF7031) MSGF(QDEVTOOLS/QRPGLEMSG)

によって参照することができる。
エラーの詳細がわかれば解決も早くなるのである。