6 マッピングの作成および実行
この章の内容は次のとおりです。
6.1 マッピングの作成
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表に。 -
デルタ抽出は、インフォ・オブジェクトを除く、前述のどのデータ・ターゲットに対しても実行できます。データ抽出の実行方法は、「デルタ抽出のパッケージの作成」を参照してください。
マッピングを作成するには、次のステップを実行します。
6.1.1 インフォ・キューブの抽出
この項では、インフォ・キューブ0FIAP_C20
データ・ターゲットを表すSAP BWソース・モデルからW_VENDR_BAL_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
6.1.1.1 マッピングの作成
マッピングを作成するには:
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで「SAP BW Demo」プロジェクトを開きます。
-
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.1.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
「Oracle_Target」
モデルの「W_VENDR_BAL_DS」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット・データストア」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、
「SAP BW Source」
モデルの「0FIAP_C20 Vendor Balances」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
6.1.1.3 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
ターゲット・データストアの
「0COMP_CODE」
属性を選択します。 -
「IOPK_0FIAP_C201_0COMP_CODE_PK_COMP_CODE」
属性を、「0FIAP_C20 Vendor Balances」
ソース・データストアからターゲット・データストアの「COMP_CODE」属性までドラッグします。 -
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.1.4 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、インフォ・キューブ
0FIAP_C20
のデータ・ターゲットを含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、SAP BW
データ・ターゲットで構成されています。 -
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。 -
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから
「IKM Oracle Incremental Update」
を選択します。 -
IKMのオプションを次のとおりに設定します。
-
「FLOW_CONTROL」オプションには「No」を選択します。
-
その他のオプションはそのままにします。
-
-
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
6.1.2 インフォ・オブジェクトの抽出
この項では、インフォ・オブジェクト0CREDITOR
データ・ターゲットを表すSAP BW
ソース・モデルからW_ACCNT_VENDR_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
6.1.2.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「InfoObject_SAP_BW_VendorAcc.W_ACCNT_VENDR_DS」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.2.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
「Oracle_Target」
モデルの「W_ACCNT_VENDR_DS」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット・データストア」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、インフォ・オブジェクトのメイン表
「0CREDITOR Vendor」
データストアを「SAP BW Source」
モデルから選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
-
同じ操作を、
「SAP BW Source」
モデルにあるインフォ・オブジェクト・テキスト表「TXT_0CREDITOR Texts: Char. Vendor」
データストアに対して実行します。
6.1.2.3 インフォ・オブジェクトのメイン表とテキスト表の間の結合の定義
マッピング内でインフォ・オブジェクトのメイン表とテキスト表のソース・データストア間の結合を作成するには:
-
「論理」ダイアグラムでインフォ・オブジェクトのテキスト表
「TXT_0CREDITOR Texts: Char. Vendor」
をドラッグしたときに、インフォ・オブジェクトのメイン表データストア「0CREDITOR Vendor」
のvendor属性とインフォ・オブジェクトのテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
のVendor
属性に、自動的に結合が作成されます。これによって、最初の結合が次に示すように「vendor」キー識別子上に定義されます。 -
次に示すように、「プロパティ」パネルで、
「結合順序」
を選択し、「実行ヒント」オプションが「ソース」に設定されていることを確認します。 -
メイン表
0CREDITOR
の表番号がテキスト表TXT_0CREDITOR
の番号よりも小さいことを確認してください。1:n関係では、親表が結合の最初に指定されている必要があります。 -
結合タイプを左側外部結合に変更します(
0CREDITOR
のすべての行と、TXT_0CREDITOR
にある一致する行)。
6.1.2.4 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
ターゲット・データストアの
「VENDOR」
属性を選択します。 -
「VENDOR」
属性を、「OCREDITOR」
ソース・データ・ターゲットからターゲット・データストアの「VENDOR」属性までドラッグします。 -
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.2.5 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、インフォ・オブジェクトのメイン表
0CREDITOR
とテキスト表TXT_0CREDITOR
の両方を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、インフォ・オブジェクトのメイン表とテキスト表を結合したSAP BW
データ・ターゲットで構成されています。 -
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。 -
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから
「IKM Oracle Incremental Update」
を選択します。 -
IKMのオプションを次のとおりに設定します。
-
「FLOW_CONTROL」オプションには「No」を選択します。
-
その他のオプションはそのままにします。
-
-
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
6.1.3 インフォ・オブジェクト階層の抽出
この項では、インフォ・オブジェクト0GL_ACCOUNT
データ・ターゲットの階層データを表すSAP BWソース・モデルからW_GL_ACCOUNT_HIER_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
6.1.3.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「InfoObject_SAP_BW_GlAccount.W_GL_ACCOUNT_HIER_DS」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.3.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
「Oracle_Target」
モデルの「W_GL_ACCOUNT_DS」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、
「SAP BW Source」
モデルにあるインフォ・オブジェクトの階層表「HIER_0GL_ACCOUNT」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
-
RSHIENMソース属性に対するフィルタ条件
「HIER_0GL_ACCOUNT.RSHHIENM = 'ACI1'」
を追加します。ACI1
は、0GL_ACCOUNT
に対して定義されている階層の名前です。定義した階層のリストは、階層データ・ストアを開くと表示される「定義」タブの「説明」セクションにあります。 -
フィルタ条件を追加した後は、「ソース」ダイアグラムは次のように表示されます。
6.1.3.3 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
ターゲット・データストアの
「HIER_NAME」
属性を選択します。 -
「RSHIENM」
属性を、「HIER_0GL_ACCOUNT」
ソース・データ・ターゲットからターゲット・データストアの「HIER_NAME」属性までドラッグします。 -
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
-
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.3.4 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、インフォ・オブジェクトのメイン表
0CREDITOR
とテキスト表TXT_0CREDITOR
の両方を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、インフォ・オブジェクトのメイン表とテキスト表を結合したSAP BW
データ・ターゲットで構成されています。 -
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。 -
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから
「IKM Oracle Incremental Update」
を選択します。 -
IKMのオプションを次のとおりに設定します。
-
「FLOW_CONTROL」オプションには「No」を選択します。
-
その他のオプションはそのままにします。
-
-
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
6.1.4 インフォ・オブジェクト間隔階層の抽出
この項では、インフォ・オブジェクト、および間隔階層が格納されているインフォ・オブジェクト階層表からデータを抽出する方法を説明します。データはインフォ・オブジェクト0GL_ACCOUNT
とインフォ・オブジェクト階層表HIER_0GL_ACCOUNT
から抽出されます。
6.1.4.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「InfoObject_InfoObjectHierarchy_join.0GL_ACCOUNT」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.4.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
Oracle_Target Model W_SD_DELIVERY_CUBE_SOLDTO
の「TARGET_INTERVAL_HIERARCHY」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、「SAP BW Source」モデルのインフォ・オブジェクト
「0GL_ACCOUNT」
を選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
-
同じ操作を、「SAP BW Source」モデルにあるインフォ・オブジェクト階層表
「HIER_0GL_ACCOUNT」
データストアに対して実行します。
6.1.4.3 ソース間の結合の定義(インフォ・オブジェクト・メイン表とインフォ・オブジェクト階層表)
インフォ・オブジェクトとインフォ・オブジェクト階層表の間の結合はODIによって自動的に追加されることがありますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。
ソース側フィルタをRSHIENMとVERSIONに適用します。
結合の追加: すべての結合はステージング領域で実行する必要があります。ソース上ではありません。
結合式は次のようになります。
最終的な結合とフィルタのセットアップは、次のようになります。
6.1.4.4 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
「NODEID」
属性を、「HIER_0GL_ACCOUNT」ソース・データ・ターゲットから「TARGET_INTERVAL_HIERARCHY」ターゲット・データストアの「NODEID」属性までドラッグします。 -
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
-
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.4.5 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、ODIソース・グループのアクセス・ポイントを選択します。
-
ロード・ナレッジ・モジュールの「プロパティ」パネルで、
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。 -
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータストアを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、IKM SQL制御追加が設定されていることを確認します。
-
マッピングを実行します。データがターゲット・データストアに移入されていることを確認します。
6.1.5 ODS/DSO抽出
この項では、ODS/DSO 0BBP_PO
データ・ターゲットを表すSAP BWソース・モデルからW_PURCH_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
6.1.5.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「ODS_SAP_BW_PurchOrdl.W_PURCH_DS」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.5.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
「Oracle_Target」
モデルの「W_PURCH_DS」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、
「SAP BW Source」
モデルの「0BBP_PO Purchase Order - Single Documents」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
6.1.5.3 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
ターゲット・データストアの
「PO_GUIDE」
属性を選択します。 -
「BBP_POGUID」
属性を、「0BBP_PO Purchase Order - Single Documents」
ソース・データ・ターゲットからターゲット・データストアの「PO_GUIDE」属性までドラッグします。 -
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.5.4 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、
ODS/DSO 0BBP_PO
のデータ・ターゲットを含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、SAP BW
データ・ターゲットで構成されています。 -
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。 -
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから
「IKM Oracle Incremental Update」
を選択します。 -
IKMのオプションを次のとおりに設定します。
-
「FLOW_CONTROL」オプションには「No」を選択します。
-
その他のオプションはそのままにします。
-
-
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
6.1.6 インフォ・キューブおよび関連インフォ・オブジェクトの抽出
この項では、インフォ・キューブ0FIAP_C20
とインフォ・オブジェクト0CREDITOR
のデータ・ターゲット結合を表すSAP BWソース・モデルからW_VENDER_CUBE_OBJ_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
6.1.6.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「InfoCube_InfoObject_join.W_VENDER_CUBE_OBJ_DS」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.6.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
「Oracle_Target」
モデルの「W_VENDER_CUBE_OBJ_DS」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、
「SAP BW Source」
モデルのインフォ・キューブ「0FIAP_C20 Vendor Balances」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
-
同じ操作を、
「SAP BW Source」
モデルにあるインフォ・オブジェクトのメイン表「0CREDITOR Vendor」
とテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
データストアに対して実行します。
6.1.6.3 ソース間の結合の定義(インフォ・キューブとインフォ・オブジェクト)
マッピングのソース・データストア間の結合を作成するには:
-
「論理」ダイアグラムの「ソース」領域で、インフォ・キューブ
「0FIAP_C20 Vendor Balances」
データストアの「IOPK_0FIAP_C202_0CREDITOR_PK_VENDOR」
属性をインフォ・オブジェクトのメイン表「0CREDITOR Vendor」
の「VENDOR」
属性までドラッグします。これによって、最初の結合が次に示すように「Vendor」キー識別子上に定義されます。 -
「プロパティ」パネルに、
「0FIAP_C20.IOPK_0FIAP_C202_0CREDITOR_PK_VENDOR=0CREDITOR.VENDOR」
という結合句が表示されます。 -
次に示すように、「プロパティ」パネルで、「ANSI構文の生成」および「結合順序」オプションを選択し、「実行ヒント」オプションが「ソース」に設定されていることを確認します。
-
0FIAP_C20
の表番号が0CREDITOR
の番号よりも小さいことを確認します。1:n関係では、親データ・ターゲットが結合の最初に指定されている必要があります。 -
0FIAP_C20
と0CREDITOR
との結合を左側外部結合(0FIAP_C20
のすべての行と、0CREDITOR
にある一致する行)に変更します。 -
0CREDITOR
とTXT_0CREDITOR
との結合を左側外部結合に変更します(0CREDITOR
のすべての行と、TXT_0CREDITOR
にある一致する行)。
6.1.6.4 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
ターゲット・データストアの
「COMP_CODE」
属性を選択します。 -
「IOPK_0FIAP_C201_0COMP_CODE_PK_COMP_CODE」
属性を、「0FIAP_C20 Vendor Balances」
ソース・データ・ターゲットからターゲット・データストアの「COMP_CODE」
属性までドラッグします。 -
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
-
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.6.5 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、
Info Cube
およびインフォ・オブジェクト表の両方を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、結合された2つのSAP BW
データ・ターゲットで構成されています。 -
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。 -
「プロパティ」パネルで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから
「IKM Oracle Incremental Update」
を選択します。 -
IKMのオプションを次のとおりに設定します。
-
「FLOW_CONTROL」オプションには「No」を選択します。
-
その他のオプションはそのままにします。
-
-
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
6.1.7 インフォ・キューブの抽出(ナビゲーション属性あり)
この項では、SAPインフォ・キューブおよびそのナビゲーション属性からデータをロードするためのマッピングをODI内に作成する方法を説明します。データは、インフォ・キューブ0SD_C04
とインフォ・オブジェクト0SOLD_TO
から抽出されます。
6.1.7.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「InfoCube_InfoObject_Nav_join.0SD_C04」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.7.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、Oracleターゲット・モデル
「TARGET_NAVIGATIONAL ATTRIBUTES」
の「0SD_C04」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、
「SAP BW Source」
モデルのインフォ・キューブ「0SD_C04 Delivery service」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
-
同じ操作を、
「SAP BW Source」
モデルにあるインフォ・オブジェクト・メイン表「0SOLD_TO Customer」
データストアに対して実行します。
6.1.7.3 ソース間の結合の定義(インフォ・キューブとインフォ・オブジェクト)
インフォ・キューブとインフォ・オブジェクトの間の結合はODIによって自動的に追加されますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。
結合式を使用した最終的な結合セットアップは次のようになります。
ナビゲーション属性を取り出すためのインフォ・オブジェクト結合はすべて、ステージング領域で実行する必要があります。ソース上ではありません:
6.1.7.4 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
「0SD_C04.IOPK_0SD_C041_0SOLD_TO_PK_CUSTOMER」
属性を、「0SD_C041 Delivery service」
ソース・データ・ターゲットからターゲット・データストアの「IOPK_0SD_C041_0CUST_GROUP_PK_CUST_GROUP」属性までドラッグします。 -
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
-
この操作を繰り返して、次に示す単純マッピングを実行します。
6.1.7.5 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。フロー・ダイアグラムが次のように表示されます。
-
ターゲット・グループで、ODIソース・データストアのアクセス・ポイントを選択します。
-
「プロパティ」パネルで、すべてのODIソース・データストアに
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。ノート:
このマッピングによって、いくつかのSAP ABAP抽出プログラムが生成されます。インフォ・キューブから表示属性とキー数値を取り出すものが1つと、ナビゲーション属性が格納されているインフォ・オブジェクトごとに1つです。
-
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、ターゲット・データストアにIKM SQL制御追加が設定されていることを確認します。
-
マッピングを実行します。インフォ・キューブとナビゲーション属性がターゲット・データストアに移入されていることを確認します。
6.1.8 オープン・ハブの抽出
この項では、オープン・ハブ宛先「ZOHD_SALE (/BIC/OHZOHD_SALE)」
を表すSAP BWソース・モデルからW_OPENHUB_SALES_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
6.1.8.1 マッピングの作成
-
デザイナを開きます。
-
「プロジェクト」ツリー・ビューで
「SAP BW Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
マッピング・ノードを選択します。
-
右クリックして「新規マッピング」を選択します。
-
マッピング定義タブで、マッピング名:
「OpenHub_Sales.W_OPENHUB_SALES_DS」
を入力します。 -
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
6.1.8.2 ソースおよびターゲットのデータストアの定義
ソースおよびターゲットのデータストアを定義するには:
-
「モデル」ツリー・ビューで、
「Oracle_Target」
モデルの「W_OPENHUB_SALES_DS」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
-
「モデル」ツリー・ビューで、
「SAP BW Source」
モデルの「ZOHD_SALE」
データストアを選択します。 -
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
6.1.8.3 マッピングの作成
ターゲット・データストアのマッピングを作成するには:
-
ターゲット・データストアの
「OHREQUID」
属性を選択します。 -
「OHREQUID」
属性を、「ZOHD_SALE」
ソース・データ・ターゲットからターゲット・データストアの「OHREQUID」
属性までドラッグします。 -
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
-
この操作を繰り返して、次に示す単純マッピングを実行します。
-
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
-
6.1.8.4 マッピング・フローの定義
マッピング・フローを定義するには:
-
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
-
ターゲット・グループで、オープン・ハブ宛先表
ZOHD_SALE
を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、SAP BW
オープン・ハブ表で構成されています。 -
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから
「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。 -
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
-
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから
「IKM Oracle Incremental Update」
を選択します。 -
IKMのオプションを次のとおりに設定します。
-
「FLOW_CONTROL」オプションには「No」を選択します。
-
その他のオプションはそのままにします。
-
-
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
6.2 マッピングの実行
この項の内容は次のとおりです。
6.2.1 マッピングの実行
マッピングを実行するには:
-
「プロジェクト」ツリー・ビューで
「SAP Demo」
プロジェクトを開きます。 -
「SAP_BW_DataTargets」
フォルダを開きます。 -
「マッピング」ノードを開きます。
-
「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」
マッピングを選択します。 -
右クリックして「実行」を選択します。
-
表示された「実行」ウィンドウの「OK」をクリックします。
-
「セッションを開始しました」ウィンドウの「OK」をクリックします。
マッピングを実行したときに行われる処理
最初に、Oracle Data IntegratorによってABAPプログラムが作成されます。このプログラムは、次の処理を実行します。
-
SAP BWシステムでのデータ抽出を実行します。この例では、抽出はインフォ・キューブ・ソース・データ・ターゲットに対して実行され、結果セットが抽出ファイルとして返されます。
-
抽出ファイルをFTPデータ・サーバーにアップロードします。このFTPホストは、File Server for SAP ABAPという名前のファイル論理スキーマで指定されます。この論理スキーマは物理スキーマにマップされるため、指定されたコンテキストのデータ・サーバーにマップされます。このデータ・サーバーには、FTPホストに関する接続情報が含まれています。
次に、OdiSapAbapExecuteツールを使用してABAPコードがアップロードされます。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エンジン内で実行されます。
6.2.2 マッピング実行の確認
マッピング実行を確認するには:
-
オペレータに接続します。
-
オペレータで、「セッション・リスト」ツリー・ビューを選択します。
-
このツリー・ビューの「すべての実行」ノードを開きます。
-
最新のセッションはこのリストの最初のエントリです。
-
「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」
ノードをダブルクリックすると、セッションの詳細と、処理された行の数が表示されます。
6.2.3 結果データの確認
結果データを確認するには:
-
デザイナの「モデル」ビューで、
「Oracle Target」
モデルを開きます。 -
「W_VENDR_BAL_DS」
データストアを選択し、右クリックして「データ」を選択すると、ターゲットのOracle表に統合されたデータが表示されます。 -
同じステップを、他のマッピングに対して実行します。
-
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
-