AS400(IBM i)のデータ抽出は、コマンドを決める前に「何のために、どのデータを、誰へ渡すか」を決めます。対象ライブラリ、ファイル、期間、抽出条件、件数、出力形式、機密情報を先に整理すると、本番データの誤抽出や再作業を防げます。
販売管理の現場では、「この伝票番号のデータがおかしい」「対象期間をExcelで確認したい」「外部システムへ渡すCSVが必要」といった依頼があります。画面とDBを照合し、必要ならジャーナルで更新前後を時系列に追う調査と、一覧データを外へ出す作業は分けて考えます。
データ抽出前に決める7項目
| 項目 | 確認例 | 確認しない場合のリスク |
|---|---|---|
| 利用目的 | 障害調査、監査、移行、外部連携 | 不要な項目まで出力する |
| 対象環境 | 本番、検証、退避ライブラリ | 別環境のデータを渡す |
| 対象データ | ファイル、メンバー、論理ファイル | 似た名前の別ファイルを参照する |
| 抽出条件 | 期間、会社、拠点、伝票番号、状態 | 条件漏れで件数が膨らむ |
| 必要項目 | コードのみ、名称を含む、金額を除外 | 個人情報や機密情報を余分に出す |
| 出力形式 | 画面、スプール、CSV、固定長 | 文字化けや受け渡し失敗が起きる |
| 保管と削除 | 受領者、保存先、保存期限、削除担当 | 抽出後のファイルが残り続ける |
ファイル名だけで判断せず、DSPFFDでフィールド定義を確認し、必要に応じて物理ファイルと論理ファイルの関係も確認します。
目的別にDSPPFM・Query・SQL・CPYTOIMPFを選ぶ
| 方法 | 向いている場面 | 注意点 |
|---|---|---|
DSPPFM | 少量のレコードを画面で確認する | 到着順表示。項目名や複雑な条件指定には向かない |
| Query/400 | 既存の定型抽出や一覧条件を再利用する | 対象ファイル、選択条件、出力先が現行運用に合うか確認する |
| SQL | 必要な項目と条件を明示して確認する | ライブラリを明示し、参照用のSELECTと更新SQLを混同しない |
CPYTOIMPF | CSVや固定形式をIFSなどへ出力する | 上書き、区切り、文字コード、権限、機密情報を確認する |
| 専用プログラム | 定期連携、複雑な編集、再実行制御が必要 | 仕様、テスト、異常時の戻し方まで用意する |
DSPPFMは中身を素早く見る入口
IBMの資料では、DSPPFMは物理ファイルメンバーのレコードを到着順で表示します。キー付きファイルでもキー順とは限りません。問題分析、デバッグ、レコード照会には便利ですが、「最新日付順」「特定得意先だけ」のような条件が必要ならQueryやSQLへ切り替えます。
Query・SQLは抽出条件と件数を先に検証する
- 対象ライブラリとファイルを完全修飾して確認する
- 伝票番号や短い期間など、小さい条件で結果を確認する
- 画面表示とDBの値を照合する
- 想定件数と実件数が合うか確認する
- 必要項目だけに絞り、マスキング要否を確認する
- 本番用条件で再実行し、提出前に別担当者が確認する
「この伝票番号がおかしい」という問い合わせなら、まず伝票番号でヘッダー・明細・関連画面を確認します。画面とDBだけで経緯が分からなければ、異常が起きたと思われる時刻の前後をジャーナルで追い、更新前と更新後の差を見ます。いきなり全件をCSVへ出す必要はありません。
QueryとSQLの事前確認はAS400でQuery・SQLを使う時のチェックリストに整理しています。
CPYTOIMPFでCSVを出す時の確認順
| 確認箇所 | 見る内容 |
|---|---|
| FROMFILE | ライブラリ、ファイル、メンバーが正しいか |
| TOSTMF / TOFILE | 出力先、既存ファイル、上書き・追加の扱い |
| 形式 | 区切り形式か固定形式か、区切り文字と囲み文字 |
| 文字 | CCSID、日本語、改行、先頭・末尾空白 |
| データ型 | 日付、時刻、小数、NULLが受け取り側で読めるか |
| 権限 | 出力先へ作成・置換できる権限があるか |
| 検算 | 抽出件数、先頭・末尾、合計値、欠損を確認したか |
CSV作成の具体的な事前確認はCPYTOIMPFでCSV出力する前の確認ポイント、Excelで開いた時の文字化けはCCSID・UTF-8・Shift_JISの切り分けで確認できます。
抽出から受け渡しまでの安全な流れ
| 工程 | 実施内容 | 証跡 |
|---|---|---|
| 受付 | 目的、受領者、承認者、期限を確認 | 依頼票、承認記録 |
| 設計 | 対象、条件、項目、形式、マスキングを決定 | 抽出条件表 |
| 試行 | 小さい条件で画面・DB・件数を照合 | 確認結果 |
| 本抽出 | 承認済み条件で実行し、件数と内容を検算 | 実行日時、件数 |
| 受け渡し | 決めた経路だけで受領者へ渡す | 受領確認 |
| 削除 | IFS・PC・共有領域の一時ファイルを期限どおり削除 | 削除確認 |
メールへ無造作に添付したり、個人のPCへ長期間残したりしません。顧客名、住所、電話番号、メールアドレス、社員番号、単価、金額などは、利用目的に必要な範囲へ絞ります。
Codexへ抽出条件を整理させる時の注意
Codexには、実データではなく、抽出目的、項目の意味、匿名化した条件、期待件数、確認観点を渡します。パスワード、接続情報、顧客名、個人情報、実データ、ソース全文は入力しません。安全な扱いはAS400ソースやデータをAIへ渡す時の注意点を確認してください。
若手へ、依頼受付から条件確認、抽出、検算、受け渡しまでの流れを実務に合わせて教える場合は、AS400 / IBM i Codex研修の内容・料金を確認できます。
IBM公式資料
- IBM Docs: Displaying records in a physical file member
- IBM Docs: Notes on the CPYTOIMPF command
- IBM Docs: Notes on delimited import files
まとめ
AS400のデータ抽出は、目的、対象環境、ファイル、条件、必要項目、出力形式、保管期限を決めてから方法を選びます。少量の確認はDSPPFM、条件付き参照はQueryやSQL、CSV出力はCPYTOIMPFが候補です。抽出件数と内容を検算し、受け渡し後の削除までを一つの作業として管理してください。
