移行コックピット(SAP S/4HANA Migration Cockpit)ではどのようなデータ検証(バリデーション)が行われるのか

(※この記事はSAP Advent Calendarの12月19日分の記事として執筆しています)

SAP S/4HANAの移行コックピット(Migration Cockpit)について調べたことを共有します。

SAP ECCからSAP S/4HANAへとコンバージョンされるにあたり、移行ツールもLSMW(LegacySystem Migration Workbench)から移行コックピット(Migration Cockpit)へ刷新されました。

移行コックピットはLSMWとはかなり使い勝手が異なります。

Step-By-StepのチュートリアルはSAP Communityのブログにもたくさんありますし、SAP Learning Hub等にでチュートリアルが提供されています。

しかしそれらの大半は、テンプレート(データシート)がエラーなくインポートできることを前提に書かれていました。

しかし実際に移行コックピットでデータを移行する際は、数々のエラーを解決し試行錯誤しながらデータをインポートすることになるはずです。

滞りなくデータを移行するためには、移行コックピットでどのようにデータを検証/クレンジングするかを把握しておく必要があります。

このブログでは、Bank Master(TCODE:FI01)のインポートにおいてどのような種類のエラーがどのステップで検知され、どのようなエラー修正が可能なのかを解説します。

移行コックピットの基本的な操作を理解している人に、このブログを読んで頂きたいと思います。

移行オブジェクト:以下のようなデータを移行オブジェクト:Bankにマッピングしてみます。


それぞれのパターンは以下のような問題があります。

パターン データ内容
パターン1 エラーなし。正常に取り込める
パターン2 テーブルKey(Bank Contry)が未入力
パターン3 テーブルKey(Bank Key)が未入力
パターン4 必須項目(Name of Bank)が未入力
パターン5 テーブルKey(Bank Key)がフィールドの桁数を超えている
パターン6

テーブルKey(Bank Key)がカスタマイズで設定された桁数(7桁)を超えている

※フィールドの桁数的には15桁だが、日本の銀行口座番号は7桁。

パターン7 通常の項目(Street)がフィールドの桁数を超えている
パターン8 存在しない外部キー(Bank Contry)が入力されている
パターン9 存在しない外部キー(Bank Contry)が入力されている
パターン10 存在しない外部キー(Region)が入力されている
パターン11 存在しない外部キー(Region)が入力されている
パターン12 エラーなし。正常に取り込める

今回はSheet:テストデータを移行オブジェクト:Bankにマッピングしてみます。

タイルから移行コックピットにアクセスします。

まずはプロジェクトを作りましょう。

Create>Migrate Data Using Staging Tablesを選択します。

プロジェクト名を選択します。

移行オブジェクトを選択します。

Previewして問題無ければ、Create Projectを押下します。

プロジェクトができたことを確認してアクセスします。

プロジェクトを作った直後だとまだテンプレート(移行シート)取得できないため、しばらく待ってからDLします。

(ちなみにテンプレートの拡張子はxmlとなっており、エクセルで編集する場合はxmlファイルを開けるように設定しておく必要があります。

テンプレートの拡張子をxlsxにしてしまうと、アップロード時にエラーになります。)

テストデータをテンプレートに貼り付けると以下のようになります。

テンプレートをアップロードします↓。

すると、次のエラーが検出されます↓。

パターン2 テーブルKey(Bank Contry)が未入力
パターン3 テーブルKey(Bank Key)が未入力
パターン4 必須項目(Name of Bank)が未入力

改めてデータシートを見ると、↓こんな状態になっていました。

このように、必須項目が足りてない行があれば、アップロード時点で検出されます。

必須項目を入力してテンプレートを上書きしましょう。

今度は、アップロードで警告がでることなく終了します。

移行オブジェクトの一覧画面まで戻って、”Prepare”をクリック。

次にMapping Taskを選択。

↓このように、マッピングでは外部キーとなっている項目について「値はこれであっていますか」という確認をします。

一番上の、”Mapping of Country/Region Key”を選択します。

ここで値の確認を行います。

Country/Regionという項目値に”JP”はあっても”XX”というキーは無いということはある程度慣れている人ならわかりますが、ここではそんな確認をせずに一旦すべての行を選択してConfirmを押下してみましょう。

すると、”XX”というキーのマッピング(↑)に失敗します。(↓のパターンが検知されています。)

パターン8 存在しない外部キー(Bank Contry)が入力されている
パターン9 存在しない外部キー(Bank Contry)が入力されている

”XX”なんて国コードは無いので、当然ですね。

“XX”を”JP”に変えてConfirmします。

続いてBank Keyです。

先ほどと同様にすべての行を選択してConfirmします。

パターン5(テーブルKey(Bank Key)がフィールドの桁数を超えている)や、パターン6(テーブルKey(Bank Key)がカスタマイズで設定された桁数を超えている)がエラー検知されそうなものですが、このステップでは一旦Confirmedになります。

続いてRegionを選択します。

すべての行を選択してConfirmします。

すると、パターン10, 11(存在しない外部キー(Region)が入力されている)の不整合が検知されました。

適切な値(”13″)に変更してConfirmしてあげます。

そうすると、すべてのマッピングタスクがConfirmedになりました。

一旦移行オブジェクト一覧に戻って、Simulateボタンを押下します。

しばらく待つとSimulationが終了します。

エラーが検出されたようなので、↓の部分を押下します。

パターン6(テーブルKey(Bank Key)がカスタマイズで設定された桁数を超えている)および

パターン5(テーブルKey(Bank Key)がフィールドの桁数を超えている)が検出されています。

マッピングタスクまで戻って、パターン5,6の値を変更します。↓

再度Simulateします。

すると、Errorsがゼロになります。

Migration Object一覧の画面から、Migrateを押下します。

下記の画面が出ます。OKを押下します。

しばらく待つと、移行が完了します。

SE16からレコードがImportされていることを確認できます。

あれ?パターン7は?

パターン7(通常の項目(Street)がフィールドの桁数を超えている)は、Streetのフィールド桁数が35なのに対して36桁をテンプレートに入力していたのでテーブルに入るはずがないものでした。

したがって、Simulationのステップ以前で、不整合として検出されるものかと思っていましたが、そうはならず、SE16のキャプチャの通りフィールドに入り切らなかった文字は桁落ちしてImportされていました。

この動きはどうも釈然としないので、外部キー以外の項目が桁あふれをしていた時にどう検知されるかは別の記事にまとめたいと思います。

移行コックピットにおけるデータ不備は上記のようなステップで検証/修正されます。

特にMapping Taskでの値の修正は、慣れていないと戸惑うこともあると思うので、データ移行の担当になったのなら一度動確してこのへんの動きをよくおさえておくことをおすすめします。

移行コックピットの全体的な操作手順については下記のブログを参考にしてください。

LTMC for Master Data Step by Step Process

このブログでは、データをテンプレートに入力した後の操作について説明します。

ヘルプポータルのリンクはこちら↓

Training Material – SAP S/4HANA Migration Cockpit

標準の移行オブジェクトの一覧を参照する場合はこちら↓(オンプレとクラウドの区別があるので注意です)

Migration Objects for SAP S/4HANA

Migration Objects for SAP S/4HANA Cloud

あと標準の移行オブジェクトは、定期的に置き換えられています。

↓のリンクから、古いオブジェクトと新しいオブジェクトの互換性を確認できます。

Deprecated Migration Objects – SAP S/4HANA Migration Cockpit

例えば同じ品目マスタの移行オブジェクトでもTcode:MM03準拠の”Material”は、オンプレ版2020/クラウド版1911から、FioriApp準拠の”Product”に置き換えられるので注意が必要です。

S/4HANAにおける移行コックピットには新旧の二種類あります。

古い方は”Migrate your Data – Migration Cockpit (Old)“と呼ばれ、TCODE:LTMCで実行するもの。

新しい方は”Migrate Your Data – Migration Cockpit“と呼ばれるFioriアプリです。

古い方は、クラウド版だと2105から、オンプレ版だと2021から実質的に使えなくなりますので、新しい方(FioriApp)を使うようにご注意下さい。

2988692 – SAP S/4HANA Migration Cockpit – Information about different versions

以上