Oracle® Fusion Middleware Oracle Data IntegratorのためのSAP ABAP BWアダプタ・スタート・ガイド 12c (12.1.2) E49821-02 |
|
前 |
次 |
この章では、デルタ抽出のパッケージを作成する方法を説明します。
これまでに、BWのデータ・ターゲットからデータを抽出する例を示してきました。この章で説明する手順では、これまでの章で説明したマッピングをデルタ抽出マッピングに変換する方法を説明します。
デルタ抽出マッピングでは、データのうち、前回の抽出以降に変更された分のみが抽出されます。デルタ抽出マッピングがサポートされるのは、インフォ・キューブ、ODS/DSOおよびオープン・ハブ・オブジェクトのみであり、インフォ・オブジェクトに対してはサポートされません。
この章には次の項が含まれます:
最初のステップは、マッピングに変更を加えることです。
目的のマッピングを選択します。
マッピングをダブルクリックします。
「物理」ダイアグラムを選択します。
ターゲット・グループで、ソース・グループのアクセス・ポイントを選択します。
次に示すように、ロード・ナレッジ・モジュールの「プロパティ」パネルで、FIRST_REQ_IDおよびLAST_REQ_IDのKMオプション値を設定します。
「ファイル」メニューから、「保存」をクリックしてマッピングを閉じます。
2番目のステップでは、最後に抽出されたリクエストIDを格納するためのODI変数を作成します。このリクエストIDは、次回抽出を実行するときの開始点となります。
最後のリクエストIDを保持するためのMIN_REQUEST_ID変数を作成します。次に示すように、MIN_REQUEST_ID変数を数値変数として設定し、「アクション」を、「履歴の保持」
または「最後の値」
に設定する必要があります。
この変数の値は、3番目のステップで説明するデルタ抽出パッケージの終了時に更新されます。これは、デルタ抽出の終了時に行われ、MAX REQUEST IDがSAP BWシステムからフェッチされてODI変数(MIN_REQUEST_ID)に格納されます。ここに示したリフレッシュ式を使用して変数が更新されます。
3番目のステップでは、これまでのステップで作成したビルディング・ブロック(変数とマッピング)からパッケージを作成します。
「SAP Demo」
プロジェクトを開きます。
新しいパッケージを「SAP Demo」
という名前で作成します。
「変数の宣言」ステップをこのパッケージに挿入します。
MIN_REQUEST_ID
変数をドラッグ・アンド・ドロップして「変数の宣言」ステップ・タイプを選択します。
「フロー」ステップをこのパッケージに挿入します。
前の項でインフォ・キューブ/ODSまたはオープン・ハブ抽出用に作成したマッピングを、パッケージにドラッグ・アンド・ドロップします。
「変数のリフレッシュ」ステップをこのパッケージに挿入します。
MIN_REQUEST_ID
変数をドラッグ・アンド・ドロップして「変数のリフレッシュ」ステップ・タイプを選択します。
ステップの順序を定義します。
「変数のリフレッシュ」ステップを「最初のステップ」として定義します。
これを、成功時の次のステップである「フロー」ステップにリンクします。
「フロー」ステップを「変数のリフレッシュ」ステップ(成功時の次のステップであり、パッケージの最後のステップ)にリンクします。変数間に矢印を追加します。
パッケージは、このスクリーンショットのようになります。
パッケージを実行するには:
「プロジェクト」ツリー・ビューで「SAP Demo」
プロジェクトを開きます。
「SAP Demo」
パッケージを選択します。
右クリックして「実行」を選択します。
「実行」ウィンドウの「OK」をクリックします。
「セッションを開始しました」ウィンドウの「OK」をクリックします。
デルタ抽出パッケージを実行したときに行われる処理
最初に、Oracle Data Integratorによって変数MIN_REQUEST_IDが最後の履歴化値に初期化されます(「変数の宣言」ステップ)。この値が、データ抽出開始位置を指定するためにABAP抽出プログラムに渡されます。KMがSAPシステムに、割当て済リクエストIDの最大値を問い合せます。最小リクエストIDから最大リクエストIDまでのすべてのデータが抽出されます(マッピング)。
マッピングの実行後に、変数リフレッシュ・ステップによって最大リクエストIDがMIN_REQUEST_IDに格納され、これが次回実行時に使用されます。