AS400 / IBM i では、開発環境では動くのに本番環境で動かない、テストでは読めたファイルが本番で読めない、コンパイルは成功したのに実行時に別のファイルを見る、という相談があります。原因の一つがライブラリリストの違いです。
環境差で見ること
| 確認 | 見るもの | 判断 |
|---|---|---|
| 実行時LIBL | ジョブのライブラリリスト | 本番で正しい順番か |
| コンパイル時LIBL | 参照したDDS、ファイル、プログラム | 開発用定義を見ていないか |
| 同名オブジェクト | ライブラリ別のファイル、プログラム | 別ライブラリのものを先に拾っていないか |
| JOBD | ジョブ記述、初期ライブラリ | 対話とバッチで差がないか |
| リリース手順 | 反映先、戻し先、確認者 | 古いオブジェクトが残っていないか |
同名オブジェクトは事故の元
AS400では、同じ名前のファイルやプログラムが複数ライブラリに存在することがあります。ライブラリリストの順番が変わると、意図しないオブジェクトを参照してしまいます。特にテスト用ライブラリや一時対応用ライブラリが残っている場合は注意が必要です。
コンパイル時と実行時を分けて見る
コンパイル時に参照した外部記述と、実行時に参照するファイルが違うと、桁数や項目の不一致、データ誤読、実行時エラーにつながります。修正後は、コンパイルリスト、DSPFFD、実行ジョブのLIBLをセットで確認します。
ライブラリの基本は AS400ライブラリとオブジェクトの基本、コンパイルエラーは AS400 RPG/CLコンパイルエラーの調べ方、本番反映は AS400本番反映・戻し手順チェックリスト を参照してください。
Codexで差分表を作る
Codexには、匿名化したライブラリ名、ジョブ種別、参照順、エラー文を渡すと、開発・テスト・本番の差分表を作りやすくなります。実環境名や顧客名は入れず、確認観点の整理に使います。
関連: AS400現場トラブルの網羅性を高めるため、AS400 SAVF移送・復元チェックリスト|FTP転送・RSTOBJ・ライブラリ違いで見ること も追加しました。
関連: AS400変更管理・本番作業の実務記事として、AS400 RPG/CLコードレビュー観点|本番障害を減らすために見るポイント も追加しました。
