ヘッダーをスキップ

Oracle® Fusion Middleware Oracle Data IntegratorのためのSAP ABAP BWアダプタ・スタート・ガイド 12c (12.1.3.0.1) E59402-03 |
| 目次

前 | 次 |

# 6マッピングの作成および実行

この章では、マッピングの作成および実行の方法について説明します。

この章には次の項が含まれます:

- マッピングの作成

- マッピングの実行

## マッピングの作成

ODIソースおよびターゲットのデータ・モデルの作成が完了したので、次に示すSAP BWデータ・ターゲットからデータを抽出するためのODIマッピングを作成できます。

- インフォ・キューブ`0FIAP_C20`データ・ターゲットを`W_VENDR_BAL_DS` Oracle表に。

- インフォ・オブジェクト`0CREDITOR`データ・ターゲットを`W_ACCNT_VENDR_DS` Oracle表に。

- インフォ・オブジェクト`0GL_ACCOUNT`の階層データを`W_GL_ACCOUNT_HIER_DS` Oracle表に。

- インフォ・オブジェクト`0GL_ACCOUNT`の間隔階層データを`TARGET_INTERVAL_HIERARCHY` Oracle表に。

- ODS/DSO `0BBP_PO`データ・ターゲットを`W_PURCH_DS` Oracle表に。

- インフォ・キューブ`0FIAP_C20`およびインフォ・オブジェクト`0CREDITOR`のデータ・ターゲット結合を`W_VENDER_CUBE_OBJ_DS` Oracle表に。

- `IC 0SD_C04 / IO 0SOLD_TO`のインフォ・キューブおよびナビゲーション属性データを`TARGET_NAVIGATIONAL_ATTRIBUTES` Oracle表に。

- オープン・ハブ宛先`ZOHD_SALE (/BIC/OHZOHD_SALE)`を`W_OPENHUB_SALES_DS` Oracle表に。

- デルタ抽出は、インフォ・オブジェクトを除く、前述のどのデータ・ターゲットに対しても実行できます。データ抽出の実行方法は、第7章「デルタ抽出のパッケージの作成」を参照してください。

マッピングを作成するには、次の手順を実行します。

- インフォ・キューブの抽出

- インフォ・オブジェクトの抽出

- インフォ・オブジェクト階層の抽出

- インフォ・オブジェクト間隔階層の抽出

- ODS/DSOの抽出

- インフォ・キューブおよび関連インフォ・オブジェクトの抽出

- インフォ・キューブの抽出(ナビゲーション属性あり)

- オープン・ハブの抽出

### インフォ・キューブの抽出

この項では、インフォ・キューブ`0FIAP_C20`データ・ターゲットを表すSAP BWソース・モデルから`W_VENDR_BAL_DS` Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。

#### マッピングの作成

マッピングを作成するには:

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで「SAP BW Demo」プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`「Oracle_Target」`モデルの`「W_VENDR_BAL_DS」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット・データストア」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、`「SAP BW Source」`モデルの`「0FIAP_C20 Vendor Balances」`データストアを選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. ターゲット・データストアの`「0COMP_CODE」`属性を選択します。

2. `「IOPK_0FIAP_C201_0COMP_CODE_PK_COMP_CODE」`属性を、`「0FIAP_C20 Vendor Balances」`ソース・データストアからターゲット・データストアの「COMP_CODE」属性までドラッグします。

3. 「実行ヒント」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
   図image041.jpgの説明

4. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `W_VENDR_BAL_DS.OCREDITOR = 0FIAP_C20.IOPK_0FIAP_C202_0CREDITOR_PK_VENDOR`

   - `W_VENDR_BAL_DS.ORC ACCOUNT = 0FIAP_C20.IOPK_0FIAP_C202_0RC_ACCOUNT_PK_GL_ACCOUNT`

   - `W_VENDR_BAL_DS.TOTAL DEBIT POSTING = 0FIAP_C20.KF_0DEBIT`

   - `W_VENDR_BAL_DS.TOTAL CREDIT POSTING - 0FIAP_C20.KF_0DEBIT`

   - `W_VENDR_BAL_DS.CUMULATIVE BALANCE - 0FIAP_C20.KF_0BALANCE`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」のダイアグラムは次のように表示されます。
   図image043.jpgの説明

2. ターゲット・グループで、インフォ・キューブ`0FIAP_C20`のデータ・ターゲットを含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、`SAP BW`データ・ターゲットで構成されています。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`を選択します。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから`「IKM Oracle Incremental Update」`を選択します。

6. IKMのオプションを次のとおりに設定します。

   1. 「FLOW_CONTROL」オプションには「No」を選択します。

   2. その他のオプションはそのままにします。

7. 「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。

### インフォ・オブジェクトの抽出

この項では、インフォ・オブジェクト`0CREDITOR`データ・ターゲットを表す`SAP BW`ソース・モデルから`W_ACCNT_VENDR_DS` Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「InfoObject_SAP_BW_VendorAcc.W_ACCNT_VENDR_DS」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`「Oracle_Target」`モデルの`「W_ACCNT_VENDR_DS」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット・データストア」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、インフォ・オブジェクトのメイン表`「0CREDITOR Vendor」`データストアを`「SAP BW Source」`モデルから選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

5. 同じ操作を、`「SAP BW Source」`モデルにあるインフォ・オブジェクト・テキスト表`「TXT_0CREDITOR Texts: Char. Vendor」`データストアに対して実行します。

#### インフォ・オブジェクトのメイン表とテキスト表の間の結合の定義

マッピング内でインフォ・オブジェクトのメイン表とテキスト表のソース・データストア間の結合を作成するには:

1. 「論理」ダイアグラムでインフォ・オブジェクトのテキスト表`「TXT_0CREDITOR Texts: Char. Vendor」`をドラッグしたときに、インフォ・オブジェクトのメイン表データストア`「0CREDITOR Vendor」`のvendor属性とインフォ・オブジェクトのテキスト表`「TXT_0CREDITOR Texts: Char. Vendor」`の`Vendor`属性に、自動的に結合が作成されます。これによって、最初の結合が次に示すように「vendor」キー識別子上に定義されます。

   図image052.jpgの説明

2. 次に示すように、「プロパティ」パネルで、`「結合順序」`を選択し、「実行ヒント」オプションが「ソース」に設定されていることを確認します。

   図image054.jpgの説明

3. メイン表`0CREDITOR`の表番号がテキスト表`TXT_0CREDITOR`の番号よりも小さいことを確認してください。1:n関係では、親表が結合の最初に指定されている必要があります。

4. 結合タイプを左側外部結合に変更します(`0CREDITOR`のすべての行と、`TXT_0CREDITOR`にある一致する行)。

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. ターゲット・データストアの`「VENDOR」`属性を選択します。

2. `「VENDOR」`属性を、`「OCREDITOR」`ソース・データ・ターゲットからターゲット・データストアの「VENDOR」属性までドラッグします。

3. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
   図image056.jpgの説明

4. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `W_ACCNT_VENDR_DS.PCOMPANY = 0CREDITOR.PCOMPANY`

   - `W_ACCNT_VENDR_DS.PHONE = 0CREDITOR.PHONE`

   - `W_ACCNT_VENDR_DS.PLANT = 0CREDITOR.PLANT`

   - `W_ACCNT_VENDR_DS.STREET = 0CREDITOR.STREET`

   - `W_ACCNT_VENDR_DS.MED_DESC = TXT_0CREDITOR.TXTMD`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」のダイアグラムは次のように表示されます。
   図image058.jpgの説明

2. ターゲット・グループで、インフォ・オブジェクトのメイン表`0CREDITOR`とテキスト表`TXT_0CREDITOR`の両方を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、インフォ・オブジェクトのメイン表とテキスト表を結合した`SAP BW`データ・ターゲットで構成されています。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`を選択します。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから`「IKM Oracle Incremental Update」`を選択します。

6. IKMのオプションを次のとおりに設定します。

   1. 「FLOW_CONTROL」オプションには「No」を選択します。

   2. その他のオプションはそのままにします。

7. 「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。

### インフォ・オブジェクト階層の抽出

この項では、インフォ・オブジェクト`0GL_ACCOUNT`データ・ターゲットの階層データを表すSAP BWソース・モデルから`W_GL_ACCOUNT_HIER_DS` Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「InfoObject_SAP_BW_GlAccount.W_GL_ACCOUNT_HIER_DS」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`「Oracle_Target」`モデルの`「W_GL_ACCOUNT_DS」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、`「SAP BW Source」`モデルにあるインフォ・オブジェクトの階層表`「HIER_0GL_ACCOUNT」`データストアを選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

5. RSHIENMソース属性に対するフィルタ条件`「HIER_0GL_ACCOUNT.RSHHIENM = 'ACI1'」`を追加します。

   `ACI1`は、`0GL_ACCOUNT`に対して定義されている階層の名前です。定義した階層のリストは、階層データ・ストアを開くと表示される「定義」タブの「説明」セクションにあります。

6. フィルタ条件を追加した後は、「ソース」ダイアグラムは次のように表示されます。

   図image067.jpgの説明

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. ターゲット・データストアの`「HIER_NAME」`属性を選択します。

2. `「RSHIENM」`属性を、`「HIER_0GL_ACCOUNT」`ソース・データ・ターゲットからターゲット・データストアの「HIER_NAME」属性までドラッグします。

3. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。

   図image068.jpgの説明

4. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `W_GL_ACCOUNT_HIER_DS.NODEID = HIER_0GL_ACCOUNT.NODEID`

   - `W_GL_ACCOUNT_HIER_DS.INFOOBJECT_NAME = HIER_0GL_ACCOUNT.IOBJNM`

   - `W_GL_ACCOUNT_HIER_DS.NODENAME = HIER_0GL_ACCOUNT.NODENAME`

   - `W_GL_ACCOUNT_HIER_DS.TLEVEL = HIER_0GL_ACCOUNT.TLEVEL`

   - `W_GL_ACCOUNT_HIER_DS.PARENTID = HIER_0GL_ACCOUNT.PARENTID`

   - `W_GL_ACCOUNT_HIER_DS.CHILDID = HIER_0GL_ACCOUNT.CHILDID`

   - `W_GL_ACCOUNT_HIER_DS.NEXTID = HIER_0GL_ACCOUNT.NEXTID`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。

   図image070.jpgの説明

2. ターゲット・グループで、インフォ・オブジェクトのメイン表`0CREDITOR`とテキスト表`TXT_0CREDITOR`の両方を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、インフォ・オブジェクトのメイン表とテキスト表を結合した`SAP BW`データ・ターゲットで構成されています。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`を選択します。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから`「IKM Oracle Incremental Update」`を選択します。

6. IKMのオプションを次のとおりに設定します。

   1. 「FLOW_CONTROL」オプションには「No」を選択します。

   2. その他のオプションはそのままにします。

7. 「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。

### インフォ・オブジェクト間隔階層の抽出

この項では、インフォ・オブジェクト、および間隔階層が格納されているインフォ・オブジェクト階層表からデータを抽出する方法を説明します。データはインフォ・オブジェクト`0GL_ACCOUNT`とインフォ・オブジェクト階層表`HIER_0GL_ACCOUNT`から抽出されます。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「InfoObject_InfoObjectHierarchy_join.0GL_ACCOUNT」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`Oracle_Target Model W_SD_DELIVERY_CUBE_SOLDTO`の`「TARGET_INTERVAL_HIERARCHY」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、「SAP BW Source」モデルのインフォ・オブジェクト`「0GL_ACCOUNT」`を選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

5. 同じ操作を、「SAP BW Source」モデルにあるインフォ・オブジェクト階層表`「HIER_0GL_ACCOUNT」`データストアに対して実行します。

#### ソース間の結合の定義(インフォ・オブジェクト・メイン表とインフォ・オブジェクト階層表)

インフォ・オブジェクトとインフォ・オブジェクト階層表の間の結合はODIによって自動的に追加されることがありますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。

ソース側フィルタをRSHIENMとVERSIONに適用します。

図HierachyInfoobject_html_m712df372.pngの説明
図HierachyInfoobject_html_m78db267b.pngの説明

結合の追加: すべての結合はステージング領域で実行する必要があります。ソースではありません。

結合式は次のようになります。

図HierachyInfoobject_html_287a41c0.pngの説明

最終的な結合とフィルタのセットアップは、次のようになります。

図HierachyInfoobject_html_9cc0776.pngの説明

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. `「NODEID」`属性を、「HIER_0GL_ACCOUNT」ソース・データ・ターゲットから「TARGET_INTERVAL_HIERARCHY」ターゲット・データストアの「NODEID」属性までドラッグします。

2. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。

   図HierachyInfoobject_html_24993572.pngの説明

3. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `TARGET_INTERVAL_HIERARCHY.RSHIENM = HIER_OGL_ACCOUNT.RSHIENM`

   - TARGET_INTERVAL_HIERARCHY.`PARENTID = HIER_OGL_ACCOUNT.PARENTID`

   - TARGET_INTERVAL_HIERARCHY.`INTERVL = HIER_OGL_ACCOUNT.INTERVAL`

   - TARGET_INTERVAL_HIERARCHY.`LEAFFROM = HIER_OGL_ACCOUNT.LEAFFROM`

   - TARGET_INTERVAL_HIERARCHY.`LEAFTO = HIER_OGL_ACCOUNT.LEAFTO`

   - TARGET_INTERVAL_HIERARCHY.`VERSION = HIER_OGL_ACCOUNT.VERSION`

   - TARGET_INTERVAL_HIERARCHY.`CHRT_ACCTS = OGL_ACCOUNT.CHRT_ACCTS`

   - TARGET_INTERVAL_HIERARCHY.`GL_ACCOUNT = OGL_ACCOUNT.GL_ACCOUNT`

   - TARGET_INTERVAL_HIERARCHY.`BAL_FLAG = OGL_ACCOUNT.BAL_FLAG`

   - TARGET_INTERVAL_HIERARCHY.`GLACCEXT = OGL_ACCOUNT.GLACCEXT`

   - TARGET_INTERVAL_HIERARCHY.`INCST_FLAG = OGL_ACCOUNT.INCST_FLAG`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」のダイアグラムは次のように表示されます。
   図HierachyInfoobject_html_61501ab6.pngの説明

2. ターゲット・グループで、ODIソース・グループのアクセス・ポイントを選択します。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`が設定されていることを確認します。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータストアを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、IKM SQL制御追加が設定されていることを確認します。

6. マッピングを実行します。データがターゲット・データストアに移入されていることを確認します。

### ODS/DSOの抽出

この項では、`ODS/DSO 0BBP_PO`データ・ターゲットを表すSAP BWソース・モデルから`W_PURCH_DS` Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「ODS_SAP_BW_PurchOrdl.W_PURCH_DS」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`「Oracle_Target」`モデルの`「W_PURCH_DS」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、`「SAP BW Source」`モデルの`「0BBP_PO Purchase Order - Single Documents」`データストアを選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. ターゲット・データストアの`「PO_GUIDE」`属性を選択します。

2. `「BBP_POGUID」`属性を、`「0BBP_PO Purchase Order - Single Documents」`ソース・データ・ターゲットからターゲット・データストアの「PO_GUIDE」属性までドラッグします。

3. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
   図image077.jpgの説明

4. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `W_PURCH_DS.ORDER_ITEM_GUID = 0BBP_PO.BBP_POITGU`

   - `W_PURCH_DS.ACC_ASS_GUID = 0BBP_PO.BBP_ACGUID`

   - `W_PURCH_DS.GUIDE_CONTRCT = 0BBP_PO.BBP_CTGUID`

   - `W_PURCH_DS.ORDER_QUANT = 0BBP_PO.BBP_ASPQOU`

   - `W_PURCH_DS.NET_PRICE = 0BBP_PO.BBP_NETPRC`

   - `W_PURCH_DS.PRICE_UNIT = 0BBP_PO.BBP_PRCUNT`

   - `W_PURCH_DS.NO_OF_PURCH_ODR = 0BBP_PO.BBP_POCT`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」のダイアグラムは次のように表示されます。
   図image079.jpgの説明

2. ターゲット・グループで、`ODS/DSO 0BBP_PO`のデータ・ターゲットを含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、`SAP BW`データ・ターゲットで構成されています。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`を選択します。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから`「IKM Oracle Incremental Update」`を選択します。

6. IKMのオプションを次のとおりに設定します。

   1. 「FLOW_CONTROL」オプションには「No」を選択します。

   2. その他のオプションはそのままにします。

7. 「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。

### インフォ・キューブおよび関連インフォ・オブジェクトの抽出

この項では、インフォ・キューブ`0FIAP_C20`とインフォ・オブジェクト`0CREDITOR`のデータ・ターゲット結合を表すSAP BWソース・モデルから`W_VENDER_CUBE_OBJ_DS` Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「InfoCube_InfoObject_join.W_VENDER_CUBE_OBJ_DS」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`「Oracle_Target」`モデルの`「W_VENDER_CUBE_OBJ_DS」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、`「SAP BW Source」`モデルのインフォ・キューブ`「0FIAP_C20 Vendor Balances」`データストアを選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

5. 同じ操作を、`「SAP BW Source」`モデルにあるインフォ・オブジェクトのメイン表`「0CREDITOR Vendor」`とテキスト表`「TXT_0CREDITOR Texts: Char. Vendor」`データストアに対して実行します。

#### ソース間の結合の定義(インフォ・キューブとインフォ・オブジェクト)

マッピングのソース・データストア間の結合を作成するには:

1. 「論理」ダイアグラムの「ソース」領域で、インフォ・キューブ`「0FIAP_C20 Vendor Balances」`データストアの`「IOPK_0FIAP_C202_0CREDITOR_PK_VENDOR」`属性をインフォ・オブジェクトのメイン表`「0CREDITOR Vendor」`の`「VENDOR」`属性までドラッグします。これによって、最初の結合が次に示すように「Vendor」キー識別子上に定義されます。

   図image088.jpgの説明

2. 「プロパティ」パネルに、`「0FIAP_C20.IOPK_0FIAP_C202_0CREDITOR_PK_VENDOR=0CREDITOR.VENDOR」`という結合句が表示されます。

3. 次に示すように、「プロパティ」パネルで、「ANSI構文の生成」および「結合順序」オプションを選択し、「実行ヒント」オプションが「ソース」に設定されていることを確認します。

   図image090.jpgの説明

4. `0FIAP_C20`の表番号が`0CREDITOR`の番号よりも小さいことを確認します。1:n関係では、親データ・ターゲットが結合の最初に指定されている必要があります。

5. `0FIAP_C20`と`0CREDITOR`との結合を左側外部結合に変更します(`0FIAP_C20`のすべての行と、`0CREDITOR`にある一致する行)。

6. `0CREDITOR`と`TXT_0CREDITOR`との結合を左側外部結合に変更します(`0CREDITOR`のすべての行と、`TXT_0CREDITOR`にある一致する行)。

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. ターゲット・データストアの`「COMP_CODE」`属性を選択します。

2. `「IOPK_0FIAP_C201_0COMP_CODE_PK_COMP_CODE」`属性を、`「0FIAP_C20 Vendor Balances」`ソース・データ・ターゲットからターゲット・データストアの`「COMP_CODE」`属性までドラッグします。

3. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。

   図image091.jpgの説明

4. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `W_VENDER_CUBE_OBJ_DS.VENDOR = 0FIAP_C20.IOPK_0FIAP_C202_0CREDITOR_PK_VENDOR`

   - `W_VENDER_CUBE_OBJ_DS.GL_ACCOUNT = 0FIAP_C20.IOPK_0FIAP_C202_0RC_ACCOUNT_PK_GL_ACCOUNT`

   - `W_VENDER_CUBE_OBJ_DS.SALES_FOR_PERIOD = 0FIAP_C20.KF_0SALES`

   - `W_VENDER_CUBE_OBJ_DS.CUM_BALANCE = 0FIAP_C20.KF_0BALANCE`

   - `W_VENDER_CUBE_OBJ_DS.PLANT = 0CREDITOR.PLANT`

   - `W_VENDER_CUBE_OBJ_DS.MEDIUM_DESC = TXT_0CREDITOR.TXTMD`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。

   図image093.jpgの説明

2. ターゲット・グループで、`Info Cube`およびインフォ・オブジェクト表の両方を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、結合された2つの`SAP BW`データ・ターゲットで構成されています。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`を選択します。

4. 「プロパティ」パネルで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから`「IKM Oracle Incremental Update」`を選択します。

6. IKMのオプションを次のとおりに設定します。

   1. 「FLOW_CONTROL」オプションには「No」を選択します。

   2. その他のオプションはそのままにします。

7. 「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。

### インフォ・キューブの抽出(ナビゲーション属性あり)

この項では、SAPインフォ・キューブおよびそのナビゲーション属性からデータをロードするためのマッピングをODI内に作成する方法を説明します。データは、インフォ・キューブ`0SD_C04`とインフォ・オブジェクト`0SOLD_TO`から抽出されます。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「InfoCube_InfoObject_Nav_join.0SD_C04」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、Oracleターゲット・モデル`「TARGET_NAVIGATIONAL ATTRIBUTES」`の`「0SD_C04」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、`「SAP BW Source」`モデルのインフォ・キューブ`「0SD_C04 Delivery service」`データストアを選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

5. 同じ操作を、`「SAP BW Source」`モデルにあるインフォ・オブジェクト・メイン表`「0SOLD_TO Customer」`データストアに対して実行します。

#### ソース間の結合の定義(インフォ・キューブとインフォ・オブジェクト)

インフォ・キューブとインフォ・オブジェクトの間の結合はODIによって自動的に追加されますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。

結合式を使用した最終的な結合セットアップは次のようになります。

図image101.jpgの説明

ナビゲーション属性を取り出すためのインフォ・オブジェクト結合はすべて、ステージング領域で実行する必要があります。ソースではありません。

図image103.jpgの説明

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. `「0SD_C04.IOPK_0SD_C041_0SOLD_TO_PK_CUSTOMER」`属性を、`「0SD_C041 Delivery service」`ソース・データ・ターゲットからターゲット・データストアの「IOPK_0SD_C041_0CUST_GROUP_PK_CUST_GROUP」属性までドラッグします。

2. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。

   図image105.jpgの説明

3. この操作を繰り返して、次に示す単純マッピングを実行します。

   図image107.jpgの説明

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。フロー・ダイアグラムが次のように表示されます。

   図image109.jpgの説明

2. ターゲット・グループで、ODIソース・データストアのアクセス・ポイントを選択します。

3. 「プロパティ」パネルで、すべてのODIソース・データストアに`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`が設定されていることを確認します。

   注意: このマッピングによって、いくつかのSAP ABAP抽出プログラムが生成されます。インフォ・キューブから表示属性とキー数値を取り出すものが1つと、ナビゲーション属性が格納されているインフォ・オブジェクトごとに1つです。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、ターゲット・データストアにIKM SQL制御追加が設定されていることを確認します。

6. マッピングを実行します。インフォ・キューブとナビゲーション属性がターゲット・データストアに移入されていることを確認します。

### オープン・ハブの抽出

この項では、オープン・ハブ宛先`「ZOHD_SALE (/BIC/OHZOHD_SALE)」`を表すSAP BWソース・モデルから`W_OPENHUB_SALES_DS` Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。

#### マッピングの作成

1. デザイナを開きます。

2. 「プロジェクト」ツリー・ビューで`「SAP BW Demo」`プロジェクトを開きます。

3. `「SAP_BW_DataTargets」`フォルダを開きます。

4. マッピング・ノードを選択します。

5. 右クリックして「新規マッピング」を選択します。

6. マッピング定義タブで、マッピング名: `「OpenHub_Sales.W_OPENHUB_SALES_DS」`を入力します。

7. 「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。

#### ソースおよびターゲットのデータストアの定義

ソースおよびターゲットのデータストアを定義するには:

1. 「モデル」ツリー・ビューで、`「Oracle_Target」`モデルの`「W_OPENHUB_SALES_DS」`データストアを選択します。

2. このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。

3. 「モデル」ツリー・ビューで、`「SAP BW Source」`モデルの`「ZOHD_SALE」`データストアを選択します。

4. このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。

#### マッピングの作成

ターゲット・データストアのマッピングを作成するには:

1. ターゲット・データストアの`「OHREQUID」`属性を選択します。

2. `「OHREQUID」`属性を、`「ZOHD_SALE」`ソース・データ・ターゲットからターゲット・データストアの`「OHREQUID」`属性までドラッグします。

3. 「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。

   図image118.jpgの説明

4. この操作を繰り返して、次に示す単純マッピングを実行します。

   - `W_OPENHUB_SALES_DS.DATA_PACKAGE = ZOHD_SALE.DATAPAKID`

   - `W_OPENHUB_SALES_DS.DATA_RECORD = ZOHD_SALE.RECORD`

   - `W_OPENHUB_SALES_DS.CUSTOMER = ZOHD_SALE.D_CUSTOMER`

   - `W_OPENHUB_SALES_DS.MATERIAL = ZOHD_SALE.D_MATERIAL`

   - `W_OPENHUB_SALES_DS.MATERIAL_PRICE = ZOHD_SALE.PRICE_MAT`

   - `W_OPENHUB_SALES_DS.CURRENCY = ZOHD_SALE.CURRENCY`

   - `W_OPENHUB_SALES_DS.QUANTITY = ZOHD_SALE./BIC/ZQTY`

   - `W_OPENHUB_SALES_DS.TOTAL_REVENUE = ZOHD_SALE./BIC/ZREV`

#### マッピング・フローの定義

マッピング・フローを定義するには:

1. 「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。

   図image120.jpgの説明

2. ターゲット・グループで、オープン・ハブ宛先表`ZOHD_SALE`を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、`SAP BW`オープン・ハブ表で構成されています。

3. ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから`「LKM SAP BW to Oracle (SQLLDR)」`または`「LKM SAP BW to SQL」`を選択します。

4. ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。

5. 統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから`「IKM Oracle Incremental Update」`を選択します。

6. IKMのオプションを次のとおりに設定します。

   1. 「FLOW_CONTROL」オプションには「No」を選択します。

   2. その他のオプションはそのままにします。

7. 「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。

## マッピングの実行

この項の内容は、次のとおりです。

- マッピングの実行

- マッピング実行の確認

- 結果データの確認

### マッピングの実行

マッピングを実行するには:

1. 「プロジェクト」ツリー・ビューで`「SAP Demo」`プロジェクトを開きます。

2. `「SAP_BW_DataTargets」`フォルダを開きます。

3. 「マッピング」ノードを開きます。

4. `「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」`マッピングを選択します。

5. 右クリックして「実行」を選択します。

6. 表示された「実行」ウィンドウの「OK」をクリックします。

7. 「セッションを開始しました」ウィンドウの「OK」をクリックします。

マッピングを実行したときに行われる処理

最初に、Oracle Data IntegratorによってABAPプログラムが作成されます。このプログラムは、次の処理を実行します。

1. SAP BWシステムでのデータ抽出を実行します。この例では、抽出はインフォ・キューブ・ソース・データ・ターゲットに対して実行され、結果セットが抽出ファイルとして返されます。

2. 抽出ファイルをFTPデータ・サーバーにアップロードします。このFTPホストは、File Server for SAP ABAPという名前のファイル論理スキーマで指定されます。この論理スキーマは物理スキーマにマッピングされ、したがって指定のコンテキスト内のデータ・サーバーにマッピングされます。このデータ・サーバーには、そのFTPホストの接続情報が格納されています。

このABAPコードがOdiSapAbapExecuteツールを使用してアップロードされます。ABAPプログラムは、SAP_FUNCTION_GROUP_NAME LKMオプションで指定されたSAP機能グループにプッシュされます。このフェーズを省略するには、UPLOAD_ABAP_CODE LKMオプションを「No」に設定します。

このABAPコードは、OdiSapAbapExecuteツールでも実行されます。ABAPコードの実行が終了すると、抽出ファイルがFTPホスト内に作成されます。

Oracle Data Integratorエージェントは、この抽出ファイルをFTPホストからダウンロードすることも、直接アクセスすることもできます(IKMオプションで指定されたFTP_TRANSFER_METHODによって決まります)。

最後に、エージェントが抽出ファイルにアクセスしたときに、エージェントはSQL*LoaderまたはJDBC接続を使用してこのファイルをOracle/非Oracleステージング領域にロードします。統合プロセスの残りの部分は、Oracle/非Oracleエンジン内で実行されます。

### マッピング実行の確認

マッピング実行を確認するには:

1. オペレータに接続します。

2. オペレータで、「セッション・リスト」ツリー・ビューを選択します。

3. このツリー・ビューの「すべての実行」ノードを開きます。

4. 最新のセッションはこのリストの最初のエントリです。

5. `「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」`ノードをダブルクリックすると、セッションの詳細と、処理された行の数が表示されます。

### 結果データの確認

結果データを確認するには:

1. デザイナの「モデル」ビューで、`「Oracle Target」`モデルを開きます。

2. `「W_VENDR_BAL_DS」`データストアを選択し、右クリックして「データ」を選択すると、ターゲットのOracle表に統合されたデータが表示されます。

3. 同じステップを、他のマッピングに対して実行します。

   - `InfoObject_SAP_BW_VendorAcc.W_ACCNT_VENDR_DS`

   - `ODS_SAP_BW_PurchOrdl.W_PURCH_DS`

   - `InfoCube_InfoObject_join.W_VENDER_CUBE_OBJ_DS`

   - `OpenHub_Sales.W_OPENHUB_SALES_DS`