SAP BW/4HANA

SAP BW/4HANAのTransformation基礎:作成方法と変換ルール、DTPとの違い

SAP BW/4HANAのTransformationについて、データフロー上の役割、作成手順、変換ルールの種類、DTPとの違い、実行エラーの確認方法を実務向けに解説します。

SAP BW/4HANA TransformationのデータフローソースデータがTransformationとDTPを通ってターゲットへ到達する流れを示すSAP BW/4HANA TransformationのデータフローソースデータがTransformationとDTPを通ってターゲットへ到達する流れを示す入力利用ロードソース入力構造とソースレコードTransformation項目マッピングと値の変換…DTPフィルターと転送実行設定ターゲットADSO変換後に格納されるデータCertPas オリジナル図解
ソースからTransformationとDTPを経由してターゲットADSOへロードする流れ
目次
  1. SAP BW/4HANAのTransformationとは
  2. TransformationとDTPの違い
  3. Transformationの作成手順
  4. 変換ルールの主な種類
  5. Transformation設計の実務ポイント
  6. DTP実行前の確認
  7. Transformationエラーの切り分け
  8. 変更後のテストと運用

SAP BW/4HANAのTransformationとは

SAP BW/4HANAのTransformationは、ソース側の項目をターゲット側の項目へ対応付け、必要な変換処理を定義するオブジェクトです。データをADSOなどへロードする際に、項目のマッピング、値の変換、計算、ルックアップといった処理をデータフローへ組み込みます。単純な項目コピーから複雑な業務ルールまで、ターゲット構造に合わせて入力データを整える役割を持ちます。

Transformationは単独でデータを実行する処理ではありません。通常は、データを読み出すソース、変換定義、データ転送プロセス(DTP)、データを格納するターゲットを組み合わせて使用します。データモデル全体を確認するときは、関連するAdvanced DataStore Objectの設計も併せて確認すると、ターゲット項目の意味と処理の境界を整理しやすくなります。

TransformationとDTPの責務比較変換ロジックと転送実行の責務の違いを整理するTransformationとDTPの責務比較変換ロジックと転送実行の責務の違いを整理するデータフローで組み合わせるTransformationマッピング、定数、式、参…DTPフィルター、抽出範囲、実…CertPas オリジナル図解
Transformationが変換ロジック、DTPが転送実行を担当する比較図

TransformationとDTPの違い

Transformationはデータをどのように変換するかを定義します。一方、DTPは、どのデータをどの条件で読み込み、どのTransformationを通して、どのターゲットへ転送するかを制御します。

項目TransformationDTP
主な役割項目マッピングと変換ロジックの定義データ転送の実行制御
定義する内容ルール、式、ルーチン、参照フィルター、抽出範囲、実行モード
実行単位DTPなどから呼び出されるデータ転送を開始する
変更の影響変換後の値や項目対応に影響抽出範囲や実行方法に影響

Transformationを修正しても、DTPのフィルター条件や実行設定は別に管理されます。逆に、DTPの条件を変更しても、Transformationに定義した項目ロジック自体は変わりません。この分離を意識すると、データが対象外になった問題と、対象データの値が誤変換された問題を切り分けやすくなります。

Transformationの作成手順

実際の作成では、最初にソースとターゲットの項目定義を確認します。ターゲットの項目が持つデータ型、長さ、通貨、単位、キー属性を確認し、ソース項目との意味が一致しているかを整理します。項目名が似ているだけでは正しい対応とは限らないため、業務上の定義も確認します。

  1. BW/4HANAのモデリング環境でデータフローを開きます。
  2. ソースオブジェクトとターゲットオブジェクトを指定します。
  3. Transformationを作成し、ターゲット項目を表示します。
  4. ソース項目をターゲット項目へ割り当てます。
  5. 必要な変換ルール、式、参照処理を追加します。
  6. Transformationを保存し、整合性チェックを実行します。
  7. 関連するDTPを確認し、テストデータで転送します。
  8. ターゲットのデータとエラーログを確認します。

ターゲット項目の設計が複雑な場合は、先にInfoObjectの役割と設計を確認します。特性、キー数値、時間特性、通貨特性などの定義がTransformationのマッピング結果に影響するためです。

変換ルールの主な種類

項目直接割当

ソース項目をターゲット項目へそのまま割り当てる方法です。データ型や意味が一致している場合に適しています。直接割当は処理内容が明確で、後からの保守もしやすい方法です。

定数

ターゲット項目へ固定値を設定します。システム区分、データ発生元、固定のステータスなど、ソースに存在しない値を補うときに使います。固定値は業務ルールとして管理し、値の変更が発生したときの影響範囲を記録します。

式による計算

複数項目の加算、減算、文字列の組み立て、条件による値の設定などを定義します。計算式を使う場合は、NULLや空文字、ゼロ、符号、桁数の扱いをテストします。日付や通貨を扱う式では、入力データの形式と対象項目の属性を揃えます。

参照による補完

別のデータから属性や変換値を取得し、ターゲット項目を補完します。参照キーが一意であること、該当データがない場合の扱い、参照処理の負荷を確認します。大量データに対して複雑な参照を設定すると処理時間が増えるため、実行量と運用時間帯も考慮します。

ルーチン

標準の割当や式だけでは表現しにくい業務ロジックを、ルーチンとして実装します。ルーチンを使う場合は、入力値が欠落したときの動作、エラー行の扱い、処理結果の再現性を明確にします。ロジックを小さく保ち、複数のTransformationで同じ処理が必要な場合は、重複実装を避ける設計を検討します。

Transformation設計の実務ポイント

まず、ソース項目とターゲット項目の対応表を作成します。対応表には、項目名だけでなく、業務上の意味、変換内容、初期値、エラー時の扱い、確認方法を記載します。これにより、後から画面設定だけを見ても処理意図を追跡できます。

次に、変換処理をできるだけ単純なルールから構成します。直接割当、定数、標準的な式で表現できる処理を優先し、ルーチンは必要な範囲に限定します。処理を分解できる場合は、複数のTransformationや前段のデータモデルに責務を分けると、テスト対象が明確になります。

データモデルを設計するときは、複数の提供元を統合するCompositeProviderの構成も確認します。Transformationで吸収すべき差異と、統合レイヤーで扱うべき差異を分けることで、同じ変換ロジックを繰り返し実装する状況を減らせます。

DTP実行前の確認

DTPを実行する前に、ソースに実データが存在すること、抽出条件が意図した期間や会社コードを対象にしていること、ターゲットのロード状態が適切であることを確認します。Transformationだけを確認しても、DTPフィルターによって対象データが除外されていれば、期待した結果は得られません。

確認項目は、ソース件数、DTPのフィルター、Transformationの割当、ターゲット項目の状態、既存データとの重複処理です。初回は少量のテスト範囲を設定し、変換前後の値を比較してから本番相当の件数へ広げます。

大量データを扱う場合は、処理時間、パッケージ分割、ターゲットの書き込み負荷を記録します。性能問題の調査では、BW/4HANAのパフォーマンスチューニングを参照し、TransformationだけでなくDTP、ソース取得、ターゲット書き込みの各段階を分けて確認します。

Transformationエラーの切り分け

Transformationのエラーは、マッピング不備、データ型の不一致、必須値の欠落、参照値の未検出、ルーチンの処理エラーに分けて調査します。最初にDTPの実行ログでエラーが発生した処理段階と対象パッケージを確認します。

対象パッケージのデータを抽出し、変換前の値、Transformationで設定したルール、ターゲットへ書き込む値を順番に比較します。特定の値だけで失敗する場合は、NULL、空文字、特殊文字、桁あふれ、日付形式を重点的に確認します。すべてのパッケージで失敗する場合は、項目割当、データ型、ターゲット状態、DTP設定を先に確認します。

参照処理で失敗する場合は、参照キーの形式と一意性、対象期間、未検出時の戻り値を確認します。ルーチンで失敗する場合は、入力値が想定した形式になっているか、例外やエラー行の処理が定義されているかを調べます。ログに残る情報が不足している場合は、テスト用の少量データで処理を分割し、どのルールで値が変わるかを追跡します。

変更後のテストと運用

Transformationを変更した後は、正常系、境界値、欠損値、参照未検出、重複キー、再実行の各ケースを確認します。テスト結果には、入力件数、出力件数、エラー件数、代表的な変換前後の値を記録します。

本番反映では、変更対象のTransformationと関連DTPを特定し、依存するデータフローを確認します。既存データを再ロードする場合は、削除、上書き、追加の動作をターゲットの設計に合わせて決めます。変更後の初回実行では、通常より細かくログとターゲットデータを監視します。

運用引き継ぎ用には、Transformationの目的、ソースとターゲット、主要ルール、参照先、エラー時の確認箇所、再実行手順を残します。処理の背景を記録しておくと、担当者が変わった後もDTPの実行結果を正しく評価できます。

ブログ一覧へ戻る