CPF4101は、指定したライブラリや*LIBLからファイルが見つからない、またはインライン・データ・ファイルがない場合のメッセージです。対象ファイルの所在、実行ジョブのライブラリリスト、OVRDBFの置換先を確認します。メンバーや権限などの異常が前後に出ている場合は、個別のメッセージIDも記録してください。
この記事では、CPF4101を見た時に確認する順番を、AS400保守現場の目線で整理します。メッセージ本文だけで判断せず、ジョブログ、ライブラリリスト、対象ファイル、メンバー、権限、OVRDBFの有無を確認します。
想定する状況
| 項目 | 例 |
|---|---|
| 発生処理 | 夜間の受注更新バッチ |
| 症状 | ジョブが異常終了し、ジョブログにCPF4101が出ている |
| 対象 | RPGプログラムが参照する注文ファイル |
| 最初に疑うこと | ファイル未存在、ライブラリリスト違い、OVRDBF、メンバー違い、前後メッセージに出るCPF9802などの権限関連、またはロック関連の異常 |
最初にジョブログを見る
まず WRKJOB や DSPJOBLOG で対象ジョブのジョブログを開きます。最後の異常終了メッセージだけでなく、CPF4101の前後に出ているプログラム名、ファイル名、ライブラリ名を確認します。
DSPJOBLOG JOB(123456/USER/ORDUPD) WRKJOB JOB(123456/USER/ORDUPD)
上のジョブ番号・ユーザー・ジョブ名は説明用です。実際の障害ジョブの3項目へ置き換えます。終了済みでジョブログが生成されている場合は、そのジョブのスプールを確認してください。自分の対話ジョブを表示できたことを、障害バッチの調査完了としないようにします。
確認する順番
| 順番 | 確認 | 理由 |
|---|---|---|
| 1 | ジョブログのCPF4101行 | 対象ファイル名、ライブラリ名、プログラム名を拾う |
| 2 | 対象ジョブのライブラリリスト | 稼働中バッチは対象を指定したWRKJOB等で確認する。手元で実行したDSPLIBLは現在スレッドの値であり、別ジョブの状態ではない |
| 3 | WRKOBJ | 同名ファイルがどのライブラリにあるか確認する |
| 4 | DSPFD / DSPFFD | PF/LF、メンバー、フィールド定義を見る |
| 5 | CLのOVRDBF | 参照先を一時変更していないか確認する |
| 6 | RPGのF仕様書 | RPGがどの外部記述ファイル名で開こうとしているか確認する |
OVRDBFやメンバー指定を見る
CPF4101では、詳細に示されたファイルとライブラリが実行ジョブから解決できるかを確認します。OVRDBFがあれば置換後のファイルを調べます。上書き指定はジョブ終了後まで持ち越されるものではありませんが、同一ジョブ内ではスコープによって後続処理へ残る場合があります。メンバー未検出や権限の問題は、それぞれ実際に出た別のメッセージIDと区別してください。
OVRDBFの基本は OVRDBFとは?ファイル上書き指定の確認ポイント、バッチ実行の見方は SBMJOB・WRKSBMJOB・DSPJOBDの確認手順 を確認してください。
Web/API連携で出た場合
Web化やAPI化でCPF4101が出る場合、5250画面とサーバージョブでライブラリリスト、ユーザー、QTEMP、ジョブ記述が違うことがあります。RPGやCLをそのまま呼ぶ時は、対話型ジョブ前提の環境依存を先に洗い出します。
Web/API化の確認は AS400連携とは、メッセージIDの入口は AS400メッセージID・エラーコード索引 を参照してください。
CPF4101を相談する前に確認する情報
本番でCPF4101が発生したら、対象ジョブ、指定されたファイル・ライブラリ、OVRDBF、業務影響を記録します。JOBDは初期条件の資料であり、稼働中ジョブの値と一致するとは限りません。ファイルを新規作成してエラーを消す前に、本来どのファイルを参照すべきかを確認してください。
| 確認すること | 次に読む記事 |
|---|---|
| 本番影響と初動判断 | 本番トラブル初動チェックリスト |
| ファイル定義と実データ | DSPFFD / DSPPFMの確認手順 |
| OVRDBFや参照先変更 | OVRDBFの使い方と注意点 |
| 対象データの確認 | ACS SQLとは?AS400 / IBM iで安全にデータ確認する基本 |
参考:IBM公式ドキュメント(OVRDBF)
本記事で扱った OVRDBF の全パラメーターと指定できる値は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。