ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integratorアプリケーション・アダプタ・ガイド
12c (12.1.3)
E59389-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 SAP ABAP ERP

この章では、Oracle Data IntegratorでのSAP ERPナレッジ・モジュールの使用方法について説明します。

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

7.1 概要

SAP ERPナレッジ・モジュールにより、Oracle Data IntegratorはSAP Java Connector (SAP JCo)ライブラリを使用してSAP-ERPシステムに接続できます。これらのアダプタでは、SAP-ERPシステムから大量のデータを抽出できます。

SAP ERPアダプタを初めて使用する場合は、『Oracle Data IntegratorのためのSAP ABAP ERPアダプタ・スタート・ガイド』を確認することをお薦めします。

これには、完全な前提条件のリストとSAP接続テストを含む手順を追った説明が含まれています。

7.1.1 概念

Oracle Data IntegratorのSAP ERPナレッジ・モジュールは、次のような目的で、SAP-ERPシステムの成熟したな統合方法を使用しています。

  • SAP ERPメタデータのリバース・エンジニアリング

  • SAP ERPシステム(ソース)からOracleステージング領域またはOracle以外のステージング領域へのデータの抽出およびロード

7.1.2 ナレッジ・モジュール

Oracle Data Integratorには、表7-1に示されている、SAP ERPデータを処理するためのナレッジ・モジュールが用意されています。

Oracle Data IntegratorのSAP ERPナレッジ・モジュールでは、SAP JCoライブラリを使用した、SAP ERPシステムからの統合が可能です。このKMのセットには、次の機能があります。

  • SAP ERPシステムからSAPデータを読み取ります。

  • Oracleステージング領域またはOracle以外のステージング領域にこのSAPデータをロードします。

  • SAPメタデータをリバース・エンジニアリングし、必要なメタデータのみを選択するようツリー・ブラウザに指示します。

  • フレックスフィールドを使用してSAPの表タイプ(透過、クラスタおよびプール)をマップします

表7-1 SAP ERPナレッジ・モジュール

ナレッジ・モジュール 説明

LKM SAP ERP to Oracle (SQLLDR)

SQL*LOADERコマンド行ユーティリティを使用して、SAP ERPからフラット・ファイルにデータを抽出し、これをOracleステージング領域にロードします。

LKM SAP ERP to SQL

JDBC接続を使用して、SAP ERPからフラット・ファイルにデータを抽出し、これをステージング領域にロードします。

RKM SAP ERP

モジュール、アプリケーション・コンポーネント、表、列、主キー、外部キーおよびインデックスのSAP固有のメタデータを取得するリバース・エンジニアリング・ナレッジ・モジュール。

RKM SAP ERP接続テスト

このRKMは、Oracle Data IntegratorからのSAP接続のテストに使用します。詳細は、付録B「SAP接続テスト」を参照してください。


7.1.3 SAP ABAP統合プロセスの概要

RKM SAP ERPにより、Oracle Data IntegratorではSAP JCoライブラリを使用してSAP ERPシステムに接続し、SAPメタデータのカスタマイズされたリバース・エンジニアリングを実行できます。

LKM SAP ERP to Oracle (SQLLDR)およびLKM SAP ERP to SQLは、SAP ERPシステム(ソース)からOracleステージング領域またはOracle以外のステージング領域にデータを抽出およびロードする役割を果たします。


注意:

SAP ERPへのアクセスはABAPを使用して行われます。その結果、接続に使用されるテクノロジはSAP ABAPになります。

7.1.3.1 リバース・エンジニアリング・プロセス

リバース・エンジニアリングではRKM SAP ERPを使用します。

このKMでは、SAPメタデータを取得するための専用RFCプログラムを自動インストールします。また、すべてのSAP表のリストを抽出し、オプションでメタデータ・ブラウザのグラフィック・インタフェースにこのリストを表示します。ユーザーは、リバース・エンジニアリングする表をこのリストから選択します。

リバース・エンジニアリング・プロセスによって、表、主キー、外部キーおよびインデックスが取得されます。

7.1.3.2 統合プロセス

SAPからのデータ統合は、LKM SAP ERP to Oracle (SQLLDR)およびLKM SAP ERP to SQLによって処理されます。

LKM SAP ERP to Oracle (SQLLDR)は、ABAPを経由したSAPからのマッピング・ソーシングと、Oracle Databaseへのステージング領域の配置に使用され、LKM SAP ERP to SQLは、Oracle以外のステージング領域用に使用されます。

KMではまず、指定されたマッピングに必要な抽出プロセスに対応する、最適化されたABAPコードを生成します。このコードには、ソースのSAPサーバー内で直接処理できるフィルタおよび結合が含まれます。このABAPプログラムは、自動的にアップロードされ、OdiSAPAbapExecuteツールを使用して実行されて、SAP内に抽出ファイルが生成されます。

その後、KMは、この抽出ファイルを事前に構成されたFTPサーバーまたは共有ディレクトリのいずれかに転送します。さらに、このファイルは、このサーバーからODIエージェントがあるマシンに、FTP、SFTPまたはSCPを使用してダウンロードされるか、またはコピーされ、最後にSQL*LoaderまたはJDBC接続を使用してそのステージング領域にロードされます。また、このエージェントが、FTPサーバーのディスク上にある抽出ファイルを直接読み取ることもできます。詳細は、7.7.1項「ファイル転送の構成」を参照してください。

他の統合プロセス(データの整合性チェックおよび統合)は、他のOracle Data Integration KMで管理されます。

7.2 インストールおよび構成

SAP ERPデータでの作業を開始する前に、この項の情報を必ず読んでください。

7.2.1 システム要件と動作保証情報

インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。

http://www.oracle.com/technology/products/oracle-data-integrator/index.html

7.2.2 テクノロジ固有の要件

SAP ERPの一部のナレッジ・モジュールでは、SAPおよびOracleデータベースに固有の機能を使用します。この項では、これらの機能に関連する要件をリストします。

  • アダプタとの互換性があるJCoバージョンを使用する必要があります。サポートされるJCoバージョンのリストはOracle Technology Network (OTN)で入手できます。詳細は、7.2.1項「システム要件と動作保証情報」を参照してください。

  • Oracle Data IntegratorおよびJCoの両方と互換性があるJVMバージョンを使用する必要があります。

  • このアダプタは、SAPシステムからODIエージェントにデータを転送するための転送モードとして、共有ディレクトリを使用したデータ転送とFTPを経由するデータ転送の2つをサポートしています。詳細および制約については、7.7.1項「ファイル転送の構成」を参照してください。

    ファイル転送モードの選択に応じて、次の要件を満たす必要があります。

    • 共有ディレクトリを使用したデータ転送(推奨される転送方式)

      LKM SAP ERP to Oracle (SQLLDR)には、SAPシステムとODIエージェントとの間で共有されるフォルダが必要です。SAPアプリケーション・サーバーでは、SAPシステムとODIエージェント・マシンからアクセス可能なフォルダにデータを書き込むことでデータを転送します。これは通常、ODIエージェント・マシンのフォルダをSAPシステムと共有することで行われます。共有フォルダは、必ずしもODIエージェント・マシン上に置く必要はないことに注意してください。共有フォルダがODIエージェント・マシンとSAPシステムの両方からアクセス可能であるかぎりは、サード・マシン上に共有フォルダを置くこともできます。


      注意:

      セキュリティ上の理由から、SAPサーバー上にあるフォルダは共有しないでください。そのかわりに、ODIエージェント・マシンのフォルダをSAPシステムと共有するか、または共有ファイル・サーバーとしてサード・マシンを使用します。

      共有フォルダは、SAPシステムにアクセスできる必要があります。基盤となるオペレーティング・システムのみへのアクセスでは不十分です。つまり、フォルダはSAPトランザクションAL11内で宣言される必要があり、その結果、フォルダはAL11内で正常に開かれます。

    • FTP経由のデータ転送

      LKM SAP ERP to Oracle (SQLLDR)では、SAP ERPシステムからのデータのアップロードにFTPサーバーが必要です。このデータの読取りは、マッピングを実行するエージェントによって(このエージェントがFTPサーバー・マシン上で実行されている場合)ローカルで実行されるか、またはリモートで(このエージェントがFTPサーバーとは異なるマシン上にある場合)実行されます。このFTPサーバーは、SAP ERPマシンとエージェント・マシンの両方からネットワーク経由でアクセスできる必要があります。

  • 「LKM SAP ERP to Oracle (SQLLDR)」のみ: LKM SAP ERP to Oracle (SQLLDR)を使用したマッピングの実行時には、エージェントを実行するマシン上にSQL*Loaderが必要です。SQL*Loaderは、SAPからOracleステージング領域に抽出されたデータのロードに使用されます。

7.2.3 接続性要件

Oracle Data Integratorは、JCoを使用してSAP ERPデータをホストするSAP-ERPシステムに接続します。また、SAPシステムから抽出されたデータのホストには、FTPサーバーまたは共有ディレクトリを使用します。

この項では、次の必要な接続情報について説明します。

7.2.3.1 JCoのインストールと構成

SAPアダプタでは、JCoを使用してSAPシステムに接続します。プロジェクトを続行する前にJCoを構成する必要があります。

JCoをインストールおよび構成する手順は次のとおりです。

  1. http://service.sap.com/connectorsから構成でサポートされるJCoバージョンをダウンロードします。Oracle Technology Networkから入手できる互換性マトリックスでサポートされるJCoバージョンを確認します。

    http://www.oracle.com/technology/products/oracle-data-integrator/10.1.3/htdocs/documentation/odi_certification.xls


    注意:

    • JCo 3.0.2以降のバージョンが必要です

    • 使用中のオペレーティング・システムおよびシステム・アーキテクチャ(32ビットまたは64ビット)と一致するSAP JCoパッケージを選択します。たとえば、ODIを32ビットのJVMで実行している場合、CPUおよびOSが64ビットでも、32ビットのSAP JCoをダウンロードする必要があります。32ビットと64ビットのアーキテクチャを組み合せると、SAP JCoで必要なネイティブ・ライブラリで接続失敗が発生するため、この組合せは不可能です。

    • odi.confには、ODI Studio用に使用するJDKパスが含まれています。


  2. 適切な配布パッケージを一時ディレクトリ<sapjco-install-path>に解凍します。

  3. プラットフォームに対応するJCoドキュメント(<sapjco-install-path>/javadoc/installation.html)に記載されているインストール手順に従います。

  4. 必要なファイル(sapjco3.jarおよびsapjco3.dll/.so)<ODI_HOME>/odi/sdk/libディレクトリ(ODI Studio、ODIスタンドアロン・エージェント)および<WLS_DOMAIN>/libディレクトリ(JEEエージェント)にコピーします。

  5. SAPを使用してODIコンポーネント(ODI Studio、スタンドアロン・エージェント)を再起動します。

  6. JCoインストールをチェックします。


注意:

SAP Secure Network Connectionsの場合、次のことを確認してください。
  • 環境変数SECUDIRが、証明書ファイルを含むディレクトリを指していること。

  • 環境変数SNC_LIBが、sapcrypto.dll/libsapcrypto.so (Linux用)を含むディレクトリを指していること。

証明書およびCryptoライブラリの詳細は、SAP管理者に問い合せてください。


7.2.3.2 SAPシステムへのODI SAPコンポーネントのインストール

ODI SAPアダプタは、いくつかのODI SAP RFCを使用してSAPシステムと通信します。これらのRFCは、SAP送信リクエストを使用してSAP Basisチームがインストールします。付録C「ODI SAPコンポーネントのインストール」に示す手順に従い、ODI SAPコンポーネントをインストールして、SAPユーザーに必要な認可を割り当てる場合は、SAP管理者に連絡してください。

7.2.3.3 SAP環境設定の検証

付録C「ODI SAP設定の検証」には、ODI SAPアダプタで使用する場合のSAP環境の基本検証に関する手順があります。SAP Basisチームに連絡してすべての検証を実行し、画面ショットのような検証結果と確認内容をお知らせください。

7.2.3.4 SAP接続情報の収集

SAP ERPシステムに接続するには、SAP管理者に次の情報を要求する必要があります。

  • SAPグループ・ログオンの場合:

    • SAPシステムID: ランドスケープにおける3文字で一意のSAPシステムの識別子。

    • メッセージ・サーバー: SAP Message ServerのIPアドレス/ホスト名。

    • メッセージ・サーバー・ポート: SAP Message Serverのポート番号またはサービス名。

    • グループ/サーバー: SAPログオン・グループの名前。

  • SAPサーバー・ログオンの場合:

    • SAP ERPシステムのIPアドレスまたはホスト名: SAPが実行されているホストのIPアドレスまたはホスト名。

    • SAPクライアント番号: SAPでクライアントと呼ばれる自己完結型の単位に割り当てられた3桁の番号。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。

    • SAPシステム番号: Web Application Server (WAS)とも呼ばれるSAPインスタンスに割り当てられた2桁の番号。

    • SAPシステムID: ランドスケープにおける3文字で一意のSAPシステムの識別子。

  • SAP ERPシステムのIPアドレスまたはホスト名: SAPが実行されているホストのIPアドレスまたはホスト名。

  • SAPユーザー: SAPシステムにログオンするためにユーザーに指定される一意のユーザー名。

  • SAPパスワード: ユーザーのログインに使用される、大文字と小文字を区別するパスワード。

  • SAP言語: 英語はEN、ドイツ語はDEなど、ログイン時に使用される言語コード。

  • SAPクライアント番号: SAPでクライアントと呼ばれる自己完結型の単位に割り当てられた3桁の番号。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。

  • SAPシステム番号: Web Application Server (WAS)とも呼ばれるSAPインスタンスに割り当てられた2桁の番号。

  • SAPシステムID: ランドスケープにおける3文字で一意のSAPシステムの識別子。

  • SAP SNC接続プロパティ(オプション)/SAPルーター文字列(オプション): SAPでは、SNCおよびSAPルーターを使用してセキュリティを強化しています。これは、これらのセキュリティの実装時に使用されます。

  • SAPトランスポート・レイヤー名: SAPランドスケープ内のトランスポート・レイヤーを一意に識別する文字列。これにより、ODIは、SAPでの後のデプロイメントでトランスポート・リクエストを作成できます。

  • SAP Temporary Directory (SAP_TMP_DIR): このパラメータは、SAPシステムでのカスタム作業ディレクトリを定義する場合に使用します。これは、FTP転送モードの場合のみ適用されます。このパスは、抽出時に一時ファイルに使用されます。デフォルト値(フレックスフィールド値は空白のまま)では、SAPプロファイルで定義されるDIR_HOMEパスを使用します。

    一時ファイルに使用されるディレクトリをSAPアプリケーション・サーバーで指定します。パスの最後は、SAPアプリケーション・サーバーが稼働するOSに応じて、スラッシュまたはバックスラッシュにしてください。ODI SAPユーザーには、このディレクトリに対する読取りおよび書込み権限が必要です。


    注意:

    デフォルト値(空のFF値)は、クリティカルなSAPシステムの場合は使用しないでください。抽出時に一時ファイルが多すぎると、それぞれのファイル・システムがいっぱいになり、SAPシステムで深刻な問題が生じることがあります。SAP開発システムの場合も、デフォルト値をオーバーライドすることを強くお薦めします。

  • SAP ABAPバージョン: SAPシステムのバージョン

  • SAP文字セット: この文字セットは、SAPシステムがUNICODEシステムではない場合にのみ必要となります。文字セットの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2です。UNICODEシステムの場合はUTF8を使用します。


注意:

前述の接続データ(SAP SNC接続プロパティおよびSAPルーター文字列を除く)はすべて必須であり、SAP管理者から要求されます。接続設定時には、SAP管理者にサポートを依頼することを検討することもできます。

7.2.3.5 FTP接続情報の収集

FTP接続情報の収集は、FTPを使用したデータ転送を計画する場合にのみ適用されます。SAP ERPシステムでは、FTPプロトコルを使用してデータをサーバーにプッシュします。システム管理者から次の情報を収集します。

  • FTPサーバー名またはIPアドレス

  • FTPログインID

  • FTPログイン・パスワード

  • 一時データ・ファイルを格納するためのディレクトリ・パス

FTPサーバーがSAPシステムとODIエージェント・マシンの両方からアクセスできることを検証してください。

7.2.3.6 共有ディレクトリ情報の収集

共有ディレクトリ情報の収集は、共有ディレクトリを使用したデータ転送を計画する場合にのみ適用されます。SAPシステムでは、共有フォルダにデータをプッシュします。後述の設定のため、システム管理者から次の情報を収集します。

  • 共有フォルダの(UNC)パス名

共有フォルダがSAPシステムとODIエージェント・マシンの両方からアクセスできることおよび、アクセスに対話型認証が必要ないことを確認します。

共有フォルダは、<sid>admユーザーを使用してSAPシステムからアクセスできる必要があること、およびODIエージェントを起動するオペレーティング・システム・ユーザーからアクセスできる必要があることに注意してください。

7.2.4 オープン・ツールの追加

オープン・ツールをインストールしてODIに追加する手順の詳細は、『Oracle Data Integratorツール・リファレンス』を参照してください。この項では、SAP ABAP固有のステップについてのみ説明します。

  1. デザイナに接続します。

  2. 「ファイル」「オープン・ツールの追加/削除」…を選択します。

  3. 「オープン・ツールの追加/削除」ウィンドウで、「オープン・ツール・クラス名」フィールドに次の名前を入力します。

    oracle.odi.sap.km._OdiSapAbapExecuteStoppable

  4. 「オープン・ツールの追加」をクリックします。

  5. オープン・ツールが次のように表示されます。

    image002.jpgの説明が続きます
    図image002.jpgの説明

  6. 「OK」をクリックします。

7.3 トポロジの定義

SAP統合に使用する2つのデータ・サーバーを定義する必要があります。定義するのは、SAP ABAPデータ・サーバーとファイル・データ・サーバーです。

  1. ファイル・データ・サーバーの作成

  2. SAP ABAPデータ・サーバーの作成

7.3.1 ファイル・データ・サーバーの作成

このデータ・サーバーはFTPサーバーまたはファイル・サーバーに相当し、抽出ファイルはSAPからここにプッシュされ、ロード用に取得されます。

7.3.1.1 ファイル・データ・サーバーの作成

『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』のファイル・データ・サーバーの作成に関する項の説明に従って、ファイル・データ・サーバーを作成します。この項では、SAP ERPに固有のパラメータについて説明します。

データ転送モードの選択に応じて、このデータ・サーバーは次のいずれかを指す必要があります。

  • 既存のFTPサーバー。抽出ファイルがSAPからここにプッシュされ、ロード用に取得されます。

  • 共有フォルダ。SAPシステムにより抽出ファイルがここに書き込まれ、SQL*LoaderまたはODIフラット・ファイル・ドライバからそのファイルが取得されます。このスキーマは、抽出ファイルがプッシュされるFTPホスト内のフォルダを表します。

データ・サーバーのパラメータはデータ転送モードによって異なることに注意してください。

  • FTPを使用してデータを転送する場合は、次のようにパラメータを設定します。

    • ホスト(データ・サーバー): FTPサーバーのIPホスト名またはIPアドレス

    • ユーザー: FTPサーバーにログインするためのユーザー名

    • パスワード: ユーザーのパスワード

  • 共有ディレクトリを使用してデータを転送する場合は、次のようにパラメータを設定します。

    • ホスト(データ・サーバー): 該当なし

    • ユーザー: 該当なし

    • パスワード: 該当なし

  • 「LKM SAP ERP to SQL」で使用する場合、これらの追加のパラメータを構成する必要があります。

    • JDBCドライバ・クラス: com.sunopsis.jdbc.driver.file.FileDriver

    • JDBC URL: jdbc:snps:dbfile?ENCODING=UTF8

      前述のURLはSAP UNICODEシステム用です。非UNICODEシステムの場合のENCODINGパラメータの詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』のファイル・データ・サーバーの作成に関する項を参照してください。このURLで選択するエンコーディングは、SAPアプリケーション・サーバーで使用するコード・ページと一致する必要があります。

詳細は、7.7.1項「ファイル転送の構成」を参照してください。

7.3.1.2 ファイル・スキーマの作成

このファイル・データ・サーバーでは、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』のファイル物理スキーマの作成に関する項の説明に従って、物理スキーマを作成します。

このスキーマは、FTPホストまたはファイル・サーバーのいずれかにあるフォルダを表します。これは、抽出ファイルがプッシュされるフォルダであることに注意してください。データ転送モードに応じて、データおよび作業スキーマを次のように指定します。

  • FTPファイル転送の場合:

    • ディレクトリ(スキーマ): リモートの場所から抽出ファイルをアップロードまたはダウンロードするためのFTPサーバー上のパス。このパスは、SAP ERPシステムからFTPサーバーに抽出ファイルをアップロードする際に使用されます。また、抽出ファイルをダウンロードするリモート・エージェントによって使用されます。このパスにはスラッシュを使用する必要があり、スラッシュ文字で終了する必要があります。

    • ディレクトリ(作業スキーマ): FTPサーバー・マシン上のローカル・パス。このパスは、FTPを経由することなく抽出ファイルにアクセスするため、このマシン上にインストールされたエージェントによって使用されます。このアクセス方法は、LKM SAP ERP to Oracle (SQLLDR)またはLKM SAP ERP to SQLのFTP_TRANSFER_METHODパラメータがNONEに設定されている場合に使用されます。作業スキーマはローカル・ディレクトリの場所です。そのため、スラッシュまたはバックスラッシュは、オペレーティング・システムに応じて使用する必要があります。このパスは、スラッシュまたはバックスラッシュで終了する必要があります。

      データ・スキーマと作業スキーマで指定されたパス名は必ずしも同じ名前ある必要はありません。FTPサーバーが、/sapfiles (ディレクトリ(スキーマ)の値)という名前のFTPディレクトリにアクセスできる一方、ローカルでは、c:\inetpub\ftproot\sapfiles (ディレクトリ(作業スキーマ)の値)にあるファイルがアクセスされます。

  • 共有ディレクトリ転送の場合:

    • ディレクトリ(スキーマ): 抽出ファイルの書込みおよび読取りを行う共有フォルダのパス(UNC)。SAPシステムによってこのフォルダに抽出ファイルが書き込まれます。また、リモート・エージェントによって、抽出ファイルをODIエージェント・マシンにコピーする場合にも使用されます。このパスには、SAPアプリケーション・サーバーのオペレーティング・システムに応じてスラッシュまたはバックスラッシュを使用し、その終わりにはスラッシュ文字またはバックスラッシュ文字を使用する必要があります。

    • ディレクトリ(作業スキーマ): 共有フォルダをホストするサーバー・マシン上のローカル・パス。このパスは、共有フォルダを経由することなく抽出ファイルにアクセスするため、このマシン上にインストールされたエージェントによって使用されます。このアクセス方法は、LKM SAP ERP to Oracle (SQLLDR)またはLKM SAP ERP to SQLのFTP_TRANSFER_METHODパラメータがFSMOUNT_DIRECTに設定されている場合に使用されます。作業スキーマはローカル・ディレクトリの場所です。そのため、スラッシュまたはバックスラッシュは、オペレーティング・システムに応じて使用する必要があります。このパスは、スラッシュまたはバックスラッシュで終了する必要があります。

    詳細は、7.7.1項「ファイル転送の構成」を参照してください。

File Server for SAP ABAPと呼ばれるファイル論理スキーマを作成して、物理スキーマにマップします。この論理スキーマ名はあらかじめ定義されており、SAP ABAPのファイル・サーバーにする必要があります。

7.3.2 SAP ABAPデータ・サーバーの作成

このSAP ABAPデータ・サーバーはSAPサーバーに相当し、ここからデータが抽出されます。

7.3.2.1 SAP ABAPデータ・サーバーの作成

SAP ABAPデータ・サーバーを構成する手順は次のとおりです。

  1. 『Oracle Data Integratorでの統合プロジェクトの開発』のデータ・サーバーの作成に関する項の説明に従って、標準の手順を使用してSAP ABAPテクノロジ用のデータ・サーバーを作成します。このデータ・サーバーではSAP接続情報を使用します。

  2. 接続パラメータを設定します。

    • 名前: ODIに表示されるデータ・サーバーの名前。たとえば、SAP_ERPなどです。

    • ユーザー: SAP管理者から提供されたSAP ERPユーザー。

    • パスワード: このユーザーのSAP ERPパスワード。このパスワードでは大文字と小文字が区別されます。

  3. ログオン・タイプに固有の接続パラメータを設定します。

    • SAPグループ・ログオンの場合(「フレックスフィールド」タブ)

      • フレックスフィールドSAPシステムID: ランドスケープにおける3文字で一意のSAPシステムの識別子。

      • フレックスフィールドSAP Message Serverホスト: SAP Message ServerのIPアドレス/ホスト名。

      • フレックスフィールドSAP Message Serverポート: SAP Message Serverのポート番号またはサービス名。

      • フレックスフィールドSAPグループ: SAPログオン・グループの名前。

    • SAPサーバー・ログオンの場合

      • ホスト(データ・サーバー): SAP ERPシステムのIPアドレスまたはホスト名。

      • フレックスフィールドSAPクライアント番号: SAPでクライアントと呼ばれる自己完結型の単位に割り当てられた3桁の番号。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。

      • フレックスフィールド「SAPシステム番号」: Web Application Server (WAS)とも呼ばれるSAPインスタンスに割り当てられた2桁の番号。

      • フレックスフィールドSAPシステムID: ランドスケープにおける3文字で一意のSAPシステムの識別子。

  4. SAPセキュア・ネットワーク設定を設定します(オプション)。

    • フレックスフィールドSNC: セキュリティのレベル: 「SNCなし」の場合は0、「認証」の場合は1、「整合性」の場合は2、「暗号化」の場合は3、「使用可能な最大セキュリティ設定」の場合は9

    • フレックスフィールドSNC: クライアント名: SNCクライアント名

    • フレックスフィールドSNC: パートナ名: SNCパートナ名

  5. 「フレックスフィールド」タブに、このデータ・サーバーの他のフレックスフィールド値を設定します。

    • SAP言語: ログイン時に使用される言語コード。たとえば、英語の場合はEN、ドイツ語の場合はDEです。

    • SAPルーター文字列: ルーター文字列。このパラメータはオプションで、空のままにすることもできます。

    • SAP文字セット: SAPシステムの文字セット。この情報は、データのロード時にSQLLDRで使用されます。UNICODE SAPシステムの場合は、デフォルト値のUTF8を使用します。文字セットの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2です。

    • 文字セットの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データ: 文字セットに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2です。

    • SAP一時ディレクトリ: (共有フォルダ転送と比較して) FTPベースのファイル転送の場合、データはSAPサーバーのデフォルトの一時ディレクトリに抽出されます。必要に応じて、別のフォルダを使用できます。

    • SAP抽出タイムアウト: ODIがタイムアウトになる前にSAPバックグラウンド・ジョブを待機する最大秒数。

    • SAP ABAPバージョン: SAP ABAPバージョンを次のように入力します。

      • SAP 4.6Cには46Cと入力します。

      • SAP 4.7には620と入力します。

      • SAP ECC 5.0には640と入力します。

      • SAP ECC 6.0には700と入力します。

    • SAP ERPバージョン: 今後の使用のために予約されています。

    • SAP Allow ABAP Upload: ABAPコードをこのSAPシステムでアップロードできる場合、1に設定します。通常、任意の開発以外のシステム用に0に設定します。詳細は、7.7.3項「ABAPのアップロードの制御」を参照してください。

    • SAP Allow ABAP Execute: ABAPコードをこのSAPシステムで実行できる場合、1に設定します。詳細は、7.7.3項「ABAPのアップロードの制御」を参照してください。


      注意:

      SAP接続およびFTP接続定義を検証するためのテスト・ボタンはサポートされていません。

    • SAPトランスポート層名。: このトランスポート層は、ODIが新しい送信リクエストを作成する場合に使用されます。デフォルトのトランスポート層名はSAPです。SAPシステムで異なるトランスポート層が使用される場合、このフレックスフィールドを適宜更新する必要があります。そうしないと、TRの作成は失敗します。

データ・サーバー名を除いて、SAPデータ・サーバーの定義の際に指定するすべてのパラメータはSAP管理者によって提供される必要があります。これらのパラメータの詳細は、「SAP接続情報の収集」を参照してください。

7.3.2.2 SAP ABAPスキーマの作成

SAP ABAPスキーマを構成する手順は次のとおりです。

  1. 『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、SAP ABAPデータ・サーバーの下に物理スキーマを作成します。このスキーマには、特定の構成は必要ありません。SAP ABAPデータ・サーバーの下に物理スキーマが1つのみ必要となります。

  2. 適切なコンテキスト内で、『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、この物理スキーマ用の論理スキーマを作成します。

7.4 プロジェクトの設定

SAP ERPの機能を使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。

次のKMをOracle Data Integratorプロジェクトにインポートします。

  • RKM SAP ERP

  • RKM SAP ERP接続テスト

  • LKM SAP ERP to Oracle (SQLLDR)

  • LKM SAP ERP to SQL

これらの特定のSAP ERP KMに加えて、Oracle Databaseでデータの抽出およびデータの品質チェックを実行する標準Oracle LKM、IKMおよびCKMをインポートします。利用できるKMのリストは、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』のOracle Databaseに関する項を参照してください。

7.5 モデルの作成およびリバース・エンジニアリング

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

7.5.1 SAP ERPモデルの作成

『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してSAP ABAPテクノロジおよびSAP ABAP論理スキーマに基づくSAP ERPモデルを作成します。

7.5.2 SAP ERPモデルのリバース・エンジニアリング

RKM SAP ERPを使用してカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバースエンジニアリングに関する項の説明に従って、通常の手順を使用します。この項では、SAP ERP固有のフィールドのみについて説明します。

  1. SAP ERPモデルの「リバース・エンジニアリング」タブでRKM SAP ERPを選択します。

  2. RKM SAP ERPでは、USE_GUI KMオプションをtrueに設定します。

  3. モデルを保存します。

  4. モデル・エディタ・ツールバーで、「リバースエンジニアリング」をクリックします。

  5. セッションが開始されると、ツリー・メタデータ・ブラウザが表示されます。リバースする表(複数も可)を選択します。

  6. ツリー・メタデータ・ブラウザ・ウィンドウで、「リバースエンジニアリング」をクリックします。

リバース・エンジニアリング・プロセスでは、選択された表をデータストアとして返します。


注意:

ランタイム・エージェント上でリバース・エンジニアリングを実行する場合は、USE_GUIオプションをfalseに設定する必要があります。このオプションは、Studioに組み込まれたエージェントを使用して、カスタマイズされたリバース・エンジニアリングを開始する場合にのみ使用されます。

7.6 マッピングの設計

Oracleステージング領域にSAP ERPデータをロードするマッピングを作成する手順は次のとおりです。

  1. SAP ERPモデルからソース・データストアを使用してマッピングを作成します。このマッピングは、Oracleターゲットを持つか、またはステージング領域としてOracleスキーマを使用する必要があります。

  2. マッピングに結合、フィルタおよびマップ属性を作成します。

  3. マッピングの物理的ダイアグラムで、SAP ABAPソース表のアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。

  4. 「ロード・ナレッジ・モジュール」タブでLKM SAP ERP to Oracle (SQLLDR)/LKM SAP ERP to SQLを選択します。

7.7 SAP ERP統合の考慮事項

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

7.7.1 ファイル転送の構成

ODI SAPアダプタは、ABAPプログラムを使用してデータを抽出します。SAPシステムからODIエージェントにデータを転送するため、アダプタでは2つの転送モードと各種の構成がサポートされます。

7.7.1.1 共有ディレクトリを使用した転送(推奨)

抽出プロセスの間に、ABAPプログラムによって共有フォルダのデータ・ファイルにデータのチャンクが書き込まれます。パフォーマンスを向上させるには、この共有フォルダをODIエージェント・マシンに置く必要があります。この設定では、SQL*Loaderによってこのフォルダから直接データが読み取られ、それがデータベースにロードされます。

フォルダがODIエージェント・マシン上にない場合、ODIエージェントではまず、共有フォルダからエージェントにファイルをコピーする必要があります。そして、次の手順でそのデータをSQL*LoaderまたはJDBC接続を使用してロードします。

構成1: 共有フォルダがODIエージェント・マシンに物理的に配置される場合(推奨)

FTP_TRANSFER_METHOD = FSMOUNT_DIRECTの場合にこの構成を使用します。この構成では、次のデータの移動が行われます。

  1. ABAPプログラムによって、FETCH_ BATCH SIZEレコードのチャンクが抽出され、そのレコードが共有フォルダ内のファイルに書き込まれます。

  2. LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、そのデータ・ファイルをローカルに読み込み、そのデータをOracleステージング領域にロードします。

    LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをローカルに読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。

この構成では、次のトポロジの設定が必要です。

  1. ファイル・サーバー/ODIエージェント・マシンを指すファイル・データ・サーバーを作成します。

    • ホスト(データ・サーバー): 該当なし

    • ユーザー: 該当なし

    • パスワード: 該当なし

  2. このファイル・データ・サーバーの下に、ファイル・ホスト・サーバー内の共有フォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。

    • データ・スキーマ: 抽出ファイルを書き込むABAPプログラムによって使用される共有フォルダのパス(UNC)。

    • ディレクトリ(作業スキーマ): 共有フォルダをホストするサーバー・マシン上のローカル・パス。このパスは、共有フォルダを経由することなく抽出ファイルにアクセスするため、このマシン上にインストールされたエージェントおよびSQL*Loaderによって使用されます。


    注意:

    ctl、bad、dscなどの一時ファイルは、ランタイム・エージェントのローカルの一時フォルダに作成されます。デフォルトの一時ディレクトリは、システムの一時ディレクトリです。UNIXでは通常/tmpとなり、Windowsではc:\Documents and Settings\<user>\Local Settings\Tempとなります。KMオプションのTEMP_DIRを使用してこのディレクトリを変更できます。

構成2: 共有フォルダがODIエージェント・マシン上に物理的に配置されていない場合

FTP_TRANSFER_METHOD = FSMOUNTの場合にこの構成を使用します。この構成では、次のデータの移動が行われます。

  1. ABAPプログラムによって、FETCH_ BATCH SIZEレコードのチャンクが抽出され、そのレコードが共有フォルダ内のファイルに書き込まれます。

  2. ランタイム・エージェントによって、KMのTEMP_DIRオプションで指定されたディレクトリにファイルがコピーされます。

  3. LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、このTEMP_DIRからデータ・ファイルが読み込まれ、そのデータがOracleステージング領域にロードされます。

    LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをこのTEMP_DIRから読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。

この構成では、次のトポロジの設定が必要です。

  1. 抽出ファイルがSAPからプッシュされ、SQL*Loader用に取得されるファイル・サーバーを指すファイル・データ・サーバーを作成します。

    このデータ・サーバーのパラメータを次のように設定します。

    • ホスト(データ・サーバー): 該当なし

    • ユーザー: 該当なし

    • パスワード: 該当なし

  2. このファイル・データ・サーバーで、共有フォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。

    • ディレクトリ(スキーマ): 抽出ファイルを書き込むABAPプログラムとそのファイルをコピーするエージェントによって使用される共有フォルダのパス(UNC)。

    • ディレクトリ(作業スキーマ): <未定義>。データ・ファイルがファイル・サーバーのファイル・システムから直接アクセスされることはないため、このパスは空白のままにします。

データ・ファイルは、ローカルの一時フォルダにある共有フォルダからランタイム・エージェントにコピーされます。デフォルトの一時ディレクトリは、システムの一時ディレクトリです。UNIXでは通常/tmpとなり、Windowsではc:\Documents and Settings\<user>\Local Settings\Tempとなります。KMオプションのTEMP_DIRを使用してこのディレクトリを変更できます。

7.7.1.2 FTPベースの転送

抽出時に、ABAPプログラムは、データを一時ファイルに書き込みます。このファイルは、ODIデータ・サーバーのフレックスフィールドSAP_TMP_DIRで定義されるディレクトリに作成されます。SAP_TMP_DIRの詳細は、第7.2.3.4項「SAP接続情報の収集」を参照してください。

抽出プロセスの最後に、ABAPプログラムによってFTPサーバーにデータ・ファイルがアップロードされます。パフォーマンスを向上させるには、このFTPサーバーをランタイム・エージェントと同じマシン上に置く必要があります。

エージェントがFTPサーバーと同じマシン上にない場合は、FTPサーバーからファイルをダウンロードした後に、SQL*LoaderまたはJDBC接続を使用してそのファイルをステージング領域にロードします。このダウンロード処理は、FTP、SFTPまたはSCPを使用して実行されます。

図7-3 構成1: FTPサーバーがODIエージェント・マシンにインストールされている場合

図7-3の説明が続きます
「図7-3 構成1: FTPサーバーがODIエージェント・マシンにインストールされている場合」の説明

図7-3に示される構成は、FTP_TRANSFER_METHOD = NONEの際に使用されます。この構成では、次のデータの移動が行われます。

  1. ABAPプログラムでは、データを抽出し、そのデータ・ファイルをFTPサーバーにアップロードします。

  2. LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、そのデータ・ファイルをローカルに読み込み、そのデータをOracleステージング領域にロードします。

    LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをローカルに読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。

この構成では、次のトポロジの設定が必要です。

  1. FTPサーバーを指すファイル・データ・サーバーを作成します。

    • ホスト(データ・サーバー): FTPサーバーのホスト名またはIPアドレス

    • ユーザー: FTPサーバーにログインするためのユーザー名

    • パスワード: ユーザーのパスワード

  2. このファイル・データ・サーバーに、抽出ファイルがプッシュされるFTPホスト内のフォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。

    • ディレクトリ(スキーマ): SAP抽出ファイルをアップロードするためのFTPサーバー上のパス。

    • ディレクトリ(作業スキーマ): SAP抽出ファイルを含むFTPサーバー・マシン上のローカル・パス。エージェントおよびSQL*LoaderまたはODIフラット・ファイル・ドライバによって、この場所から抽出ファイルを読み込みます。

図7-4 構成2: FTPサーバーがODIエージェント・マシンにインストールされていない場合

図7-4の説明が続きます
「図7-4 構成2: FTPサーバーがODIエージェント・マシンにインストールされていない場合」の説明

図7-4に示される構成は、FTP_TRANSFER_METHODFTPSFTPまたはSCPの際に使用されます。この構成では、次のデータの移動が行われます。

  1. ABAPプログラムでは、データを抽出し、そのデータ・ファイルをFTPサーバーにアップロードします。

  2. ODIエージェントによって、FTPサーバーからKMオプションのTEMP_DIRで指定するディレクトリにそのファイルがダウンロードされます。

  3. LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、このTEMP_DIRからデータ・ファイルが読み込まれ、そのデータがOracleステージング領域にロードされます。

    LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをこのTEMP_DIRから読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。

この構成では、次のトポロジの設定が必要です。

  1. FTPサーバーを指すファイル・データ・サーバーを作成します。

    • ホスト(データ・サーバー): FTPサーバーのホスト名またはIPアドレス

    • ユーザー: FTPサーバーにログインするためのユーザー名

    • パスワード: ユーザーのパスワード

  2. このファイル・データ・サーバーに、抽出ファイルがプッシュされるFTPホスト内のフォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。

    • ディレクトリ(スキーマ): SAP抽出ファイルをアップロードするためのFTPサーバー上のパス。

    • ディレクトリ(作業スキーマ): <未定義>。データ・ファイルがFTPサーバーのファイル・システムから直接アクセスされることはないため、このパスは空白のままにします。

考慮点および制限:

FTPベースのデータ転送では、広範囲にわたる(S)FTPファイル転送を使用し、転送前にすべてのデータをSAPのアプリケーション・サーバー・メモリー内に保持する必要があります。したがって、SAPセッションごとに必要なメモリー量は、抽出されるデータ量に応じて増加するため、データ量の上限を設定することになります。この上限は、SAP内でのセッション・メモリーの設定を増やすことてある程度調節できます。

共有フォルダ・ベースの構成に必要な設定は多少複雑になりますが、すべてのデータをSAP ASのメモリーに格納する必要がなくなるため、推奨される抽出方法です。

7.7.2 実行モード

バックグラウンド処理

デフォルトでは、生成済ABAPコードはABAPレポートとしてデプロイされます。このレポートは、実行時にバックグラウンド処理のためにSAPスケジューラに発行されます。ジョブ・ステータスは、その後ODIによってモニターされます。

KMオプションのJOB_CLASSでは、バックグラウンド・ジョブの優先度を定義します。有効な値(SAP JOB_CLASS設定に対応)は次のとおりです。

JOB_CLASS = Aは最高の優先度です

JOB_CLASS = Bは標準の優先度です

JOB_CLASS = Cは最低の優先度です

ダイアログ・モード処理

後方互換性のため、KMオプションのBACKGROUND_PROCESSINGfalseに設定できます。生成済ABAPコードはその後、RFCとしてデプロイされます。このRFCは、実行時にデータを抽出するためにODIからコールされます。

ダイアログ・モード処理は非推奨になっており、現在後方互換性のためにのみサポートされています。将来のリリースでは、ダイアログ処理は完全に削除される可能性があります。

7.7.3 ABAPアップロードの管理

開発の際には、ODIはABAPコードを生成し、マッピングを実行するたびに、これがSAP開発システムにアップロードされます。この自動的なコードのアップロードによって開発サイクルが早くなります。

マッピングまたはパッケージがユニット・テストされ、開発環境から移行する準備が整うと、他のSAP ABAPコードと同様にSAPのCTS (Change and Control System)を使用して生成されたSAP ABAPコードをそれぞれのSAPシステムに転送する必要があります。これはSAPの標準的な動作です。このタスクを簡略化するために、開発環境へのアップロードの際にSAPトランスポート・リクエストが自動的に作成されます。生成されたODI SAP ABAPプログラムのトランスポートについては、SAP管理者に確認してください。

開発、テストおよび本番で異なるODIリポジトリを使用している場合、ODIシナリオがそれぞれのSAPシステムのODI ABAPコードと一致していることを確認してください。つまり、SAP CTSを使用してSAP ABAPコードをSAP開発システムからSAP QAシステムにトランスポートし、(トランスポートされるABAPコードを生成した)ODIシナリオをODI開発リポジトリからODI QAリポジトリにトランスポートする必要があります。ODIシナリオのトランスポート方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の第13章「シナリオの使用」を参照してください。

開発以外のODIでABAPコードをアップロードする必要がなくなると、ABAPコードはSAPのCTSによってトランスポートされるため、このような開発以外のシステムではABAPのアップロードができなくなります。

LKMオプションのUPLOAD_ABAP_CODENoに設定することによってアップロードを明示的に無効にできますが、通常、ODIトポロジ内のSAPデータ・サーバー上で定義されたSAP Allow ABAP Uploadフレックスフィールドを使用して無効にされます。つまり、ABAPコードのアップロードは、LKMオプションのUPLOAD_ABAP_CODEおよびSAP Allow ABAP Uploadフレックスフィールドの両方をYesに設定した場合にかぎり実行されます。本番システムへのアップロードを無効にするには、トポロジ内の「SAP Allow ABAP Upload」フレックスフィールドを0に設定するのみで十分です。


ヒント:

開発環境ではABAPコードをアップロードし、QAまたは本番環境ではそのアップロードをスキップするマッピングを構成する手順は次のとおりです。
  1. すべてのマッピングにおいて、KMオプションのUPLOAD_ABAP_CODEYesに設定します。

  2. トポロジ内のSAPデータ・サーバーを次のように構成します。

    • すべてのSAP開発システムで、SAP Allow ABAP Uploadフレックスフィールドを1に設定します。

    • 他のすべてのSAPシステムで、SAP Allow ABAP Uploadフレックスフィールドを0に設定します。



注意:

抽出プロセスを開始する前に、ODIは、マッピングおよびシナリオがSAPにインストールされているコードと一致することを確認します。シナリオが変更されたがABAPコードは再アップロードされていないなどの不一致がある場合は、例外がスローされます。

場合によっては、マッピングのABAP抽出コードのインストールを行い、データを抽出しないことが望ましい場合があります(自動インストールの場合など)。この場合、すべてのマッピングは、KMオプションのEXECUTE_ABAP_CODEを各マッピングでFalseに設定してパッケージ内でリンクできます。このパッケージを実行すると、ずべてのABAPコードがインストールされますが、どれも実行されません。

すべてのマッピングの変更を回避(前述のようにEXECUTE_ABAP_CODEFalseに設定)するために、かわりにODI DataServerのSAP Allow ABAP Executeフレックスフィールドを使用して、すべてのSAP ABAPの実行を無効にできます。このフレックスフィールドが無効の場合、KMオプションのEXECUTE_ABAP_CODETrueに設定されていてもABAPコードは実行されません。

手動アップロード

場合によっては、開発システムでも自動アップロードが許可されないことがあります。そのような場合、KMオプションのMANUAL_ABAP_CODE_UPLOADにより手動アップロードが可能です。trueに設定すると、生成済ABAPコードを含むテキスト・ファイルがODIで作成されます。テキスト・ファイルの名前は、デフォルトではZODI_<Mapping Id>_<SourceSet Id>.ABAPのような名前です。このコードはSAP管理者に渡され、インストールされます。インストールされると、ODIマッピングはMANUAL_ABAP_CODE_UPLOADおよびUPLOAD_ABAP_CODEを使用して実行できるようになり、両方の設定がfalseに戻されます。

7.7.4 ODI SAPのトランスポート・リクエストの管理

開発の際には、マッピングを実行するたびに、ABAPコードがSAPシステムにアップロードされます。より正確には、次のようになります。

SAPデータを抽出するODIマッピングは、1つ以上のABAP抽出プログラムを生成します(たとえば、結合場所がステージングに設定されると、2つの抽出ジョブが作成されます)。デフォルトでは、1つのマッピングのすべてのABAP抽出プログラムが1つのSAP機能グループに割り当てられます。別のマッピングのABAP抽出プログラムは、別のSAP機能グループに割り当てられます。デフォルトの機能グループ名は、ZODI_FGR_<Mapping Id>のような名前です。

アップロード中、各ODIマッピング(各SAP機能グループ)に対してSAP CTSトランスポート・リクエストが作成されます。このため、SAP CTSを介して生成されたODI ABAP抽出プログラムの詳細な開発が可能になります。

グループ化(バックグラウンド処理)

複数のODIマッピングのABAPコードをより大まかなデプロイメント制御のために単一のトランスポート・リクエストにグループ化する必要がある場合、次の手順を実行する必要があります。

  • すべてのABAPレポートの共通接頭辞にKMオプションのSAP_REPORT_NAME_PREFIXを設定します。たとえば、すべてのマッピングでZODI_DWH_SALES_にします。

  • すべての個別マッピングにKMオプションのABAP_PROGRAM_NAMEを選択します。たとえば、LOAD01、LOAD02などです。

これらのサンプル設定の結果は、ZODI_DWH_SALES_LOAD01、ZODI_DWH_SALES_LOAD02などと呼ばれる、ABAPレポートを含む単一のトランスポート・リクエストになります。

グループ化(ダイアログ・モード処理、非推奨)

複数のODIマッピングのABAPコードをより大まかなデプロイメント制御のための単一のトランスポート・リクエストにグループ化する必要がある場合、これらのマッピングのすべてのLKMのKMオプションのSAP_FUNCTION_GROUPをユーザー定義の値(ZODI_FGR_DWH_SALESなど)に設定できます。こうすることによって、ODIはすべてのABAP抽出プログラムを同じSAP機能グループに生成し、このグループは単一のトランスポート・リクエストに結合されます。サイトの有効な機能グループ名は、SAP管理者に確認してください。


ヒント:

生成されたABAP抽出プログラムの名前は、デフォルトではZODI_<Mapping Id>_<SourceSet Id>のような名前です。このことによって、一意のプログラム名による便利な開発を行えます。MappingIdは変更されませんが、ODIマッピングの特定の変更によって、SourceSetIdが変更され、結果としてそれぞれの抽出プログラム名が変更されます。したがって、開発が安定した後にはユーザー定義のプログラム名を使用することをお薦めします。ABAPプログラム名は、LKMオプションのABAP_PROGRAM_NAMEの値を定義することによって設定できます(ZODI_DWH_SALES_DATA01など)。該当する命名規則については、SAP管理者に確認してください。

トランスポート・リクエストの説明

ODIでトランスポート・リクエストが作成されると、トランスポート・リクエストの説明が、KMオプションのSAP_TRANSPORT_REQUEST_DESCで提供されたテキストに設定され、KMオプションのFUNCTION_GROUPで定義された機能グループに適用されます。

デフォルトでは、ODIステップ名(通常はマッピング名)が使用されます。

ODI:<%=odiRef.getPackage("PACKAGE_NAME")%>のようなコード生成式は、いくつかのマッピングを1つのSAP機能グループ / SAPトランスポート・リクエストにグループ化する場合に役立つ場合があります。

7.7.5 SAPパッケージおよびSAP機能グループ

SAPパッケージ

ODI SAPアダプタによってインストールされたすべてのSAPオブジェクトは、次のSAPパッケージにグループ化されます。

  • ZODI_RKM_PCKGは、任意のRKM関連オブジェクトを含みます。これらのオブジェクトは開発フェーズ中に使用されます。

  • ZODI_LKM_PCKGは、任意のSAP LKMで生成された任意の抽出プログラムを含みます。

SAP管理者からリクエストされた場合、KMオプションのSAP_PACKAGE_NAME_ODI_DEVおよびSAP_PACKAGE_NAME_ODI_PRODを使用して、これらのデフォルト名を上書きできます。これらの値は、初回インストール時に設定する必要があります。後で変更する場合、ODI SAPアダプタを(事前にアンインストールして)再インストールする必要があります。

LKMオプションのSAP_PACKAGE_NAMEで常に、RKMの初回インストール時に指定したものと同じ値を使用する必要があることに注意してください。つまり、RKMの初回インストール時に非デフォルト値を使用すると、すべてのマッピングでLKMオプションのSAP_PACKAGE_NAMEにその非デフォルト値を設定する必要があります。

SAP機能グループ

すべてのSAP機能モジュールは、次のSAP機能グループにグループ化されます。

  • ZODI_FGRは、メタデータの取得用モジュールなどのデプロイメント時に必要な任意の機能モジュールを含みます。これらの機能モジュールは、RKMによって初回インストール時にインストールされます。

    RKMの初回インストール時に、RKMオプションのSAP_FUNCTION_GROUP_ODI_DEVを使用してデフォルト名を上書きできます。

  • ZODI_FGR_PRODは、ABAPレポート実行ステータスのモニタリング用など、本番の実行時に必要な任意の機能モジュールを含みます。これらの機能モジュールは、RKMによって初回インストール時にインストールされます。

    RKMの初回インストール時に、RKMオプションのSAP_FUNCTION_GROUP_ODI_PRODを使用してデフォルト名を上書きできます。

  • ZODI_FGR_PROD_...は、任意のデータ抽出機能モジュールを含みます。そのような機能モジュールは、非推奨のダイアログ・モード(BACKGROUND_PROCESSING=false)の使用時にLKMによって生成されます。

    デフォルトでは、すべてのマッピングで独自の機能グループが使用されます。デフォルト値は、前述の2つの機能グループ名とは関係ないLKMオプションのSAP_FUNCTION_GROUPを使用して上書きできます。

    詳細は、「ODI SAPのトランスポート・リクエストの管理」を参照してください。

7.7.6 ログ・ファイル

RKMおよびLKMの実行中、多くのメッセージがODIのロギング機能のログに記録されます。ODIログ・ファイルおよびその他のログ・ファイルにあるこれらのメッセージには、有用なトラブルシューティングの詳細が含まれていることがあります。ODIのロギング機能の詳細は、『Oracle Data Integratorの管理』のODIコンポーネントの実行時ロギングに関する項を参照してください。表7-2には、各種ログ・ファイルとその使用方法が示されています。

表7-2 ログ・ファイル

デフォルトのログ・ファイル名 KM /フェーズ コンテンツ

<ODI Logs>

RKM

メタデータ取得の実行ログ

<ODI Logs>

RKM

RKM用SAP RFCの初回インストールに関する情報

<ODI Logs>

LKM - 生成時

ABAPエクストラクタのコード生成に関する情報

<ODI Logs>

LKM - 実行時

ABAPエクストラクタのインストールに関する情報

<System Temp Dir or local FTP dir>/ ZODI_<Mapping Id>_<SrcSet>_<Context>.log

LKM - 実行時

SQL*Loaderログ・ファイル

<System Temp Dir or local FTP dir>/ ZODI_<Mapping Id>_<SrcSet>_<Context>.out

LKM - 実行時

SQL*Loader実行時のOS標準出力には、SQL*Loaderがインストールされていない場合などの情報を含めることができます。

<System Temp Dir or local FTP dir>/ ZODI_<Mapping Id>_<SrcSet>_<Context>.err

LKM - 実行時

SQL*Loader実行時のOSエラー出力には、SQL*Loaderがインストールされていない場合などの情報を含めることができます。


7.7.7 SAP ABAPアダプタの制限

SAP ABAPアダプタには次の制限があります。

  • ODIトポロジ・マネージャ内のSAP接続定義を検証する「テスト」ボタンはサポートされていません。

  • SAP表タイプ(透過、プールおよびクラスタ)は、表がリバース・エンジニアリングされた後は変更できません。

  • SAP ABAP KMでは、順序付けられた結合のみをサポートします。

  • 完全外部結合および右外部結合はサポートされません。

  • 1対多のリレーションシップでは、結合の最初の表を1表にする必要があります。たとえば、MARAとMARCを結合する場合は、MARAを結合内の最初の表にする必要があります。

  • ソース上で実行されるマッピング式は、いかなる変換も含まないようにしてください。