Oracle® Fusion Middleware Oracle Data IntegratorのためのSAP ABAP BWアダプタ・スタート・ガイド 12c (12.2.1.2.0) E82748-01 |
|
![]() 前 |
![]() 次 |
この章では、マッピングの作成および実行の方法について説明します。
この章には次の項が含まれます:
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章「デルタ抽出のパッケージの作成」を参照してください。
マッピングを作成するには、次の手順を実行します。
この項では、インフォ・キューブ0FIAP_C20
データ・ターゲットを表すSAP BWソース・モデルからW_VENDR_BAL_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
マッピングを作成するには:
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_VENDR_BAL_DS」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット・データストア」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルの「0FIAP_C20 Vendor Balances」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「0COMP_CODE」
属性を選択します。
「IOPK_0FIAP_C201_0COMP_CODE_PK_COMP_CODE」
属性を、「0FIAP_C20 Vendor Balances」
ソース・データストアからターゲット・データストアの「COMP_CODE」属性までドラッグします。
「実行ヒント」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
図image041.jpgの説明
この操作を繰り返して、次に示す単純マッピングを実行します。
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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
図image043.jpgの説明
ターゲット・グループで、インフォ・キューブ0FIAP_C20
のデータ・ターゲットを含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、SAP BW
データ・ターゲットで構成されています。
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
この項では、インフォ・オブジェクト0CREDITOR
データ・ターゲットを表すSAP BW
ソース・モデルからW_ACCNT_VENDR_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「InfoObject_SAP_BW_VendorAcc.W_ACCNT_VENDR_DS」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_ACCNT_VENDR_DS」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット・データストア」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、インフォ・オブジェクトのメイン表「0CREDITOR Vendor」
データストアを「SAP BW Source」
モデルから選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
同じ操作を、「SAP BW Source」
モデルにあるインフォ・オブジェクト・テキスト表「TXT_0CREDITOR Texts: Char. Vendor」
データストアに対して実行します。
マッピング内でインフォ・オブジェクトのメイン表とテキスト表のソース・データストア間の結合を作成するには:
「論理」ダイアグラムでインフォ・オブジェクトのテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
をドラッグしたときに、インフォ・オブジェクトのメイン表データストア「0CREDITOR Vendor」
のvendor属性とインフォ・オブジェクトのテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
のVendor
属性に、自動的に結合が作成されます。これによって、最初の結合が次に示すように「vendor」キー識別子上に定義されます。
次に示すように、「プロパティ」パネルで、「結合順序」
を選択し、「実行ヒント」オプションが「ソース」に設定されていることを確認します。
メイン表0CREDITOR
の表番号がテキスト表TXT_0CREDITOR
の番号よりも小さいことを確認してください。1:n関係では、親表が結合の最初に指定されている必要があります。
結合タイプを左側外部結合に変更します(0CREDITOR
のすべての行と、TXT_0CREDITOR
にある一致する行)。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「VENDOR」
属性を選択します。
「VENDOR」
属性を、「OCREDITOR」
ソース・データ・ターゲットからターゲット・データストアの「VENDOR」属性までドラッグします。
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
図image056.jpgの説明
この操作を繰り返して、次に示す単純マッピングを実行します。
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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
図image058.jpgの説明
ターゲット・グループで、インフォ・オブジェクトのメイン表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」を選択します。
その他のオプションはそのままにします。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
この項では、インフォ・オブジェクト0GL_ACCOUNT
データ・ターゲットの階層データを表すSAP BWソース・モデルからW_GL_ACCOUNT_HIER_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「InfoObject_SAP_BW_GlAccount.W_GL_ACCOUNT_HIER_DS」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_GL_ACCOUNT_DS」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルにあるインフォ・オブジェクトの階層表「HIER_0GL_ACCOUNT」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
RSHIENMソース属性に対するフィルタ条件「HIER_0GL_ACCOUNT.RSHHIENM = 'ACI1'」
を追加します。
ACI1
は、0GL_ACCOUNT
に対して定義されている階層の名前です。定義した階層のリストは、階層データ・ストアを開くと表示される「定義」タブの「説明」セクションにあります。
フィルタ条件を追加した後は、「ソース」ダイアグラムは次のように表示されます。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
ターゲット・グループで、インフォ・オブジェクトのメイン表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」を選択します。
その他のオプションはそのままにします。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
この項では、インフォ・オブジェクト、および間隔階層が格納されているインフォ・オブジェクト階層表からデータを抽出する方法を説明します。データはインフォ・オブジェクト0GL_ACCOUNT
とインフォ・オブジェクト階層表HIER_0GL_ACCOUNT
から抽出されます。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「InfoObject_InfoObjectHierarchy_join.0GL_ACCOUNT」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、Oracle_Target Model W_SD_DELIVERY_CUBE_SOLDTO
の「TARGET_INTERVAL_HIERARCHY」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」モデルのインフォ・オブジェクト「0GL_ACCOUNT」
を選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
同じ操作を、「SAP BW Source」モデルにあるインフォ・オブジェクト階層表「HIER_0GL_ACCOUNT」
データストアに対して実行します。
インフォ・オブジェクトとインフォ・オブジェクト階層表の間の結合はODIによって自動的に追加されることがありますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。
ソース側フィルタをRSHIENMとVERSIONに適用します。
結合の追加: すべての結合はステージング領域で実行する必要があります。ソースではありません。
結合式は次のようになります。
最終的な結合とフィルタのセットアップは、次のようになります。
ターゲット・データストアのマッピングを作成するには:
「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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
図HierachyInfoobject_html_61501ab6.pngの説明
ターゲット・グループで、ODIソース・グループのアクセス・ポイントを選択します。
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータストアを選択します。
統合ナレッジ・モジュールの「プロパティ」パネルで、IKM SQL制御追加が設定されていることを確認します。
マッピングを実行します。データがターゲット・データストアに移入されていることを確認します。
この項では、ODS/DSO 0BBP_PO
データ・ターゲットを表すSAP BWソース・モデルからW_PURCH_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「ODS_SAP_BW_PurchOrdl.W_PURCH_DS」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_PURCH_DS」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルの「0BBP_PO Purchase Order - Single Documents」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「PO_GUIDE」
属性を選択します。
「BBP_POGUID」
属性を、「0BBP_PO Purchase Order - Single Documents」
ソース・データ・ターゲットからターゲット・データストアの「PO_GUIDE」属性までドラッグします。
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
図image077.jpgの説明
この操作を繰り返して、次に示す単純マッピングを実行します。
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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
図image079.jpgの説明
ターゲット・グループで、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」を選択します。
その他のオプションはそのままにします。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
この項では、インフォ・キューブ0FIAP_C20
とインフォ・オブジェクト0CREDITOR
のデータ・ターゲット結合を表すSAP BWソース・モデルからW_VENDER_CUBE_OBJ_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「InfoCube_InfoObject_join.W_VENDER_CUBE_OBJ_DS」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_VENDER_CUBE_OBJ_DS」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルのインフォ・キューブ「0FIAP_C20 Vendor Balances」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
同じ操作を、「SAP BW Source」
モデルにあるインフォ・オブジェクトのメイン表「0CREDITOR Vendor」
とテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
データストアに対して実行します。
マッピングのソース・データストア間の結合を作成するには:
「論理」ダイアグラムの「ソース」領域で、インフォ・キューブ「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
にある一致する行)。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
ターゲット・グループで、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」を選択します。
その他のオプションはそのままにします。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
この項では、SAPインフォ・キューブおよびそのナビゲーション属性からデータをロードするためのマッピングをODI内に作成する方法を説明します。データは、インフォ・キューブ0SD_C04
とインフォ・オブジェクト0SOLD_TO
から抽出されます。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「InfoCube_InfoObject_Nav_join.0SD_C04」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、Oracleターゲット・モデル「TARGET_NAVIGATIONAL ATTRIBUTES」
の「0SD_C04」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルのインフォ・キューブ「0SD_C04 Delivery service」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
同じ操作を、「SAP BW Source」
モデルにあるインフォ・オブジェクト・メイン表「0SOLD_TO Customer」
データストアに対して実行します。
インフォ・キューブとインフォ・オブジェクトの間の結合はODIによって自動的に追加されますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。
結合式を使用した最終的な結合セットアップは次のようになります。
ナビゲーション属性を取り出すためのインフォ・オブジェクト結合はすべて、ステージング領域で実行する必要があります。ソースではありません。
ターゲット・データストアのマッピングを作成するには:
「0SD_C04.IOPK_0SD_C041_0SOLD_TO_PK_CUSTOMER」
属性を、「0SD_C041 Delivery service」
ソース・データ・ターゲットからターゲット・データストアの「IOPK_0SD_C041_0CUST_GROUP_PK_CUST_GROUP」属性までドラッグします。
「実行ヒント」オプションが「ソース」に設定されていることを確認してください。マッピングは次のようになります。
この操作を繰り返して、次に示す単純マッピングを実行します。
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。フロー・ダイアグラムが次のように表示されます。
ターゲット・グループで、ODIソース・データストアのアクセス・ポイントを選択します。
「プロパティ」パネルで、すべてのODIソース・データストアに「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。
注意: このマッピングによって、いくつかのSAP ABAP抽出プログラムが生成されます。インフォ・キューブから表示属性とキー数値を取り出すものが1つと、ナビゲーション属性が格納されているインフォ・オブジェクトごとに1つです。 |
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
統合ナレッジ・モジュールの「プロパティ」パネルで、ターゲット・データストアにIKM SQL制御追加が設定されていることを確認します。
マッピングを実行します。インフォ・キューブとナビゲーション属性がターゲット・データストアに移入されていることを確認します。
この項では、オープン・ハブ宛先「ZOHD_SALE (/BIC/OHZOHD_SALE)」
を表すSAP BWソース・モデルからW_OPENHUB_SALES_DS
Oracleターゲット・モデルにデータをロードするためのマッピングをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
マッピング・ノードを選択します。
右クリックして「新規マッピング」を選択します。
マッピング定義タブで、マッピング名: 「OpenHub_Sales.W_OPENHUB_SALES_DS」
を入力します。
「ファイル」メニューで、「保存」をクリックしてマッピングを保存します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_OPENHUB_SALES_DS」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ターゲット」領域(「論理」ダイアグラムの右側の領域)にドラッグします。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルの「ZOHD_SALE」
データストアを選択します。
このデータストアを「論理」ダイアグラムの「ソース」領域(「論理」ダイアグラムの左の領域)までドラッグします。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「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
マッピング・フローを定義するには:
「物理」ダイアグラムを選択します。「フロー」ダイアグラムは次のように表示されます。
ターゲット・グループで、オープン・ハブ宛先表ZOHD_SALE
を含むソース・グループのアクセス・ポイントを選択します。このソース・グループが表すソース・データセットは、SAP BW
オープン・ハブ表で構成されています。
ロード・ナレッジ・モジュールの「プロパティ」パネルで、「ロード・ナレッジ・モジュール」ドロップダウン・リストから「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
ターゲット・グループで、このマッピングのステージング領域としても使用される、ターゲットのOracleデータベースを選択します。
統合ナレッジ・モジュールの「プロパティ」パネルで、「統合ナレッジ・モジュール」ドロップダウン・リストから「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
この項の内容は、次のとおりです。
マッピングを実行するには:
「プロジェクト」ツリー・ビューで「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ホストの接続情報が格納されています。
この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エンジン内で実行されます。
マッピング実行を確認するには:
オペレータに接続します。
オペレータで、「セッション・リスト」ツリー・ビューを選択します。
このツリー・ビューの「すべての実行」ノードを開きます。
最新のセッションはこのリストの最初のエントリです。
「InfoCube_SAP_BW_VendorBal.W_VENDR_BAL_DS」
ノードをダブルクリックすると、セッションの詳細と、処理された行の数が表示されます。
結果データを確認するには:
デザイナの「モデル」ビューで、「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