AS400 / IBM i でCSV取込エラーが出る時は、プログラムだけでなく、文字コード、桁数、必須項目、日付形式、重複データ、ファイル配置を順番に切り分けます。取引先や外部システムから届くCSVは、同じファイル名でも中身の形式が変わることがあります。
CSV取込で見る順番
| 確認 | 見るもの | よくある原因 |
|---|---|---|
| 文字コード | Shift_JIS、UTF-8、CCSID | 日本語の文字化け、半角カナ崩れ |
| 桁数 | 項目長、数値桁、ゼロ埋め | 桁あふれ、先頭ゼロ欠落 |
| 必須項目 | 得意先、品番、数量、日付 | 空欄やスペースだけ |
| 日付 | YYYYMMDD、YYYY/MM/DD | 形式違い、存在しない日付 |
| 重複 | 伝票番号、行番号、取込済み区分 | 二重取込、再送データ |
業務影響を先に見る
CSV取込は、受注、出荷、在庫、請求など後続処理につながります。エラー行だけ除外するのか、ファイル全体を戻すのか、取引先へ再送依頼するのかを決めてから対応します。
再取込前に決めること
CSV取込エラーで一番危ないのは、原因を直したつもりで同じファイルを再取込し、二重登録や在庫差異を作ることです。修正前に、エラー行だけ直すのか、ファイル全体を戻すのか、相手先へ再送依頼するのかを決めます。
| 判断 | 確認すること | 注意点 |
|---|---|---|
| エラー行だけ修正 | 取込済み行と未取込行の区別 | 行番号や伝票番号で重複しないか確認する |
| ファイル全体を再取込 | 登録済みデータ、ワークファイル、取消手順 | 既に後続処理へ流れていないか見る |
| 相手先へ再送依頼 | 送信時刻、ファイル名、件数、エラー内容 | 相手先の再送データが本当に訂正版か確認する |
| 手作業で補正 | 補正対象、承認者、証跡 | 後で同じ不整合を追えるように残す |
| 処理を止める | 受注、出荷、在庫、請求への影響 | 締め処理やEDI連携の時刻を優先して判断する |
取込を止める判断も重要です。エラー件数が少なくても、得意先、品番、数量、金額、出荷日など業務キーに影響する場合は、部分補正より一度止めて原因を確認します。逆に、備考欄や任意項目だけの不備なら、業務担当者の承認を残して先へ進める判断もあります。
CSV取込前に文字コードを確認する
CSV取込エラーや文字化けを調べる時は、IBM iへ取り込む前に、PC上でCSVの文字コードを確認します。Excelで開いた結果だけで判断せず、メモ帳、秀丸、VS CodeなどのテキストエディタでUTF-8、UTF-8 BOM付き、Shift-JIS、Windows-31Jのどれに見えるかを確認してから、取込方法やCCSID(文字コードを識別する番号)を見ます。
Excelだけで文字化けしている場合は、CSV自体ではなくExcel側の文字コード判定が原因のことがあります。テキストエディタでも化ける場合は、CSV作成元、保存時の文字コード、FTP転送前後の状態を分けて確認してください。全体の切り分けはAS400の文字化け・CCSID確認ポイントにまとめています。
CSV取込エラーとあわせて確認したい手順
一部だけ取り込まれた時の記録例
100明細中80明細を登録した後に失敗した、という架空例を考えます。まず原本を保持し、取込管理番号、業務キー、正常登録済みキー、失敗行の理由、後続処理へ進んだ範囲を調べます。ログの80件が登録確定数なのか、読み取り件数なのかも区別します。
同じ100明細を再送するか未処理分だけにするかは、取消・重複排除・トランザクションの仕様によります。行番号だけでなく伝票番号と明細キーで照合してから、業務担当者と再取込範囲を決めます。エディタの文字コード自動判定は補助に留め、作成側仕様と取り込み側設定を確認するまで原本を再保存しないでください。