AS400(IBM i)の保守で、物理ファイルや論理ファイルを調べる時に使う代表的な画面が DSPFFD と DSPPFM です。
どちらもファイルを確認するコマンドですが、見ているものは違います。DSPFFDはフィールド定義、DSPPFMは物理ファイルのメンバー内容を見る画面です。初心者のうちは名前が似ていて混乱しやすいですが、保守では役割を分けて覚えると調査がかなり楽になります。

対象ライブラリとメンバーを明示して表示する
次は架空の検証用名称を使った表示例です。自社で閲覧を許可された対象に置き換え、接続先を確認してから実行します。
DSPFFD FILE(TESTLIB/ORDERPF)
DSPFD FILE(TESTLIB/ORDERPF) TYPE(*MBRLIST)
DSPPFM FILE(TESTLIB/ORDERPF) MBR(TESTMBR)DSPFFDで項目の型と桁を、DSPFDでメンバー名を確認してから、DSPPFMでそのメンバーを表示します。DSPPFMはキー順ではなく到着順の表示です。文字/16進表示なので、パック数値などが帳票のような数値表記にならないことがあります。文字化けやデータ破損と即断せず、定義と表示方法を照合してください。IBM公式:DSPPFM、IBM公式:データ表示時のパック数値について
DSPFFDとDSPPFMの違い
| コマンド | 見るもの | 現場で使う場面 |
|---|---|---|
| DSPFFD | フィールド定義、桁数、型、見出しなど | RPG修正、帳票修正、外部連携項目の確認 |
| DSPPFM | 物理ファイルのメンバー内データ | 処理前後のデータ確認、単体テスト、障害調査 |
DSPFFDで見るところ
DSPFFDは、ファイルのフィールド定義を確認する時に使います。RPGやCLの保守では、ソースだけを見ていても、実際のファイル定義とズレていることがあります。DSPFFDでは桁数、属性、フィールド名を確認します。キーの順序や重複可否はDSPFD TYPE(*ACCPTH)などのアクセス・パス情報で調べます。
DSPFFDの出力項目は多いため、最初はフィールド名、桁数、データ型、小数桁を確認します。フィールドのテキストや参照情報も確認し、キー情報が必要な場合はDSPFD TYPE(*ACCPTH)の結果と照合します。すべてを暗記するのではなく、目的に必要な項目をIBM公式資料で確認できるようにしておくことが大切です。

DSPPFMで見るところ
DSPPFMは、物理ファイルの中身を確認する画面です。処理後にデータが作成されたか、更新されたか、想定外の値が入っていないかを見る時に使います。
ただし、本番環境でDSPPFMを見る時は、対象ライブラリと対象ファイルを必ず確認します。画面を見るだけでも、権限や運用ルールによっては注意が必要です。
保守での確認順
| 順番 | 確認すること | 判断すること |
|---|---|---|
| 1 | 対象ライブラリ | 本番、テスト、開発のどこを見ているか |
| 2 | 対象ファイル | PFかLFか、見たいファイルが正しいか |
| 3 | DSPFFD | 桁数、型、フィールド名がソースと合っているか |
| 4 | DSPPFM | 実データが想定通りか |
| 5 | 関連処理 | RPG、CL、帳票、外部I/Fに影響がないか |
初心者がやりがちなミス
初心者がやりがちなのは、DSPPFMで見えたデータだけで判断してしまうことです。実データを見ることは大事ですが、その項目が何桁で、どの型で、どの論理ファイルから参照されるのかを知らないと、正しい判断ができません。
もう1つは、ライブラリを確認せずに見ることです。AS400では同じ名前のファイルが複数のライブラリに存在することがあります。テスト環境のつもりで本番相当のライブラリを見ていた、またはその逆だった、という事故を避けるためにも、対象ライブラリは必ず確認します。
現場で多い確認場面
- 画面の項目とファイル項目が合っているか確認する
- 帳票の桁あふれや文字切れの原因を調べる
- CSV出力前に項目の型と桁数を確認する
- RPG修正時に参照項目の定義を確認する
- EDI連携で相手先の桁数とズレていないか見る
参考:IBM公式ドキュメント(DSPFFD)
本記事で扱った DSPFFD の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。


