E 開発から本番へのODIおよびSAPコンポーネントの移行

開発環境から本番環境にODIおよびSAPコンポーネントを移行することができます。

この付録では、システムECC 5.0が使用されます。

この付録の内容は次のとおりです。

E.1 送信リクエスト(TR)

ODI SAPアダプタは、TRにバンドルされる様々なSAPオブジェクト・セットを使用します。

  • ODI SAPアダプタ本番TR: 2つの本番TRがあります。これらは、ダウンロードで入手でき、ODI SAPアダプタ本番インストール時にインストールされます。

    • 開発に関連するSAPオブジェクトを含むTR。たとえば、ODIはSAPシステムからメタデータを取得できます。

    • 本番に関連するSAPオブジェクトを含むTR。たとえば、データ抽出ジョブを実行およびモニターします。

  • ODI生成TR: 開発時、ODI SAPアダプタはABAPプログラムを生成します。これらのプログラムは、(自動的に)アップロードされ、TRの一部になります。ユーザーの選択に応じて、データ抽出用のABAPプログラムを含むTRが1つまたは複数ある場合があります。

この項では、これらのTRと、SAPでのこれらの調査について説明します。

ノート:

以下の点に注意する必要があります。

  • TRは、SAP BASISチームによって解放されます。

  • TRが自動的に本番に移動する場合があります。これは、送信ルートが構成される場合に生じます。TRは手動でインポートする方が適切とみなされるため、ほとんどの場合、開発またはQAからの本番への送信ルートは構成されません。自動的に構成されるTRの場合、順序が重要な役割を果すため、TRの正しい順序に重点が置かれます。

  • 分散本番環境では、ワークベンチTRをすべてのアプリケーション・サーバーにインポートする必要があります。

この項には次のトピックが含まれます:

E.1.1 TRのリストの表示

TRのリストを表示するには、次のステップを実行します。

  1. TCODE SE10を入力します。
  2. 画面の左下隅にある「Display」ボタンをクリックします。

    「Workbench」の下に、様々なターゲット・システムが表示されます。次に示すように、VQ5などが表示されます。

  3. RKMインストール時に使用されたトランスポート層名(SAPなど)に関連付けられたターゲット・システム(VQ5など)を開きます。前述した次の2つの送信リクエストが表示されます。
    • ODI SAP PRODUCTION OBJECTS

    • ODI SAP DEVELOPMENT OBJECTS

TRフィールドの詳細は、「TRフィールドの説明」を参照してください。

E.1.1.1 TRフィールドの説明

次に、各種TRフィールドについて説明します。

  • TR Name: EQ5K900562

    ノート:

    EQ5K900562。ここで、EQ5はシステム識別情報(SID)、Kはキーワードを示し、数字は、システムによって範囲から自動的に生成されます。これは、900001で開始し、システム管理者は管理しません。

  • TR Description: ODI SAP PRODUCTION OBJECTS

  • Transport Layer Name: SAP

E.1.2 DEV関連の送信リクエスト(TR)

説明がODI SAP DEVELOPMENT OBJECTSのTRは、開発に関連します。これを開くと、「Package」、「Function Group」「Message Class」が表示されます。これらは、このTRの下に作成されます。

E.1.3 PROD関連の送信リクエスト(TR)

説明がODI SAP PRODUCTION OBJECTSのTRは、本番に関連します。これを開くと、「Package」、「Function Group」「Object List of Request」(APPL_LOGなど)が表示されます。これらは、このTRの下に作成されます。

E.2 リモート・ファンクション・コール(RFC)

生成されたRFCのセット全体は、その実行環境に基づき2つのSAPパッケージ下でグループ化されます。次の2つのSAPパッケージが作成されます。

  • ZODI_RKM_PCKG: 開発SAPシステムで必要なすべてのRFCが含まれます。

  • ZODI_LKM_PCKG: 本番SAPシステムのみで必要なすべてのRFCが含まれます。

SAPシステムに作成されるRFCのリストは、TCODE SE80を使用して確認できます。

SAPシステムに作成されるRFCのリストを確認するには、次のステップを実行します。

  1. TCODE SE80を開きます。

  2. オプション「Test Repository」の下の最初のドロップダウン・リストで、「Package」を選択します。

  3. パッケージ名(ZODI_RKM_PCKG/ZODI_LKM_PCKG)を入力し、[Enter]を押します。

  4. 「Object Name」セグメントの下で、「Function Groups」→「ZODI_FGR」→「Function Modules」を開きます。インストールされているRFCのリストが表示されます。

E.3 同じ送信リクエストへのマッピングの追加

デフォルトでは、ODI SAPアダプタは、マッピングにつき1つのTRを作成します。複数のマッピングがシナリオで使用される場合、ユーザーは、生成されたABAPプログラムをSAP内に単一ユニットとして移動することがあります。これを最適に行うには、すべてのABAPグループを1つのTRにグループ化します。この項では、ODIで複数のABAPプログラムを同じTRにグループ化する方法について説明します。

バックグラウンド処理では、ODIは、SAP_REPORT_NAME_PREFIXが同じすべてのABAPプログラムを同じTRに組み込みます。一番最初に実行されるマッピングにより、KMオプションSAP_TRANSPORT_REQUEST_DESCを介してSAPにTRの説明が定義されます。詳細は、「KMオプションの説明」を参照してください。

同じ送信リクエストの下にインタフェースを追加するには、次のステップを実行します。

  1. 2つのマッピングを作成します。たとえば、EXTRACT MAKT OBJECT DATAEXTRACT MARA OBJECT DATAなどです。
  2. 「Flow」タブで、オプション「BACKGROUND_PROCESSING」の値を「TRUE」に設定します。
  3. 同じSAP_TRANSPORT_REQUEST_DESC (MM Tables Extractionsなど)を両方のマッピングに入力します。

    SAP_TRANSPORT_REQUEST_DESCオプションの詳細は、「KMオプションの説明」を参照してください。

  4. SAP_REPORT_NAME_PREFIX (ZMM_など)を両方のマッピングに入力します。

    SAP_REPORT_NAME_PREFIXオプションの詳細は、「KMオプションの説明」を参照してください。

  5. 両方のマッピングを実行します。
  6. SAP TCODE SE10に移動します。
  7. 「Display」ボタンをクリックします。

    KMオプションに入力した説明付きの新規作成送信リクエストが表示されます。

  8. 新規作成した「TR」→「Object List of Request」→「Program」を開くと、この下にLKMの実行で作成されたレポートが表示されます。

前述のステップの実行後、前述の図に示すように、両マッピングZMM_ZODI_125001_134001およびZMM_ZODI_135001_143001が、同じ送信リクエストに追加されます。

ノート:

マッピングZMM_ZODI_135001_143001の場合

ZMM_: SAP_REPORT_NAME_PREFIXです。

ZODI_135001_143001: 動的ABAPプログラムの名前です。

前述の2つのABAPプログラムのグループ化は、SAP_REPORT_NAME_PREFIX KMオプションの値が同じために行われます。

E.3.1 KMオプションの説明

この項では、KMオプションSAP_REPORT_NAME_PREFIXおよびSAP_TRANSPORT_REQUEST_ DESCRIPTIONについて説明します。

  • SAP_REPORT_NAME_PREFIX: 共通の送信リクエストにグループ化されるすべてのレポートの接頭辞を定義します。ABAP_PROGRAM_NAMEと一緒に使用されます。BACKGROUND=1の場合のみ適用されます。接頭辞はZから開始してください。推奨されるレポート名の接頭辞については、SAP管理者に問い合せてください。

  • SAP_TRANSPORT_REQUEST_ DESCRIPTION: KMオプションSAP_FUNCTION_GROUPで定義される機能グループに対して、ODIで作成されるSAP送信リクエストの説明を定義します。デフォルトでは、ODIステップ名(通常はマッピング名)が使用されます。既存の送信リクエストの説明は置き換えられます。ODI:<%=odiRef.getPackage("PACKAGE_NAME")%>のようなコード生成式は、いくつかのインタフェースを1つのSAP機能グループ/SAP送信リクエストにグループ化する場合に役立つ場合があります。

    デフォルト: <%=odiRef.getStep("STEP_NAME")%>

E.4 ODIパッケージの作成

ODIパッケージを作成するには、次のステップを実行します。

  1. SAP ERPプロジェクト(SAP ERP Demoなど)に移動し、「First Folder」を開き、「Packages」を右クリックして「New Package」を選択します。
  2. 「Definition」ウィンドウで、パッケージ名(MM_TABLE_EXTRACTION_DEMOなど)を入力して、「Save」をクリックします。
  3. 「Diagram」タブをクリックします。
  4. パッケージでステップを定義するには、EXTRACT MARA OBJECT DATAおよびEXTRACT MAKT OBJECT DATAインタフェースを「Designer window」→「Project」→「First Folder」→「Interfaces」から選択して、「Diagram」タブにドラッグアンドドロップします。これらのコンポーネントがパッケージにステップとして表示されますが、まだ順序付けされていません。
  5. パッケージで最初のステップを指定するには、このステップを選択して右クリックし、コンテキスト・メニューから「First Step」を選択します。緑色の小さな矢印がこのステップに表示されます。
  6. ダイアグラムのツール・バーから「Next Step on Success」アイコンを選択します。
  7. このツールでステップを順序付けるには、1つのステップをクリックしてから、実行する次のステップをクリックします。

E.5 ODIシナリオの生成

ODIシナリオを生成するには、次のステップを実行します。

  1. MM_TABLE_EXTRACTION_DEMOパッケージを選択します。
  2. 「Generate Scenario」を右クリックして選択します。

    「New Scenario」ダイアログ・ボックスが表示されます。

  3. 「OK」をクリックします。Oracle Data Integratorで処理が行われ、シナリオが生成されます。

    生成されたシナリオは、次に示すように「Scenarios」の下に表示されます。

E.6 ODIシナリオの本番リポジトリへの移動(オプション)

このタスクはオプションで、異なるODIリポジトリからシナリオを実行する場合にのみ必要です。

使用するODIリポジトリ設定によっては、生成したODIシナリオを本番リポジトリに移動する必要があります。これを実行する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』シナリオのエクスポートに関する項およびシナリオの本番へのインポートに関する項を参照してください。

異なるODIソフトウェア・インストールからシナリオを実行する場合、すべての接続性要件が満たされていることを確認します。「接続性要件」または「接続性要件」の、特に「JCoのインストールと構成」または「JCoのインストールと構成」を参照してください。

E.7 ODI SAPコンポーネントのTRの本番への解放

本番に送信リクエストを解放するには、その本番(ZODI_LKM_PCKG)パッケージに関連付けられている送信のリクエスト番号が必要です。

送信リクエストをTRのインポート後に作成する場合、「TRのインポート後の送信の作成」で説明されているステップを実行します。

RKMプロセスを使用して送信リクエストを作成する場合、「RKMプロセスによる送信の作成」で説明されているステップを実行します。

E.7.1 TRのインポート後の送信の作成

送信リクエストをTRの開発システムへのインポート後に作成し、「ODI SAP本番オブジェクトの送信リクエストの作成」および「ODI SAP開発オブジェクトの送信リクエストの作成」のステップに注意深く従った場合、次のステップを実行します。

  1. トランザクションSE10に移動し、「ODI SAP本番オブジェクトの送信リクエストの作成」および「ODI SAP開発オブジェクトの送信リクエストの作成」の手順に従った際に使用したユーザー名を指定するか、または、すべてのユーザーの場合は*を指定します。
  2. TR番号をメモした場合、「Display」ボタン(「Display」ボタン)をクリックし、後続のポップアップで送信リクエスト番号を指定します。
  3. 「Display」ダイアログで送信リクエスト番号を入力し、「OK」をクリックします。

    含まれているオブジェクトともに送信リクエスト番号が表示されます。

  4. 送信番号がわからない場合、表示ボタン(「Display」ボタン)を押して、「ODI SAP本番オブジェクトの送信リクエストの作成」で指定したODI SAP本番オブジェクトまたは説明を検索します。

    これを実行すると、該当するリクエスト番号が見つかります。

  5. 「Position cursor」(「Position Cursor」ボタン)ボタンをクリックして、TRにカーソルを移動します。
  6. 選択された送信が強調表示されます。
  7. 送信リクエストを選択して、ツールバーの「Release」ボタン(「Release TR」ボタン)をクリックします。

    ノート:

    チェック・マークは、送信リクエストが解放されたことを表します。

E.7.2 RKMプロセスによる送信の作成

RKMプロセスを使用して送信リクエストを作成する場合、次のステップを実行します。

  1. SAPシステムのTCODE SE16に移動し、「Table Name」フィールドにE071と入力します。
  2. キーボードの[Enter]を押すか、「View content」(「View content」ボタン)ボタンをクリックします。
  3. 「OBJ_NAME (Object Name)」にパッケージ名ZODI_LKM_PCKGを、「LOCKFLAG (Status)」フィールドにXを入力します。
  4. [F8]を押すか実行します。

    これで送信リクエスト番号が付与されます。表示された送信リクエスト番号をコピーします。

  5. トランザクションSE01に移動し、前述のステップでコピーしたTRを開き、TR番号を指定して「Display」ボタンをクリックします。
  6. タスクBIDK906500 (前述を参照)を選択して「Release」ボタン(「Release TR」ボタン)をクリックし、再度送信リクエスト番号BIDK906499 (前述を参照)を選択して「Release」ボタン(「Release TR」ボタン)をクリックします。

    ノート:

    チェック・マークは、送信リクエストが解放されたことを表します。

E.8 ODIマッピングのTRの本番への解放

マッピングの送信リクエストを解放するには、そのマッピングに関連付けられている送信のリクエスト番号が必要です。

マッピングに関連付けられているTRを見つけるには、次のステップを実行します。

  1. SAPシステムでTCODE SE10に移動し、LKMの実行に使用されるユーザー名を入力します。
  2. 「Modifiable」を選択して「Request Status」を変更します。
  3. 「Display」をクリックします。
  4. [CTRL] + [F]を押して検索します。LKM (MM TABLES EXTRACTIONなど)の実行中に、インタフェースに入力されたSAP_TRANSPORT_REQUEST_DESC値を指定します。
  5. 「検索」アイコンをクリックします。

    送信リクエスト番号とその説明を示すポップアップが表示されます。

  6. 送信リクエスト番号をダブルクリックします。

    リクエスト番号とタスク番号は、該当リクエストの下にオブジェクトとともに表示されます。

  7. リクエスト番号の下のタスク番号をクリックして、アイコンをクリックします。
  8. リクエスト番号をクリックして、アイコンをクリックします。

    ノート:

    チェック・マークは、送信リクエストが解放されたことを表します。

E.9 ODIシナリオの実行

ODIシナリオを実行するには、次のステップを実行します。

  1. シナリオMM_TABLE_EXTRACTION_DEMO Version 001を右クリックします。
  2. コンテキスト・メニューから「Execute」を選択します。
  3. 「Execution」および「Information」ダイアログで「OK」をクリックします。

シナリオの実行レポートを「Operator」で確認できます。パッケージの実行時と同様の結果が得られます。

シナリオのツリー・ビューを開いて、シナリオの実行レポートをデザイナ・モジュールで確認することもできます。