CPF4101は、指定したライブラリや*LIBLからファイルが見つからない、またはインライン・データ・ファイルがない場合のメッセージです。対象ファイルの所在、実行ジョブのライブラリリスト、OVRDBFの置換先を確認します。メンバーや権限などの異常が前後に出ている場合は、個別のメッセージIDも記録してください。
この記事では、CPF4101を見た時に確認する順番を、AS400保守現場の目線で整理します。メッセージ本文だけで判断せず、ジョブログ、ライブラリリスト、対象ファイル、メンバー、権限、OVRDBFの有無を確認します。
CPF4101で最初に確認すること
- ジョブログで対象ファイル名、ライブラリ名、メンバー名を確認する
- 実行ジョブのライブラリリストを確認する
- DSPFD、DSPFFD、DSPPFMでファイルとメンバーの状態を見る
- OVRDBFやジョブ記述で参照先が変わっていないか確認する
- 実行ユーザーの権限を確認する
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前後を保存したか
- 対象ファイル、ライブラリ、メンバーを控えたか
- 実行ジョブのライブラリリストを確認したか
- OVRDBF、JOBD、SBMJOBの指定を確認したか
- 権限と所有者、実行ユーザーを確認したか。権限不足はCPF4101だけで決めず、CPF9802など前後メッセージも合わせて確認したか
CPF4101は「ファイルがない」とだけ捉えると遠回りになります。実行ジョブから見えるライブラリ、メンバー、OVRDBF、権限を順番に確認すると、原因を絞りやすくなります。
想定する状況
| 項目 | 例 |
|---|---|
| 発生処理 | 夜間の受注更新バッチ |
| 症状 | ジョブが異常終了し、ジョブログにCPF4101が出ている |
| 対象 | RPGプログラムが参照する注文ファイル |
| 最初に疑うこと | ファイル未存在、ライブラリリスト違い、OVRDBF、メンバー違い、前後メッセージに出るCPF9802などの権限関連、またはロック関連の異常 |
最初にジョブログを見る
まず WRKJOB や DSPJOBLOG で対象ジョブのジョブログを開きます。最後の異常終了メッセージだけでなく、CPF4101の前後に出ているプログラム名、ファイル名、ライブラリ名を確認します。
DSPJOBLOG WRKJOB JOB(123456/USER/ORDUPD)
確認する順番
| 順番 | 確認 | 理由 |
|---|---|---|
| 1 | ジョブログのCPF4101行 | 対象ファイル名、ライブラリ名、プログラム名を拾う |
| 2 | 対象ジョブのライブラリリスト | 稼働中バッチは対象を指定したWRKJOB等で確認する。手元で実行したDSPLIBLは現在スレッドの値であり、別ジョブの状態ではない |
| 3 | WRKOBJ | 同名ファイルがどのライブラリにあるか確認する |
| 4 | DSPFD / DSPFFD | PF/LF、メンバー、フィールド定義を見る |
| 5 | CLのOVRDBF | 参照先を一時変更していないか確認する |
| 6 | RPGのF仕様書 | RPGがどの外部記述ファイル名で開こうとしているか確認する |
CPF4101ファイルオープンエラーとあわせて確認したい手順
CPF4101ではファイルを解決できなかった実行条件を調べます。ライブラリリストとOVRDBFを照合し、メンバーや権限の異常は前後の別メッセージと区別します。
CPF4101を相談する前に確認する情報
本番でCPF4101が発生したら、対象ジョブ、指定されたファイル・ライブラリ、OVRDBF、業務影響を記録します。JOBDは初期条件の資料であり、稼働中ジョブの値と一致するとは限りません。ファイルを新規作成してエラーを消す前に、本来どのファイルを参照すべきかを確認してください。
| 確認すること | 次に読む記事 |
|---|---|
| 本番影響と初動判断 | 本番トラブル初動チェックリスト |
| ファイル定義と実データ | DSPFFD / DSPPFMの確認手順 |
| OVRDBFや参照先変更 | OVRDBFの使い方と注意点 |
| 対象データの確認 | ACS SQLとは?AS400 / IBM iで安全にデータ確認する基本 |
CPF4101の最短確認順
ファイルが別のライブラリに存在していても、実行ジョブの*LIBLやOVRDBFから解決できなければ利用できません。対話型では動くのにバッチやAPIで失敗する場合は、対象ジョブの実行時の参照先を照合します。権限エラーやメンバー未検出はCPF4101と同一視せず、前後のIDを確認します。
| 確認順 | 見るもの | 判断すること |
|---|---|---|
| 1 | ジョブログのCPF4101前後 | どのプログラムが、どのファイルを開こうとしたか |
| 2 | ライブラリリスト | 対話型とバッチで参照先が違わないか |
| 3 | WRKOBJ / DSPFD / DSPFFD | ファイルやメンバーが存在するか、定義が合うか |
| 4 | OVRDBF / JOBD / SBMJOB | 実行時に参照先が差し替わっていないか |
| 5 | 権限 | 実行ユーザーが対象ライブラリやファイルを読めるか |
OVRDBFが関係しそうな場合は OVRDBFの確認ポイント、ジョブログの読み方は AS400ジョブログ確認手順 も合わせて確認してください。
参考:IBM公式ドキュメント(OVRDBF)
本記事で扱った OVRDBF の全パラメーターと指定できる値は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。