目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

マッピングにおけるノーマライザトランスフォーメーションの使用

マッピングにおけるノーマライザトランスフォーメーションの使用

ノーマライザトランスフォーメーションがCOBOLソースから受け取るデータのタイプが複数ある場合は、各行内のデータのタイプに応じた別々のターゲットにノーマライザ出力ポートを接続する必要があります。次の例に、ノーマライザトランスフォーメーションを介してSales_File COBOLソース定義をと複数のターゲットにマップする方法を示します。
Sales_Fileソースレコードには、店舗情報または店舗で販売されている品目に関する情報のどちらかが含まれています。売上ファイルには、両方のタイプのレコードが含まれています。
以下の例に、2つの売上ファイルレコードを挙げます。
COBOLソース定義およびノーマライザトランスフォーメーションには、両方のタイプのレコード内のフィールドを表すカラムがあります。品目行から店舗行をフィルタして、それらの行を種々のターゲットに渡す必要があります。
以下の図に、Sales_File COBOLソースと、対応するStore_Data(値が"S")およびDetail_Data(値が"D")のSales_File COBOLソースを示します。
Sales_File COBOLソースが開いて、[ポート名]、[レベル]、[発生数]、[データ型]、および[長さ]の各列を表示します。
レコード内に店舗データまたは商品データのどちらが格納されているかは、Hdr_Rec_Typeで定義されます。Hdr_Rec_Type値が"S"ならレコードの内容はStore_Dataで、Hdr_Rec_Typeが"D"ならDetail_Dataです。Detail_Dataレコード内には常に、Supplier_Infoフィールドのオカレンスが4つ含まれています。
データをフィルタするには、ノーマライザ出力行をルータトランスフォーメーションに接続し、店舗、品目、およびサプライヤデータを別々のターゲットにルーティングします。Hdr_Rec_Typeの値に基づいて、ルータトランスフォーメーション内の行をフィルタすることができます。
以下の図は、Sales_Fileレコードを各種ターゲットにルーティングするマッピングを示しています。
""
マッピングによって、複数のレコードタイプがCOBOLソースからリレーショナルターゲットにフィルタされます。複数出現ソースカラムは、別個のリレーショナルテーブルにマップされます。各行は、ソース行内のオカレンスでインデックス付けされます。
マッピングには次のトランスフォーメーションが含まれます。
  • ノーマライザトランスフォーメーション。
    ノーマライザトランスフォーメーションでは、ソースに複数出現Detail_Dataが含まれている場合、複数行が返されます。また、同じソースからのいくつかのレコードタイプが処理されます。
  • ルータトランスフォーメーション。
    ルータトランスフォーメーションは、Hdr_Rec_Typeの値に応じてデータをターゲットにルーティングします。
  • アグリゲータトランスフォーメーション。
    Aggregatorトランスフォーメーションは、各Supplier_Infoオカレンスと共に出現したDetail_Data行のうち重複している行を除去します。
マッピングの機能は次のとおりです。
  1. ノーマライザトランスフォーメーションは、ヘッダレコードタイプおよびヘッダ店舗番号のカラムをSales_Headerターゲットに渡します。各Sales_Headerレコードは、Sales_Header行をターゲット行のStore_DataまたはDetail_Dataにリンクするための生成キーを備えています。Hdr_DataおよびStore_Dataは行ごとに1回返されます。
  2. すべてのカラムがノーマライザトランスフォーメーションからルータトランスフォーメーションに渡されます。Detail_Dataデータは1行につき4回、Supplier_Infoカラムのオカレンスごとに1回ずつ渡されます。Detail_Dataカラム(ただし、Supplier_Infoカラムを除く)には重複データが含まれます。
  3. Hdr_Rec_Typeが"S"の場合、ルータトランスフォーメーションで店舗名、所在地、市、および生成キーがStore_Dataに渡されます。生成キーによって、StoreData行がSales_Header行にリンクされます。
    ルータトランスフォーメーションには、店舗データ用および商品用のユーザー定義グループが1つずつ含まれています。
  4. ルータトランスフォーメーションは、品目、品目説明、価格、数量、およびDetail_Data生成キーをアグリゲータトランスフォーメーションに渡します。
  5. Hdr_Rec_Typeが"D"の場合、ルータトランスフォーメーションはサプライヤコード、名前、およびカラムIDをSuppliersターゲットに渡します。このトランスフォーメーションによって渡された生成済みキーは、Suppliers行をDetail_Dataカラムにリンクするキーです。
  6. 重複したDetail_Dataカラムは、アグリゲータトランスフォーメーションによって削除されます。品目、説明、価格、数量、および生成キーの1インスタンスが、アグリゲータからDetail_Dataに渡されます。Detail_Dataの生成キーにより、Detail_Data行がSuppliers行にリンクされます。Detail_Dataには、Detail_Data行をSales_Header行にリンクするキーもあります。
    以下の図は、ルータトランスフォーメーション内のユーザー定義グループおよびフィルタ条件を示しています。
    [トランスフォーメーションの編集]ダイアログボックスの[グループ]タブには[グループ名]列と[グループフィルタ条件]列が含まれます。この[グループ]タブには、[トランスフォーメーションの選択]、[トランスフォーメーションタイプ]、および[説明]の各フィールドも含まれています。
ルータトランスフォーメーションで店舗データまたは品目データのどちらが渡されるかは、レコードタイプに基づきます。