AS400データ移行品質チェック|文字コード・桁・日付・マスター不整合を防ぐ

AS400 / IBM iのデータ移行では、ファイル件数が一致しただけでは合格にできません。文字コード、桁、符号、小数、日付、コード変換、マスター参照、業務残高まで確認し、差異がある場合は理由と承認者を記録します。

移行前に決めること

  • 移行対象・対象外のファイル、期間、業務、保存履歴
  • 文字・数値・日付・コード・NULL相当値の変換ルール
  • 旧コードと新コード、廃止コード、統合コードの対応
  • 件数、金額、数量、残高、明細内訳の照合方法
  • 差異を許容する条件と業務側の承認者
  • 再移行、手修正、本番切戻しの条件

品質確認を6つに分ける

照合対象確認例件数一致でも起こる問題
文字CCSID、全角・半角、半角カナ、外字、末尾空白文字化け、検索不一致、帳票欠け
数値符号、小数桁、ゼロ埋め、桁あふれ金額・数量の丸め差
日付形式、未設定値、例外日、適用日期間抽出や並び順の不一致
コード旧新コード対応、廃止・統合コード名称欠落、分類誤り
マスター得意先、品番、倉庫、単位、入り数明細はあるが参照先がない
業務残高在庫、売掛、買掛、受注残、出荷残合計は一致しても内訳が違う

件数差を理由まで説明できるか

説明用の例として、移行元が10,000件、移行先が9,980件だった場合、20件少ないだけで失敗とは限りません。廃止済みコードや保存期限外データを承認済みルールで除外した結果なら、その20件を一覧で説明できます。反対に、件数が10,000件で一致していても、20件が別得意先へ誤変換されていれば移行成功ではありません。

記録項目内容
変換前元ファイル、キー、元値
変換後移行先、キー、変換値
期待値業務ルール上の正しい値
差異理由変換ミス、対象外、マスター不備、元データ不備
対応再抽出、変換修正、手修正、許容
承認確認者、業務責任者、承認日時

テストを段階に分ける

段階確認内容
定義確認DSPFFD等で項目、桁、型、キーを確認する
サンプル通常値、境界値、空白、ゼロ、負数、特殊文字を照合する
全件件数、合計、重複、欠落、マスター不整合を機械的に確認する
業務画面、帳票、締め、在庫、請求、外部連携で利用できるか確認する
本番前所要時間、再実行、差異対応、切戻し、承認を確認する

CSV・FTP・API連携でも同じ基準を使う

CSVやFTPの段階で崩れた文字や桁は、移行テスト後半で見つかるほど修正範囲が広がります。区切り文字、引用符、改行、CCSID、先頭ゼロ、末尾空白を早い段階で確認し、API連携でも旧新コードとエラー時の再送条件を決めます。

移行リハーサルごとに差異を減らす

初回移行で見つかった差異を手作業で直すだけでは、本番移行で同じ問題が再発します。差異を「抽出」「変換」「取込」「マスター」「業務確認」に分類し、変換プログラムや手順へ戻します。次回リハーサルでは、前回差異が再発していないことと、新しい差異が増えていないことを確認します。

差異区分確認する場所再発防止
抽出漏れ期間条件、ライブラリ、メンバー、選択条件抽出条件と対象件数を固定する
変換誤りコード対応、桁、符号、日付、文字変換表とテストケースを更新する
取込失敗エラーログ、重複キー、必須値、参照制約再実行条件とエラー一覧を残す
マスター不整合得意先、品番、倉庫、単位、適用日明細より先にマスターを照合する
業務差異画面、帳票、締め、残高、外部連携業務担当者の合格条件を追加する

本番移行日の確認

  • 最終差分をどの時刻で区切るか
  • 旧システムへの入力をいつ止めるか
  • 抽出、変換、取込、照合の担当者と完了連絡
  • 差異が許容値を超えた場合の中止・切戻し条件
  • 業務再開後に確認する最初の取引、帳票、外部連携
  • 旧システムを参照専用で残す期間と権限

経験していない条件を推測で決めない

運営者が担当してきた範囲では、2000年問題の頃以降は西暦を使用しており、元号変更対応や軽減税率を扱った経験はありません。経験していない条件を経験談として一般化せず、現行データが西暦か和暦か、税区分をどこで保持しているかを実データ定義と業務担当者への確認で決めます。

差異一覧を監査証跡として残す

差異を修正したら一覧から消すのではなく、発生日、対象、原因、修正方法、再テスト結果、承認者を残します。本番後に数字が合わない時、移行時の差異だったのか、本番稼働後の取引だったのかを切り分ける材料になります。

関連する確認手順

移行前の品質確認範囲を外部へ相談する場合は、実データや個人情報を送らず、対象業務、ファイル数、データ量、移行予定、確認したい範囲を整理してお問い合わせください。