DSPFFD・DSPPFMの違い|AS400でファイル定義とデータを確認する

AS400(IBM i)の保守で、物理ファイルや論理ファイルを調べる時に使う代表的な画面が DSPFFDDSPPFM です。

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

AS400のDSPFFDでフィールド定義を表示した画面
DSPFFDの出力例。フィールドごとにデータタイプ(CHAR、ZONED)、フィールド長、バッファー位置、カラムの見出しが並びます。受注番号がCHAR(10)、受注日がZONED(8)といった桁数と属性は、ここで確認します。

DSPFFDとDSPPFMの違い

コマンド見るもの現場で使う場面
DSPFFDフィールド定義、桁数、型、見出しなどRPG修正、帳票修正、外部連携項目の確認
DSPPFM物理ファイルのメンバー内データ処理前後のデータ確認、単体テスト、障害調査

DSPFFDで見るところ

DSPFFDは、ファイルのフィールド定義を確認する時に使います。RPGやCLの保守では、ソースだけを見ていても、実際のファイル定義とズレていることがあります。特に桁数、属性、フィールド名、キー項目の確認は重要です。

AS400のDSPFFD画面。ファイルのフィールド定義を確認する例
DSPFFDは、フィールド定義を確認する画面です。桁数、型、フィールド名を見て、ソースや帳票、外部連携とのズレを調べます。

DSPFFDの出力項目は多いため、最初はフィールド名、桁数、データ型、小数桁を確認します。調査目的に応じて、キー情報、テキスト、参照関係なども見ます。すべてを暗記するのではなく、目的に必要な項目をIBM公式資料で確認できるようにしておくことが大切です。

AS400のDSPPFMで物理ファイルのレコードを表示した画面
DSPPFMの出力例(値はマスクしています)。DSPFFDが「定義」を見るのに対し、DSPPFMは「実際に入っているデータ」を見ます。上部にファイル名、ライブラリー、メンバー名が出るので、対象を取り違えていないかをここで確認します。

DSPPFMで見るところ

DSPPFMは、物理ファイルの中身を確認する画面です。処理後にデータが作成されたか、更新されたか、想定外の値が入っていないかを見る時に使います。

ただし、本番環境でDSPPFMを見る時は、対象ライブラリと対象ファイルを必ず確認します。画面を見るだけでも、権限や運用ルールによっては注意が必要です。

AS400のDSPPFM画面。物理ファイルのメンバー内容を表示する例
DSPPFMは、物理ファイルのメンバー内容を確認する画面です。単体テストや障害調査では、処理前後のデータ確認に使います。

保守での確認順

順番確認すること判断すること
1対象ライブラリ本番、テスト、開発のどこを見ているか
2対象ファイルPFかLFか、見たいファイルが正しいか
3DSPFFD桁数、型、フィールド名がソースと合っているか
4DSPPFM実データが想定通りか
5関連処理RPG、CL、帳票、外部I/Fに影響がないか

初心者がやりがちなミス

初心者がやりがちなのは、DSPPFMで見えたデータだけで判断してしまうことです。実データを見ることは大事ですが、その項目が何桁で、どの型で、どの論理ファイルから参照されるのかを知らないと、正しい判断ができません。

もう1つは、ライブラリを確認せずに見ることです。AS400では同じ名前のファイルが複数のライブラリに存在することがあります。テスト環境のつもりで本番相当のライブラリを見ていた、またはその逆だった、という事故を避けるためにも、対象ライブラリは必ず確認します。

DSPFFD / DSPPFM 確認チェックリスト

  • 対象ライブラリが正しいか
  • 対象ファイル、対象メンバーが正しいか
  • DSPFFDで項目名、桁数、型、小数桁を確認したか
  • DSPPFMで実データの更新前後を確認したか
  • 後続処理で使われる項目に影響がないか

ファイル定義を確認した後に整理すること

DSPFFDとDSPPFMでファイル定義と実データを確認した後は、単に項目名を読むだけで終わらせず、抽出条件、影響範囲、更新可否、AIへ渡す情報を分けて整理すると、次の調査や相談が進めやすくなります。

次にやること読む記事
条件を決めてデータを抜き出すAS400データ抽出ガイド
SQLで件数や値を確認するACS SQL / IBM i SQL Servicesの基本
RPG/CLの影響範囲を見るAS400保守会社に相談する前のチェックリスト|障害・小改修・データ抽出・リプレースで整理すること
本番データ修正の可否を判断するAS400ジャーナル確認手順|DSPJRNで更新前後と戻し判断を見る

数値項目の表示形式や帳票の金額欄を確認する時は、DDSの EDTCDE / EDTWRD の違いと確認表 もあわせて見ると、表示崩れの原因を切り分けやすくなります。

現場で多い確認場面

  • 画面の項目とファイル項目が合っているか確認する
  • 帳票の桁あふれや文字切れの原因を調べる
  • CSV出力前に項目の型と桁数を確認する
  • RPG修正時に参照項目の定義を確認する
  • EDI連携で相手先の桁数とズレていないか見る

DSPFFDは、項目名だけでなく桁数・型・小数桁まで確認する

DSPFFDは、AS400 / IBM i のファイル項目を調べる基本コマンドです。項目名だけを見て終わるのではなく、桁数、データ型、小数桁、開始位置、見出し、テキスト、キー項目との関係まで確認すると、RPGやCLの修正時に事故を減らせます。特に金額、数量、日付、コード値は、見た目より桁数や小数桁の扱いが重要です。

見る項目確認する理由現場での注意点
項目名RPGソースや画面項目との対応を見る略称だけで意味を決めつけない
型・桁数文字、数値、日付、パック10進の扱いを分ける桁あふれやゼロ埋めに注意
小数桁金額、単価、数量の丸めに影響する請求や在庫差異の原因になる
キー項目検索条件やJOIN条件に関係する順序と重複可否を見る
テキスト保守担当者が意味を推測する助けになる古い説明が現状と違う場合がある

項目定義を読む力は、AS400保守の基礎です。DSPFFDで項目を見た後は、実際にどのプログラムがその項目を更新しているか、画面や帳票でどう表示されるか、SQLで抽出する時に型変換が必要かまで確認します。若手教育では、DSPFFDの結果を見ながらRPGソース、DDS、SQLを行き来する練習をすると、現場での調査力が上がります。

参考:IBM公式ドキュメント(DSPFFD)

本記事で扱った DSPFFD の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。

DSPFFD・DSPPFM調査とあわせて確認したい手順