Oracle® Fusion Middleware Oracle Data IntegratorのためのSAP ABAP BWアダプタ・スタート・ガイド 11g リリース1 (11.1.1) B72793-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」
と入力します。
「ダイアグラム」タブを選択します。
次に示す情報ウィンドウが表示された場合は、「OK」をクリックします。
インタフェースのダイアグラムは次のように表示されます。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_VENDR_BAL_DS」
データストアを選択します。
このデータストアを「ターゲット・データストア」パネル(「ダイアグラム」タブの右の領域)までドラッグします。これで、このパネルは次のように表示されます。
図image038.jpgの説明
「モデル」ツリー・ビューで、「SAP BW Source」
モデルの「0FIAP_C20 Vendor Balances」
データストアを選択します。
このデータストアを「ソース」ダイアグラム・パネル(「ダイアグラム」タブの左の領域)までドラッグします。
「自動マッピングを実行しますか。」というポップアップ・ウィンドウが表示された場合は、「いいえ」をクリックします。
「ソース」のダイアグラムは次のように表示されます。
図image039.jpgの説明
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「0COMP_CODE」
列を選択します。
「0FIAP_C20 Vendor Balances」
ソース・データ・ターゲットの「IOPK_0FIAP_C201_0COMP_CODE_PK_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
インタフェース・フローを定義するには:
「フロー」タブを選択します。「フロー」のダイアグラムは次のように表示されます。
インフォ・キューブ0FIAP_C20
データ・ターゲットが格納されているソース・セット「SS_0 (SAP_BW)」
を選択します。このソース・セットが表すソース・データセットは、SAP BW
データ・ターゲットで構成されています。
「LKMの選択」ボックスで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
「ターゲット/ステージング領域」ボックスを選択します。これは、ターゲットOracleデータベースを表し、このインタフェースのステージング領域としても使用されます。
「LKMの選択」で、「LKM SAP BW to Oracle (SQLLDR)」
を選択します。
「IKMの選択」で、「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。フローは次のようになります。
「OK」をクリックしてインタフェースを保存して閉じます。
この項では、インフォ・オブジェクト0CREDITOR
データ・ターゲットを表すSAP BW
ソース・モデルからW_ACCNT_VENDR_DS
Oracleターゲット・モデルにデータをロードするための統合インタフェースをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
「インタフェース」ノードを選択します。
右クリックして「インタフェースの挿入」を選択します。
インタフェースの「定義」タブで、インタフェースの名前を「InfoObject_SAP_BW_VendorAcc.W_ACCNT_VENDR_DS」
と入力します。
「ダイアグラム」タブを選択します。
次に示す情報ウィンドウが表示された場合は、「OK」をクリックします。
図image034.jpgの説明
インタフェースのダイアグラムは次のように表示されます。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_ACCNT_VENDR_DS」
データストアを選択します。
このデータストアを「ターゲット・データストア」パネル(「ダイアグラム」タブの右の領域)までドラッグします。これで、このパネルは次のように表示されます。
図image048.jpgの説明
「モデル」ツリー・ビューで、インフォ・オブジェクトのメイン表「0CREDITOR Vendor」
データストアを「SAP BW Source」
モデルから選択します。
このデータストアを「ソース」ダイアグラム・パネル(「ダイアグラム」タブの左の領域)までドラッグします。
「自動マッピングを実行しますか。」というポップアップ・ウィンドウが表示された場合は、「いいえ」をクリックします。
同じ操作を、「SAP BW Source」
モデルにあるインフォ・オブジェクト・テキスト表「TXT_0CREDITOR Texts: Char. Vendor」
データストアに対して実行します。
「ソース」のダイアグラムは次のように表示されます。
図image050.jpgの説明
インタフェース内でインフォ・オブジェクトのメイン表とテキスト表のソース・データストア間の結合を作成するには:
「ソース」ダイアグラムでインフォ・オブジェクトのテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
をドラッグしたときに、インフォ・オブジェクトのメイン表データストア「0CREDITOR Vendor」
のvendor列とインフォ・オブジェクトのテキスト表「TXT_0CREDITOR Texts: Char. Vendor」
のVendor
列に、自動的に結合が作成されます。これによって、最初の結合が次に示すように「vendor」キー識別子上に定義されます。
次に示すように、「プロパティ」パネルで「順序付き結合」
を選択し、この結合が「ソース」に対して実行されることを確認します。
メイン表0CREDITOR
の表番号がテキスト表TXT_0CREDITOR
の番号よりも小さいことを確認してください。1:n関係では、親表が結合の最初に指定されている必要があります。
結合タイプを左側外部結合に変更します(0CREDITOR
のすべての行と、TXT_0CREDITOR
にある一致する行)。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「0COMP_CODE」
列を選択します。
「0FIAP_C20 Vendor Balances」
ソース・データ・ターゲットの「IOPK_0FIAP_C201_0COMP_CODE_PK_COMP_CODE」
列を「プロパティ」パネルの「実装」フィールドまでドラッグします。
「実行日」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
この操作を繰り返して、次に示す単純マッピングを実行します。
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
の両方が格納されているソース・セット「SS_0 (SAP_BW)」
を選択します。このソース・セットが表すソース・データセットは、インフォ・オブジェクトのメイン表とテキスト表を結合したSAP BW
データ・ターゲットで構成されています。
「LKMの選択」ボックスで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
「ターゲット/ステージング領域」ボックスを選択します。これは、ターゲットOracleデータベースを表し、このインタフェースのステージング領域としても使用されます。
「IKMの選択」で、「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。フローは次のようになります。
図image060.jpgの説明
「OK」をクリックしてインタフェースを保存して閉じます。
この項では、インフォ・オブジェクト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」
と入力します。
「ダイアグラム」タブを選択します。
次に示す情報ウィンドウが表示された場合は、「OK」をクリックします。
図image034.jpgの説明
インタフェースのダイアグラムは次のように表示されます。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_GL_ACCOUNT_DS」
データストアを選択します。
このデータストアを「ターゲット・データストア」パネル(「ダイアグラム」タブの右の領域)までドラッグします。これで、このパネルは次のように表示されます。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルにあるインフォ・オブジェクトの階層表「HIER_0GL_ACCOUNT」
データストアを選択します。
このデータストアを「ソース」ダイアグラム・パネル(「ダイアグラム」タブの左の領域)までドラッグします。
「自動マッピングを実行しますか。」というポップアップ・ウィンドウが表示された場合は、「いいえ」をクリックします。
RSHIENMソース列に対するフィルタ条件「HIER_0GL_ACCOUNT.RSHHIENM = 'ACI1'」
を追加します。
ACI1
は、0GL_ACCOUNT
に対して定義されている階層の名前です。定義済の階層のリストは、階層データストアを開いたときに表示されます。
フィルタ条件を追加した後は、「ソース」ダイアグラムは次のように表示されます。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「HIER_NAME」
列を選択します。
「HIER_0GL_ACCOUNT」
ソース・データ・ターゲットの「RSHIENM」
列を「プロパティ」パネルの「実装」フィールドまでドラッグします。
「実行日」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
この操作を繰り返して、次に示す単純マッピングを実行します。
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
の両方が格納されているソース・セット「SS_0 (SAP_BW)」
を選択します。このソース・セットが表すソース・データセットは、インフォ・オブジェクトのメイン表とテキスト表を結合したSAP BW
データ・ターゲットで構成されています。
「LKMの選択」ボックスで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
「ターゲット/ステージング領域」ボックスを選択します。これは、ターゲットOracleデータベースを表し、このインタフェースのステージング領域としても使用されます。
「IKMの選択」で、「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。
「OK」をクリックしてインタフェースを保存して閉じます。
この項では、インフォ・オブジェクト、および間隔階層が格納されているインフォ・オブジェクト階層表からデータを抽出する方法を説明します。データはインフォ・オブジェクト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に適用します。
結合の追加: すべての結合はステージング領域で実行する必要があります。ソースではありません。
結合式は次のようになります。
最終的な結合とフィルタのセットアップは、次のようになります。
ターゲット・データストアのマッピングを作成するには:
「HIER_0GL_ACCOUNT Delivery service」ソース・データ・ターゲットの「HIER_0GL_ACCOUNT.NODEID」列を「プロパティ」パネルの「実装」フィールドまでドラッグします。
「実行日」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
この操作を繰り返して、次に示す単純マッピングを実行します。
インタフェース・フローを定義するには:
「フロー」タブを選択し、すべてのODIソース・セットで「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。「フロー」のダイアグラムは次のように表示されます。
すべてのODIソース・セットで「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。
ODIの「ターゲット/ステージング領域」で、「IKM SQL Control Append」が設定されていることを確認します。
インタフェースを実行します。データがターゲット・データストアに移入されていることを確認します。
この項では、ODS/DSO 0BBP_PO
データ・ターゲットを表すSAP BWソース・モデルからW_PURCH_DS
Oracleターゲット・モデルにデータをロードするための統合インタフェースをODI内に作成する方法を説明します。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
「インタフェース」ノードを選択します。
右クリックして「インタフェースの挿入」を選択します。
インタフェースの「定義」タブで、インタフェースの名前を「ODS_SAP_BW_PurchOrdl.W_PURCH_DS」
と入力します。
「ダイアグラム」タブを選択します。
次に示す情報ウィンドウが表示された場合は、「OK」をクリックします。
インタフェースのダイアグラムは次のように表示されます。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_PURCH_DS」
データストアを選択します。
このデータストアを「ターゲット・データストア」パネル(「ダイアグラム」タブの右の領域)までドラッグします。これで、このパネルは次のように表示されます。
図image073.jpgの説明
「モデル」ツリー・ビューで、「SAP BW Source」
モデルの「0BBP_PO Purchase Order - Single Documents」
データストアを選択します。
このデータストアを「ソース」ダイアグラム・パネル(「ダイアグラム」タブの左の領域)までドラッグします。
「自動マッピングを実行しますか。」というポップアップ・ウィンドウが表示された場合は、「いいえ」をクリックします。
「ソース」のダイアグラムは次のように表示されます。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「PO_GUIDE」
列を選択します。
「0BBP_PO Purchase Order - Single Documents」
ソース・データ・ターゲットの「BBP_POGUID」
列を「プロパティ」パネルの「実装」フィールドまでドラッグします。
「実行日」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
図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
データ・ターゲットが格納されているソース・セット「SS_0 (SAP_BW)」
を選択します。このソース・セットが表すソース・データセットは、SAP BW
データ・ターゲットで構成されています。
「LKMの選択」ボックスで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
「ターゲット/ステージング領域」ボックスを選択します。これは、ターゲットOracleデータベースを表し、このインタフェースのステージング領域としても使用されます。
「IKMの選択」で、「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。フローは次のようになります。
「OK」をクリックしてインタフェースを保存して閉じます。
この項では、インフォ・キューブ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」
と入力します。
「ダイアグラム」タブを選択します。
次に示す情報ウィンドウが表示された場合は、「OK」をクリックします。
インタフェースのダイアグラムは次のように表示されます。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「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」
という結合句が表示されます。
次に示すように、「プロパティ」パネルで「順序付き結合」
を選択し、この結合が「ソース」に対して実行されることを確認します。
0FIAP_C20
の表番号が0CREDITOR
の番号よりも小さいことを確認します。1:n関係では、親データ・ターゲットが結合の最初に指定されている必要があります。
0FIAP_C20
と0CREDITOR
との結合を左側外部結合に変更します(0FIAP_C20
のすべての行と、0CREDITOR
にある一致する行)。
0CREDITOR
とTXT_0CREDITOR
との結合を左側外部結合に変更します(0CREDITOR
のすべての行と、TXT_0CREDITOR
にある一致する行)。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「COMP_CODE」
列を選択します。
「0FIAP_C20 Vendor Balances」
ソース・データ・ターゲットの「IOPK_0FIAP_C201_0COMP_CODE_PK_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
インタフェース・フローを定義するには:
「フロー」タブを選択します。「フロー」のダイアグラムは次のように表示されます。
インフォ・キューブ
とインフォ・オブジェクトの両方の表が格納されているソース・セット「SS_0 (SAP_BW)」
を選択します。このソース・セットが表すソース・データセットは、結合された2つのSAP BW
データ・ターゲットで構成されています。
「LKMの選択」ボックスで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
「ターゲット/ステージング領域」ボックスを選択します。これは、ターゲットOracleデータベースを表し、このインタフェースのステージング領域としても使用されます。
「IKMの選択」で、「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。フローは次のようになります。
「OK」をクリックしてインタフェースを保存して閉じます。
この項では、SAPインフォ・キューブおよびそのナビゲーション属性からデータをロードするための統合インタフェースをODI内に作成する方法を説明します。データは、インフォ・キューブ0SD_C04
とインフォ・オブジェクト0SOLD_TO
から抽出されます。
デザイナを開きます。
「プロジェクト」ツリー・ビューで「SAP BW Demo」
プロジェクトを開きます。
「SAP_BW_DataTargets」
フォルダを開きます。
「インタフェース」ノードを選択します。
右クリックして「インタフェースの挿入」を選択します。
インタフェースの「定義」タブで、インタフェースの名前を「InfoCube_InfoObject_Nav_join.0SD_C04」
と入力します。
「ダイアグラム」タブを選択します。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、Oracleターゲット・モデル「W_SD_DELIVERY_CUBE_SOLDTO」
の「0SD_C04」
データストアを選択します。
このデータストアを「ターゲット・データストア」パネル(「ダイアグラム」タブの右の領域)までドラッグします。次に示すパネルが表示されます。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルのインフォ・キューブ「0SD_C04 Delivery service」
データストアを選択します。
このデータストアを「ソース」ダイアグラム・パネル(「ダイアグラム」タブの左の領域)までドラッグします。
「自動マッピングを実行しますか。」というポップアップ・ウィンドウが表示された場合は、「いいえ」をクリックします。
同じ操作を、「SAP BW Source」
モデルにあるインフォ・オブジェクト・メイン表「0SOLD_TO Customer」
データストアに対して実行します。
「ソース」のダイアグラムは次のように表示されます。
インフォ・キューブとインフォ・オブジェクトの間の結合はODIによって自動的に追加されますが、状況によっては、複数の結合が作成されることがあります。たとえば、同じインフォ・オブジェクトが2回以上、それぞれ異なる特性で参照されているときです。このような不要な結合を削除する必要があります。
結合式を使用した最終的な結合セットアップは次のようになります。
ナビゲーション属性を取り出すためのインフォ・オブジェクト結合はすべて、ステージング領域で実行する必要があります。ソースではありません。
ターゲット・データストアのマッピングを作成するには:
「0SD_C041 Delivery service」
ソース・データ・ターゲットの「0SD_C04.IOPK_0SD_C041_0SOLD_TO_PK_CUSTOMER」
列を「プロパティ」パネルの「実装」フィールドまでドラッグします。
「実行日」が「ソース」に設定されていることを確認してください。マッピングは次のようになります。
この操作を繰り返して、次に示す単純マッピングを実行します。
インタフェース・フローを定義するには:
「フロー」タブを選択し、すべてのODIソース・セットで「LKM SAP BW to Oracle (SQLLDR)」が設定されていることを確認します。「フロー」のダイアグラムは次のように表示されます。
すべてのODIソース・セットで「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
が設定されていることを確認します。
注意: このインタフェースによって、いくつかのSAP ABAP抽出プログラムが生成されます。インフォ・キューブから表示属性とキー数値を取り出すものが1つと、ナビゲーション属性が格納されているインフォ・オブジェクトごとに1つです。 |
ODIの「ターゲット/ステージング領域」で、「IKM SQL Control Append」が設定されていることを確認します。
インタフェースを実行します。インフォ・キューブとナビゲーション属性がターゲット・データストアに移入されていることを確認します。
この項では、オープン・ハブ宛先「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」
と入力します。
「ダイアグラム」タブを選択します。
次に示す情報ウィンドウが表示された場合は、「OK」をクリックします。
インタフェースのダイアグラムは次のように表示されます。
ソースおよびターゲットのデータストアを定義するには:
「モデル」ツリー・ビューで、「Oracle_Target」
モデルの「W_OPENHUB_SALES_DS」
データストアを選択します。
このデータストアを「ターゲット・データストア」パネル(「ダイアグラム」タブの右の領域)までドラッグします。これで、このパネルは次のように表示されます。
「モデル」ツリー・ビューで、「SAP BW Source」
モデルの「ZOHD_SALE」
データストアを選択します。
このデータストアを「ソース」
ダイアグラム・パネル(「ダイアグラム」タブの左の領域)までドラッグします。
「自動マッピングを実行しますか。」というポップアップ・ウィンドウが表示された場合は、「いいえ」をクリックします。
「ソース」のダイアグラムは次のように表示されます。
ターゲット・データストアのマッピングを作成するには:
ターゲット・データストアの「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」
が格納されているソース・セット「SS_0 (SAP_BW)」
を選択します。このソース・セットが表すソース・データセットは、SAP BW
オープン・ハブ表で構成されています。
「LKMの選択」ボックスで、「LKM SAP BW to Oracle (SQLLDR)」
または「LKM SAP BW to SQL」
を選択します。
「ターゲット/ステージング領域」ボックスを選択します。これは、ターゲットOracleデータベースを表し、このインタフェースのステージング領域としても使用されます。
「IKMの選択」で、「IKM Oracle Incremental Update」
を選択します。
IKMのオプションを次のとおりに設定します。
「FLOW_CONTROL」オプションには「No」を選択します。
その他のオプションはそのままにします。フローは次のようになります。
「OK」をクリックしてインタフェースを保存して閉じます。
この項の内容は、次のとおりです。
統合インタフェースを実行するには:
「プロジェクト」ツリー・ビューで「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