AS400 RPG/CLコンパイルエラーの調べ方|スプール・ソース・ライブラリリストを見る

AS400 / IBM iのRPG/CLのコンパイルエラーでは、ソースの文法だけでなく、作成ジョブが参照したファイルやライブラリリストも確認します。この記事は、環境差や参照定義の不一致を切り分けたい保守担当者向けです。RPGで外部記述を取り込めず後続エラーが増える想定例を使い、最初に直す原因と、その結果として出たエラーを分けて再コンパイルする流れを示します。

コンパイルエラーで見る順番

確認見るもの判断
コンパイルリストスプール、エラー行、メッセージID文法か、参照先か、環境差か
ソース修正箇所、行番号、過去コメント本当に修正対象のソースか
参照ファイルDDS、外部記述、DSPFFD項目名や桁数が合っているか
ライブラリリストコンパイル時のLIBL本番と開発で違うものを見ていないか
影響範囲呼び出し元、後続処理、テスト観点コンパイル成功だけで終えてよいか

スプールの先頭だけで判断しない

コンパイルリストでは、最初に出たエラーが本当の原因とは限りません。参照ファイルが見つからない、外部記述が違う、ライブラリリストが違うと、後続に大量のエラーが出ます。まず原因になっている最初の構造的なエラーを探します。

修正後は影響調査とテストをセットにする

RPG/CLは、1本の修正が請求締め、在庫更新、出荷確定、帳票出力に連鎖することがあります。コンパイル成功後は、呼び出し元、使用ファイル、画面、帳票、夜間バッチ、戻し手順まで確認します。

変更範囲はRPG/CL影響調査チェックリスト、修正後の検証は境界値・単体テストの確認表、作業承認と退避は本番作業前の確認を参照してください。

Codexで読む時の使い方

Codexへの提供が社内ルールと契約で許可されていることを確認したうえで、ソース全体や本番情報をそのまま渡さず、匿名化したエラー行、メッセージID、該当する定義部分、確認したライブラリリストだけを渡します。AIは原因候補の整理には有効ですが、業務影響の最終確認は現場担当者が行います。

関連: AS400ライブラリリスト違いによる障害の調べ方|開発・本番・テスト環境差を見るもあわせて確認してください。

関連: AS400のフル桁入力・境界値テスト観点|RPG/CL修正後の確認表もあわせて確認してください。

RPGデバッグ・コンパイルコマンドで探す時の順番

RPGのデバッグやコンパイルエラーを確認する場合は、エラー行だけを追う前に、対象ソース、ライブラリ、コンパイル条件、参照ファイル、パラメータ、実行時ジョブログを分けて確認します。デバッグに入る前に、コンパイル時点の前提をそろえると原因を説明しやすくなります。

コンパイルエラーが止まった時の次アクション

RPG/CLのコンパイルエラーは、1件ずつ直すだけでなく、原因の説明を残すことで次回の調査時間を減らせます。エラー行、参照ファイル、変更前後の差分、ジョブログの内容を揃えておくと、保守会社への相談や若手への引き継ぎが進めやすくなります。

想定例:外部記述の読込みに失敗して、後続エラーが増える

説明用の例として、ファイル定義を取り込めず、後の計算行で項目未定義のエラーが大量に出た場合を考えます。

  1. 一覧の件数だけで判断せず、ファイル宣言付近のメッセージと二次レベルの説明を読みます。
  2. そのコンパイルを行ったジョブのライブラリリスト、参照ファイルの存在・権限・様式を確認します。自分の現在のDSPLIBLだけでは代用できません。
  3. 必要な外部記述が取り込めていなければ、その原因を先に直して検証環境で再コンパイルします。後続の各行に同じ変数定義を追加して隠しません。
  4. 新しいリストで消えたエラーと残ったエラーを分けます。文法誤りが残る場合は、その行の修正と境界値テストへ進みます。

コンパイル時のRNFと実行時のRNX/CPFは別段階です。コンパイルリストの出力条件と重大度はRPGコンパイルリストの読み方で確認できます。