AS400 / IBM i のデータをCSVとして出したい時、CPYTOIMPF が候補になります。便利な一方で、対象ファイル、抽出条件、文字コード、IFSの出力先、権限、機密情報を確認しないまま実行すると、文字化けや情報漏えいにつながります。
この記事では、CPYTOIMPFでCSV出力を検討する前に見ることを、現場の安全確認チェックとして整理します。細かなパラメーター指定よりも、出してよいデータか、誰が使うCSVか、どこに置くかを先に確認することが大切です。
CPYTOIMPF前に確認すること
| 確認項目 | 見る理由 | 関連ページ |
|---|---|---|
| 対象ファイル | 物理ファイル、論理ファイル、メンバー、ライブラリを取り違えないため | DSPFFD/DSPPFM |
| 抽出条件 | 全件出力や条件漏れを避けるため | データ抽出ガイド |
| 文字コード | Excel、FTP、外部システムで文字化けを避けるため | CCSID・文字化け確認 |
| 出力先IFS | 置き場所、権限、削除ルール、共有範囲を確認するため | IFS・NetServer確認 |
| 機密情報 | 個人情報、取引先、単価、原価を不用意に出さないため | 機密保護・権限確認 |
CSV出力で事故になりやすいポイント
- 本番ファイルを全件CSVにしてしまう
- 抽出条件の日付範囲や状態区分を間違える
- テスト用ライブラリではなく本番ライブラリを見ている
- IFSの共有フォルダに誰でも読める状態で置く
- Excelで開いた時に先頭ゼロ、日付、文字コードが崩れる
- 出力後の削除ルールがなく、CSVが残り続ける
QUERY/400やSQLとの使い分け
既存のQuery定義を使っている現場では、いきなりCPYTOIMPFへ置き換える前に、抽出条件と出力項目を確認します。SQLで抽出する場合も、件数、条件、並び順、NULL、文字コード、権限を比較してから進めます。
CodexやAIに相談する時の注意
CPYTOIMPFのコマンド指定やCSVのサンプルをAIに相談する時は、会社名、顧客名、商品名、単価、原価、個人情報、ライブラリ名、ファイル名をマスキングします。AIには条件整理、チェックリスト化、文字化け原因の仮説整理を任せ、本番データの出力判断は社内ルールで行ってください。
AS400保守で安全にAIを使う考え方は、AS400保守向けCodex研修 にまとめています。
関連: 物理ファイルと論理ファイルの依存関係を見る時は、DSPDBRで物理ファイルと論理ファイルの関係を見る も確認してください。削除、復元、改修前の影響調査で見落としを減らせます。
CPYTOIMPFで出す前にSQLで件数と条件を確認する
CPYTOIMPFでCSV出力する前に、SQLやDSPFFDで項目、件数、抽出条件、文字コード、機密情報を確認しておくと安全です。特に顧客情報や請求情報を扱う場合は、出力先、保存期間、受け渡し方法まで決めてから実行します。抽出全体の考え方はAS400データ抽出ガイド、SQL確認はIBM i SQL Services入門も参考にしてください。
CSV文字化けは出力前後の文字コードをそろえる
CPYTOIMPFでCSVを出す時は、AS400側のCCSID、ジョブCCSID、IFS上のファイル、FTP転送、Excelや外部システムでの取り込み文字コードをそろえて確認します。文字化け全体は文字化け・CCSID確認、ジョブ属性はCHGJOB・ジョブCCSID確認も合わせて見てください。
