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)

によって参照することができる。

エラーの詳細がわかれば解決も早くなるのである。