AS400 / IBM i で CPF4101 が出ると、ファイルが見つからない、メンバーがない、ライブラリリストが違う、OVRDBFで差し替えた先が違う、JOBDの初期ライブラリリストが違う、といった原因が考えられます。RPGやCLの実行時、夜間バッチ、Web/API連携、SQL実行で見かけることがあります。
この記事では、CPF4101を見た時に確認する順番を、AS400保守現場の目線で整理します。メッセージ本文だけで判断せず、ジョブログ、ライブラリリスト、対象ファイル、メンバー、権限、OVRDBFの有無を確認します。
CPF4101は、若手向けのエラー調査研修にも使いやすい
CPF4101のようなファイルオープン系エラーは、メッセージIDだけを検索して終わりにすると、次の障害でも同じ確認漏れが起きやすくなります。ファイル、メンバー、ライブラリリスト、OVRDBF、権限、ジョブの実行環境を順番に見る癖を付けることが大切です。
CPF4101で最初に確認すること
- ジョブログで対象ファイル名、ライブラリ名、メンバー名を確認する
- 実行ジョブのライブラリリストを確認する
- DSPFD、DSPFFD、DSPPFMでファイルとメンバーの状態を見る
- OVRDBFやジョブ記述で参照先が変わっていないか確認する
- 実行ユーザーの権限を確認する
ライブラリリストのずれを疑う
CPF4101では、ファイルが存在しないのではなく、実行ジョブから見えていないだけのことがあります。対話型ジョブでは動くのに夜間バッチで失敗する場合、JOBDやSBMJOB時のライブラリリストが違う可能性があります。
特に、本番、検証、開発のライブラリ名が似ている環境では、想定と違うライブラリを見ていることがあります。ジョブログに出たライブラリ名を必ず確認します。
OVRDBFやメンバー指定を見る
CLでOVRDBFを使ってファイルやメンバーを差し替えている場合、差し替え先が存在しない、メンバー名が違う、ジョブ終了時に想定と違う状態が残る、といった理由でCPF4101が出ることがあります。OVRDBFを使う処理では、元のファイル定義だけでなく、実行時の上書き指定を確認します。
OVRDBFの基本は OVRDBFとは?ファイル上書き指定の確認ポイント、バッチ実行の見方は SBMJOB・WRKSBMJOB・DSPJOBDの確認手順 を確認してください。
Web/API連携で出た場合
Web化やAPI化でCPF4101が出る場合、5250画面とサーバージョブでライブラリリスト、ユーザー、QTEMP、ジョブ記述が違うことがあります。RPGやCLをそのまま呼ぶ時は、対話型ジョブ前提の環境依存を先に洗い出します。
Web/API化の確認は AS400のRPGをWeb化する前に確認すること、メッセージIDの入口は AS400メッセージID・エラーコード索引 を参照してください。
対応前チェックリスト
- ジョブログのCPF4101前後を保存したか
- 対象ファイル、ライブラリ、メンバーを控えたか
- 実行ジョブのライブラリリストを確認したか
- OVRDBF、JOBD、SBMJOBの指定を確認したか
- 権限と所有者、実行ユーザーを確認したか。権限不足はCPF4101だけで決めず、CPF9802など前後メッセージも合わせて確認したか
CPF4101は「ファイルがない」とだけ捉えると遠回りになります。実行ジョブから見えるライブラリ、メンバー、OVRDBF、権限を順番に確認すると、原因を絞りやすくなります。
関連するAS400確認ルート
CPF4101はファイル未検出だけでなく、メンバー、ライブラリリスト、OVRDBF、実行環境差を切り分けます。
CPF4101を相談する前に確認する情報
CPF4101は「ファイルがない」だけでなく、ライブラリリスト、メンバー、OVRDBF、JOBD、実行環境の違いで発生することがあります。権限関連はCPF9802など前後メッセージを分けて確認します。本番で発生した場合は、対象ファイルだけを直す前に、どのジョブで、どのライブラリを見に行き、業務にどの影響が出ているかを分けて残します。
| 確認すること | 次に読む記事 |
|---|---|
| 本番影響と初動判断 | 本番トラブル初動チェックリスト |
| ファイル定義と実データ | DSPFFD / DSPPFMの確認手順 |
| OVRDBFや参照先変更 | OVRDBFの使い方と注意点 |
| 対象データの確認 | Query・SQLデータ確認チェックリスト |
CPF4101が本番ジョブで発生し、ライブラリリストやOVRDBFの切り分けに迷う場合は、ジョブ名、対象ファイル、メンバー、ライブラリリスト、発生時刻、業務影響を整理してお問い合わせから相談できます。
CPF4101を検索した時の最短確認順
CPF4101は「ファイルがない」と決めつけると遠回りになります。実際には、対象ファイルは存在していても、実行ジョブのライブラリリストから見えていない、メンバー指定が違う、OVRDBFで別ファイルへ向いている、権限が足りない、というケースがあります。対話型では動くのに夜間バッチやAPI連携で失敗する場合は、ジョブ環境の違いを疑います。
| 確認順 | 見るもの | 判断すること |
|---|---|---|
| 1 | ジョブログのCPF4101前後 | どのプログラムが、どのファイルを開こうとしたか |
| 2 | ライブラリリスト | 対話型とバッチで参照先が違わないか |
| 3 | WRKOBJ / DSPFD / DSPFFD | ファイルやメンバーが存在するか、定義が合うか |
| 4 | OVRDBF / JOBD / SBMJOB | 実行時に参照先が差し替わっていないか |
| 5 | 権限 | 実行ユーザーが対象ライブラリやファイルを読めるか |
OVRDBFが関係しそうな場合は OVRDBFの確認ポイント、ジョブログの読み方は AS400ジョブログ確認手順 も合わせて確認してください。
参考:IBM公式ドキュメント(OVRDBF)
本記事で扱った OVRDBF の全パラメーターと指定できる値は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。