Oracle® Fusion Middleware Oracle Data Integratorアプリケーション・アダプタ・ガイド 12c (12.1.2) E49822-03 |
|
前 |
次 |
この章では、Oracle Data IntegratorでのSAP ERPナレッジ・モジュールの使用方法について説明します。
この章の内容は次のとおりです。
SAP ERPナレッジ・モジュールにより、Oracle Data IntegratorはSAP Java Connector (SAP JCo)ライブラリを使用してSAP-ERPシステムに接続できます。これらのアダプタでは、SAP-ERPシステムから大量のデータを抽出できます。
SAP ERPアダプタを初めて使用する場合は、『Oracle Data IntegratorのためのSAP ABAP ERPアダプタ・スタート・ガイド』を確認することをお薦めします。
これには、完全な前提条件のリストとSAP接続テストを含む手順を追った説明が含まれています。
Oracle Data IntegratorのSAP ERPナレッジ・モジュールは、次のような目的で、SAP-ERPシステムの成熟したな統合方法を使用しています。
SAP ERPメタデータのリバース・エンジニアリング
SAP ERPシステム(ソース)からOracleステージング領域またはOracle以外のステージング領域へのデータの抽出およびロード
Oracle Data Integratorには、SAP ERPデータを処理するためのナレッジ・モジュールが用意されています。これらのリストを表5-1に示します。
Oracle Data IntegratorのSAP ERPナレッジ・モジュールでは、SAP JCoライブラリを使用した、SAP ERPシステムからの統合が可能です。このKMのセットには、次の機能があります。
SAP ERPシステムからSAPデータを読み取ります。
Oracleステージング領域またはOracle以外のステージング領域にこのSAPデータをロードします。
SAPメタデータをリバース・エンジニアリングし、必要なメタデータのみを選択するようツリー・ブラウザに指示します。
フレックスフィールドを使用してSAPの表タイプ(透過、クラスタおよびプール)をマップします
表5-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接続テスト」を参照してください。 |
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になります。 |
リバース・エンジニアリングではRKM SAP ERPを使用します。
このKMでは、SAPメタデータを取得するための専用RFCプログラムを自動インストールします。また、すべてのSAP表のリストを抽出し、オプションでメタデータ・ブラウザのグラフィック・インタフェースにこのリストを表示します。ユーザーは、リバース・エンジニアリングする表をこのリストから選択します。
リバース・エンジニアリング・プロセスによって、表、主キー、外部キーおよびインデックスが取得されます。
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サーバーのディスク上にある抽出ファイルを直接読み取ることもできます。詳細は、5.7.1項「ファイル転送の構成」を参照してください。
他の統合プロセス(データの整合性チェックおよび統合)は、他のOracle Data Integration KMで管理されます。
SAP ERPデータでの作業を開始する前に、この項の情報を必ず読んでください。
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technology/products/oracle-data-integrator/index.html
SAP ERPの一部のナレッジ・モジュールでは、SAPおよびOracleデータベースに固有の機能を使用します。この項では、これらの機能に関連する要件をリストします。
アダプタとの互換性があるJCoバージョンを使用する必要があります。サポートされるJCoバージョンのリストはOracle Technology Network (OTN)で入手できます。詳細は、5.2.1項「システム要件と動作保証情報」を参照してください。
Oracle Data IntegratorおよびJCoの両方と互換性があるJVMバージョンを使用する必要があります。
このアダプタは、SAPシステムからODIエージェントにデータを転送するための転送モードとして、共有ディレクトリを使用したデータ転送とFTPを経由するデータ転送の2つをサポートしています。詳細および制約については、5.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ステージング領域に抽出されたデータのロードに使用されます。
Oracle Data Integratorは、JCoを使用してSAP ERPデータをホストするSAP-ERPシステムに接続します。また、SAPシステムから抽出されたデータのホストには、FTPサーバーまたは共有ディレクトリを使用します。
この項では、次の必要な接続情報について説明します。
SAPアダプタでは、JCoを使用してSAPシステムに接続します。プロジェクトを続行する前にJCoを構成する必要があります。
JCoをインストールおよび構成する手順は次のとおりです。
http://service.sap.com/connectors
から構成でサポートされるJCoバージョンをダウンロードします。Oracle Technology Networkから入手できる互換性マトリックスでサポートされるJCoバージョンを確認します。
注意:
|
適切な配布パッケージを一時ディレクトリ<sapjco-install-path>
に解凍します。
プラットフォームに対応するJCoドキュメント(<sapjco-install-path>/javadoc/installation.html
)に記載されているインストール手順に従います。
必須ファイル(sapjco3.jar
およびsapjco3.dll/.so)
を<ODI_HOME>/odi/sdk/lib
ディレクトリにコピーします。
SAPを使用してODIコンポーネント(ODI Studio、スタンドアロン・エージェント)を再起動します。
JCoインストールをチェックします。
SAP ERPシステムに接続するには、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 ABAPバージョン: SAPシステムのバージョン
SAP文字セット: この文字セットは、SAPシステムがUNICODEシステムではない場合にのみ必要となります。文字セットの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2
です。UNICODEシステムの場合はUTF8
を使用します。
注意: 前述の接続データ(SAP SNC接続プロパティおよびSAPルーター文字列を除く)はすべて必須であり、SAP管理者から要求されます。接続設定時には、SAP管理者にサポートを依頼することを検討することもできます。 |
FTP接続情報の収集は、FTPを使用したデータ転送を計画する場合にのみ適用されます。SAP ERPシステムでは、FTPプロトコルを使用してデータをサーバーにプッシュします。システム管理者から次の情報を収集します。
FTPサーバー名またはIPアドレス
FTPログインID
FTPログイン・パスワード
一時データ・ファイルを格納するためのディレクトリ・パス
FTPサーバーがSAPシステムとODIエージェント・マシンの両方からアクセスできることを検証してください。
共有ディレクトリ情報の収集は、共有ディレクトリを使用したデータ転送を計画する場合にのみ適用されます。SAPシステムでは、共有フォルダにデータをプッシュします。後述の設定のため、システム管理者から次の情報を収集します。
共有フォルダの(UNC)パス名
共有フォルダがSAPシステムとODIエージェント・マシンの両方からアクセスできることおよび、アクセスに対話型認証が必要ないことを確認します。
共有フォルダは、<sid>admユーザーを使用してSAPシステムからアクセスできる必要があること、およびODIエージェントを起動するオペレーティング・システム・ユーザーからアクセスできる必要があることに注意してください。
SAPアダプタでは、設定および実行処理を行う権限が必要です。付録B「SAP ABAP ERPアダプタの追加情報」に示されている権限のリストを管理者に提供してください。
これらの権限は、SAPユーザーがODIを使用してSAPシステムにログインする際に要求されます。このユーザーは、SAPデータ・サーバーの作成時に指定されます。
オープン・ツールをODIにインストールおよび追加する完全なプロセスについては、『Oracle Data Integrator開発者ガイド』の付録A「Oracle Data Integratorのツール参照」を参照してください。この項では、SAP ABAP固有のステップについてのみ説明します。
デザイナに接続します。
「ファイル」→「オープン・ツールの追加/削除」…を選択します。
「オープン・ツールの追加/削除」ウィンドウで、「オープン・ツール・クラス名」フィールドに次の名前を入力します。
oracle.odi.sap.km._OdiSapAbapExecuteStoppable
「オープン・ツールの追加」をクリックします。
オープン・ツールが次のように表示されます。
「OK」をクリックします。
SAP統合に使用する2つのデータ・サーバーを定義する必要があります。定義するのは、SAP ABAPデータ・サーバーとファイル・データ・サーバーです。
このデータ・サーバーはFTPサーバーまたはファイル・サーバーに相当し、抽出ファイルはSAPからここにプッシュされ、ロード用に取得されます。
『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システム以外の場合、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』のファイル・データ・サーバーの作成に関する項のENCODINGパラメータの詳細を参照してください。このURLで選択するエンコーディングは、SAPアプリケーション・サーバーで使用するコード・ページと一致する必要があります。
詳細は、5.7.1項「ファイル転送の構成」を参照してください。
このファイル・データ・サーバーでは、『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
に設定されている場合に使用されます。作業スキーマはローカル・ディレクトリの場所です。そのため、スラッシュまたはバックスラッシュは、オペレーティング・システムに応じて使用する必要があります。このパスは、スラッシュまたはバックスラッシュで終了する必要があります。
詳細は、5.7.1項「ファイル転送の構成」を参照してください。
File Server for SAP ABAP
と呼ばれるファイル論理スキーマを作成して、物理スキーマにマップします。この論理スキーマ名はあらかじめ定義されており、SAP ABAPのファイル・サーバーにする必要があります。
このSAP ABAPデータ・サーバーはSAPサーバーに相当し、ここからデータが抽出されます。
SAP ABAPデータ・サーバーを構成する手順は次のとおりです。
『Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、SAP ABAPテクノロジ用のデータ・サーバーを作成します。このデータ・サーバーではSAP接続情報を使用します。
このデータ・サーバーのパラメータを次のように設定します。
名前: ODIに表示されるデータ・サーバーの名前。たとえば、SAP_ERP
などです。
ホスト(データ・サーバー): SAP ERPシステムのIPアドレスまたはホスト名。
ユーザー: SAP管理者から提供されたSAPユーザー。
パスワード: このユーザーのSAPパスワード。このパスワードでは大文字と小文字が区別されます。
「フレックスフィールド」タブに、このデータ・サーバーのフレックスフィールド値を設定します。
SAP言語: ログイン時に使用される言語コード。たとえば、英語の場合はEN
、ドイツ語の場合はDEです。
SAPクライアント番号: SAPでクライアントと呼ばれる自己完結型の単位に割り当てられた3桁の番号。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。
SAPシステム番号: Web Application Server (WAS)とも呼ばれるSAPインスタンスに割り当てられた2桁の番号。
SAPシステムID: ランドスケープにおける3文字で一意のSAPシステムの識別子。
SAP SNC接続プロパティ: SNC接続プロパティ。このパラメータはオプションで、空のままにすることもできます。
SAPルーター文字列: ルーター文字列。このパラメータはオプションで、空のままにすることもできます。
SAP文字セット: SAPシステムの文字セット。この情報は、データのロード時にSQLLDRで使用されます。UNICODE SAPシステムの場合は、デフォルト値のUTF8
を使用します。文字セットの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2
です。
文字セットの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データ: 文字セットに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2
です。
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に設定します。詳細は、5.7.3項「ABAPのアップロードの制御」を参照してください。
SAP Allow ABAP Execute: ABAPコードをこのSAPシステムで実行できる場合、1に設定します。詳細は、5.7.3項「ABAPのアップロードの制御」を参照してください。
注意: SAP接続およびFTP接続定義を検証するためのテスト・ボタンはサポートされていません。 |
データ・サーバー名を除いて、SAPデータ・サーバーの定義の際に指定するすべてのパラメータはSAP管理者によって提供される必要があります。これらのパラメータの詳細は、「SAP接続情報の収集」を参照してください。
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に関する項を参照してください。
この項の内容は次のとおりです。
『Oracle Data Integrator開発者ガイド』のモデルの作成に関する項の説明に従って、標準の手順を使用してSAP ABAPテクノロジおよびSAP ABAP論理スキーマに基づくSAP ERPモデルを作成します。
RKM SAP ERPを使用して、カスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を使用します。この項では、SAP ERP固有のフィールドのみについて説明します。
SAP ERPモデルの「リバース・エンジニアリング」タブでRKM SAP ERPを選択します。
RKM SAP ERPでは、USE_GUI KMオプションをtrue
に設定します。
RKMを初めて使用する場合のみ: SAP_TRANSPORT_LAYER_NAMEをSAP Basisの管理者が提供したトランスポート・レイヤーの名前に設定します。
注意: 不正なまたは無効なトランスポート・レイヤー名を使用すると、インストール・プロセス時に重大な遅れが生じます。SAP Basisの管理者により提供された値のみを使用してください。 |
RKMを初めて使用する場合のみ: UPLOAD_ABAP_CODEおよびUPLOAD_ABAP_BASEをYes
に設定します。
これらの値は、初回実行後にNo
へ戻す必要があります。
注意:
|
モデルを保存します。
モデル・エディタ・ツールバーで、「リバースエンジニアリング」をクリックします。
UPLOAD_ABAP_CODEおよびUPLOAD_ABAP_BASEの設定をNo
に戻します。
RKMを初めて使用する場合のみ: オペレータで、現在のセッションの状態が「実行中」であることを確認します。
セッションに失敗した場合は、設定を確認してください。すべてのインストール手順が正常に完了するまでは次に進まないでください。
セッションが開始されると、ツリー・メタデータ・ブラウザが表示されます。リバースする表(複数も可)を選択します。
ツリー・メタデータ・ブラウザ・ウィンドウで、「リバースエンジニアリング」をクリックします。
リバース・エンジニアリング・プロセスでは、選択された表をデータストアとして返します。
注意: ランタイム・エージェント上でリバース・エンジニアリングを実行する場合は、USE_GUIオプションをfalseに設定する必要があります。このオプションは、Studioに組み込まれたエージェントを使用して、カスタマイズされたリバース・エンジニアリングを開始する場合にのみ使用されます。 |
Oracleステージング領域にSAP ERPデータをロードするマッピングを作成する手順は次のとおりです。
SAP ERPモデルからソース・データストアを使用してマッピングを作成します。このマッピングは、Oracleターゲットを持つか、またはステージング領域としてOracleスキーマを使用する必要があります。
マッピングに結合、フィルタおよびマップ属性を作成します。
マッピングの物理的ダイアグラムで、SAP ABAPソース表のアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
「ロード・ナレッジ・モジュール」タブでLKM SAP ERP to Oracle (SQLLDR)/LKM SAP ERP to SQLを選択します。
この項の内容は次のとおりです。
ODI SAPアダプタは、ABAPプログラムを使用してデータを抽出します。SAPシステムからODIエージェントにデータを転送するため、アダプタでは2つの転送モードと各種の構成がサポートされます。
抽出プロセスの間に、ABAPプログラムによって共有フォルダのデータ・ファイルにデータのチャンクが書き込まれます。パフォーマンスを向上させるには、この共有フォルダをODIエージェント・マシンに置く必要があります。この設定では、SQL*Loaderによってこのフォルダから直接データが読み取られ、それがデータベースにロードされます。
フォルダがODIエージェント・マシン上にない場合、ODIエージェントではまず、共有フォルダからエージェントにファイルをコピーする必要があります。そして、次の手順でそのデータをSQL*LoaderまたはJDBC接続を使用してロードします。
構成1: 共有フォルダがODIエージェント・マシンに物理的に配置される場合(推奨)
FTP_TRANSFER_METHOD = FSMOUNT_DIRECT
の場合にこの構成を使用します。この構成では、次のデータの移動が行われます。
ABAPプログラムによって、FETCH_ BATCH SIZEレコードのチャンクが抽出され、そのレコードが共有フォルダ内のファイルに書き込まれます。
LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、そのデータ・ファイルをローカルに読み込み、そのデータをOracleステージング領域にロードします。
LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをローカルに読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。
この構成では、次のトポロジの設定が必要です。
ファイル・サーバー/ODIエージェント・マシンを指すファイル・データ・サーバーを作成します。
ホスト(データ・サーバー): 該当なし
ユーザー: 該当なし
パスワード: 該当なし
このファイル・データ・サーバーの下に、ファイル・ホスト・サーバー内の共有フォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。
データ・スキーマ: 抽出ファイルを書き込む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
の場合にこの構成を使用します。この構成では、次のデータの移動が行われます。
ABAPプログラムによって、FETCH_ BATCH SIZEレコードのチャンクが抽出され、そのレコードが共有フォルダ内のファイルに書き込まれます。
ランタイム・エージェントによって、KMのTEMP_DIRオプションで指定されたディレクトリにファイルがコピーされます。
LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、このTEMP_DIRからデータ・ファイルが読み込まれ、そのデータがOracleステージング領域にロードされます。
LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをこのTEMP_DIRから読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。
この構成では、次のトポロジの設定が必要です。
抽出ファイルがSAPからプッシュされ、SQL*Loader用に取得されるファイル・サーバーを指すファイル・データ・サーバーを作成します。
このデータ・サーバーのパラメータを次のように設定します。
ホスト(データ・サーバー): 該当なし
ユーザー: 該当なし
パスワード: 該当なし
このファイル・データ・サーバーで、共有フォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。
ディレクトリ(スキーマ): 抽出ファイルを書き込むABAPプログラムとそのファイルをコピーするエージェントによって使用される共有フォルダのパス(UNC)。
ディレクトリ(作業スキーマ): <未定義>。データ・ファイルがファイル・サーバーのファイル・システムから直接アクセスされることはないため、このパスは空白のままにします。
データ・ファイルは、ローカルの一時フォルダにある共有フォルダからランタイム・エージェントにコピーされます。デフォルトの一時ディレクトリは、システムの一時ディレクトリです。UNIXでは通常/tmp
となり、Windowsではc:\Documents and Settings\<user>\Local Settings\Temp
となります。KMオプションのTEMP_DIRを使用してこのディレクトリを変更できます。
抽出プロセスの最後に、ABAPプログラムによってFTPサーバーにデータ・ファイルがアップロードされます。パフォーマンスを向上させるには、このFTPサーバーをランタイム・エージェントと同じマシン上に置く必要があります。
エージェントがFTPサーバーと同じマシン上にない場合は、FTPサーバーからファイルをダウンロードした後に、SQL*LoaderまたはJDBC接続を使用してそのファイルをステージング領域にロードします。このダウンロード処理は、FTP、SFTPまたはSCPを使用して実行されます。
図5-3に示される構成は、FTP_TRANSFER_METHOD = NONE
の際に使用されます。この構成では、次のデータの移動が行われます。
ABAPプログラムでは、データを抽出し、そのデータ・ファイルをFTPサーバーにアップロードします。
LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、そのデータ・ファイルをローカルに読み込み、そのデータをOracleステージング領域にロードします。
LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをローカルに読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。
この構成では、次のトポロジの設定が必要です。
FTPサーバーを指すファイル・データ・サーバーを作成します。
ホスト(データ・サーバー): FTPサーバーのホスト名またはIPアドレス
ユーザー: FTPサーバーにログインするためのユーザー名
パスワード: ユーザーのパスワード
このファイル・データ・サーバーに、抽出ファイルがプッシュされるFTPホスト内のフォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。
ディレクトリ(スキーマ): SAP抽出ファイルをアップロードするためのFTPサーバー上のパス。
ディレクトリ(作業スキーマ): SAP抽出ファイルを含むFTPサーバー・マシン上のローカル・パス。エージェントおよびSQL*LoaderまたはODIフラット・ファイル・ドライバによって、この場所から抽出ファイルを読み込みます。
図5-4に示される構成は、FTP_TRANSFER_METHOD
がFTP
、SFTP
またはSCP
の際に使用されます。この構成では、次のデータの移動が行われます。
ABAPプログラムでは、データを抽出し、そのデータ・ファイルをFTPサーバーにアップロードします。
ODIエージェントによって、FTPサーバーからKMオプションのTEMP_DIRで指定するディレクトリにそのファイルがダウンロードされます。
LKM SAP ERP to Oracle (SQLLDR)の場合: SQL*Loaderによって、このTEMP_DIRからデータ・ファイルが読み込まれ、そのデータがOracleステージング領域にロードされます。
LKM SAP ERP to SQLの場合: ODIファイル・ドライバによって、そのデータ・ファイルをこのTEMP_DIRから読み込み、JDBCを使用してそのデータをOracle以外のステージング領域に挿入します。
この構成では、次のトポロジの設定が必要です。
FTPサーバーを指すファイル・データ・サーバーを作成します。
ホスト(データ・サーバー): FTPサーバーのホスト名またはIPアドレス
ユーザー: FTPサーバーにログインするためのユーザー名
パスワード: ユーザーのパスワード
このファイル・データ・サーバーに、抽出ファイルがプッシュされるFTPホスト内のフォルダを表す物理スキーマを作成します。データおよび作業スキーマを次のように指定します。
ディレクトリ(スキーマ): SAP抽出ファイルをアップロードするためのFTPサーバー上のパス。
ディレクトリ(作業スキーマ): <未定義>。データ・ファイルがFTPサーバーのファイル・システムから直接アクセスされることはないため、このパスは空白のままにします。
考慮点および制限:
FTPベースのデータ転送では、広範囲にわたる(S)FTPファイル転送を使用し、転送前にすべてのデータをSAPのアプリケーション・サーバー・メモリー内に保持する必要があります。したがって、SAPセッションごとに必要なメモリー量は、抽出されるデータ量に応じて増加するため、データ量の上限を設定することになります。この上限は、SAP内でのセッション・メモリーの設定を増やすことてある程度調節できます。
共有フォルダ・ベースの構成に必要な設定は多少複雑になりますが、すべてのデータをSAP ASのメモリーに格納する必要がなくなるため、推奨される抽出方法です。
バックグラウンド処理
デフォルトでは、生成済ABAPコードはABAPレポートとしてデプロイされます。このレポートは、実行時にバックグラウンド処理のためにSAPスケジューラに発行されます。ジョブ・ステータスは、その後ODIによってモニターされます。
KMオプションのJOB_CLASS
では、バックグラウンド・ジョブの優先度を定義します。有効な値(SAP JOB_CLASS
設定に対応)は次のとおりです。
JOB_CLASS
= A
は最高の優先度です
JOB_CLASS
= B
は標準の優先度です
JOB_CLASS
= C
は最低の優先度です
ダイアログ・モード処理
後方互換性のため、KMオプションのBACKGROUND_PROCESSING
をfalse
に設定できます。生成済ABAPコードはその後、RFCとしてデプロイされます。このRFCは、実行時にデータを抽出するためにODIからコールされます。
ダイアログ・モード処理は非推奨になっており、現在後方互換性のためにのみサポートされています。将来のリリースでは、ダイアログ処理は完全に削除される可能性があります。
開発の際には、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_CODE
をNo
に設定することによってアップロードを明示的に無効にできますが、通常、ODIトポロジ内のSAPデータ・サーバー上で定義されたSAP Allow ABAP Uploadフレックスフィールドを使用して無効にされます。つまり、ABAPコードのアップロードは、LKMオプションのUPLOAD_ABAP_CODE
およびSAP Allow ABAP Upload
フレックスフィールドの両方をYes
に設定した場合にかぎり実行されます。本番システムへのアップロードを無効にするには、トポロジ内の「SAP Allow ABAP Upload」フレックスフィールドを0
に設定するのみで十分です。
ヒント: 開発環境ではABAPコードをアップロードし、QAまたは本番環境ではそのアップロードをスキップするマッピングを構成する手順は次のとおりです。
|
注意: 抽出プロセスを開始する前に、ODIは、マッピングおよびシナリオがSAPにインストールされているコードと一致することを確認します。シナリオが変更されたがABAPコードは再アップロードされていないなどの不一致がある場合は、例外がスローされます。 |
場合によっては、マッピングのABAP抽出コードのインストールを行い、データを抽出しないことが望ましい場合があります(自動インストールの場合など)。この場合、すべてのマッピングは、KMオプションのEXECUTE_ABAP_CODE
を各マッピングでFalse
に設定してパッケージ内でリンクできます。このパッケージを実行すると、ずべてのABAPコードがインストールされますが、どれも実行されません。
すべてのマッピングの変更を回避(前述のようにEXECUTE_ABAP_CODE
をFalse
に設定)するために、かわりにODI DataServerのSAP Allow ABAP Executeフレックスフィールドを使用して、すべてのSAP ABAPの実行を無効にできます。このフレックスフィールドが無効の場合、KMオプションのEXECUTE_ABAP_CODE
がTrue
に設定されていても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
に戻されます。
開発の際には、マッピングを実行するたびに、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抽出プログラムの名前は、デフォルトでは |
トランスポート・リクエストの説明
ODIでトランスポート・リクエストが作成されると、トランスポート・リクエストの説明が、KMオプションのSAP_TRANSPORT_REQUEST_DESC
で提供されたテキストに設定され、KMオプションのFUNCTION_GROUP
で定義された機能グループに適用されます。
デフォルトでは、ODIステップ名(通常はマッピング名)が使用されます。
ODI:<%=odiRef.getPackage("PACKAGE_NAME")%>
のようなコード生成式は、いくつかのマッピングを1つの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のトランスポート・リクエストの管理」を参照してください。
RKMおよびLKMの実行中、多くのメッセージがODIのロギング機能のログに記録されます。ODIログ・ファイルおよびその他のログ・ファイルにあるこれらのメッセージには、有用なトラブルシューティングの詳細が含まれていることがあります。ODIのロギング機能の詳細は、『Oracle Data Integrator開発者ガイド』のODIコンポーネントの実行時ロギングに関する項を参照してください。表5-2には、各種ログ・ファイルとその使用方法が示されています。
表5-2 ログ・ファイル
デフォルトのログ・ファイル名 | KM /フェーズ | コンテンツ |
---|---|---|
<ODI Logs> |
RKM |
メタデータ取得の実行ログ |
<ODI Logs> |
RKM |
RKM用SAP RFCの初回インストールに関する情報 |
|
LKM - 生成時 |
ABAPエクストラクタのコード生成に関する情報 |
<ODI Logs> |
LKM - 実行時 |
ABAPエクストラクタのインストールに関する情報 |
|
LKM - 実行時 |
SQL*Loaderログ・ファイル |
|
LKM - 実行時 |
SQL*Loader実行時のOS標準出力には、SQL*Loaderがインストールされていない場合などの情報を含めることができます。 |
|
LKM - 実行時 |
SQL*Loader実行時のOSエラー出力には、SQL*Loaderがインストールされていない場合などの情報を含めることができます。 |
SAP ABAPアダプタには次の制限があります。
ODIトポロジ・マネージャ内のSAP接続定義を検証する「テスト」ボタンはサポートされていません。
SAP表タイプ(透過、プールおよびクラスタ)は、表がリバース・エンジニアリングされた後は変更できません。
SAP ABAP KMでは、順序付けられた結合のみをサポートします。
完全外部結合および右外部結合はサポートされません。
1対多のリレーションシップでは、結合の最初の表を1表にする必要があります。たとえば、MARAとMARCを結合する場合は、MARAを結合内の最初の表にする必要があります。
ソース上で実行されるマッピング式は、いかなる変換も含まないようにしてください。