2 環境を設定する

この章では、SAP ERP環境をOracle Data Integratorと使用するように設定する方法について説明します。

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

始める前に

始める前に、次のことに注意してください。

システム要件と動作要件

インストールを実行する前に、システム要件および動作保証のドキュメントを読み、インストールする製品の最小インストール要件を環境が満たしていることを確認します。

Oracle Data Integratorの要件は、『Oracle Data Integratorのインストールと構成』にリストされています。

Oracle Data Integrator SAP ABAPアダプタに固有の要件は次のとおりです。

  • Oracle Data Integrator 11.1.1.7.0以上

    注意:

    このドキュメントの大部分は、Oracle Data Integrator 10gを必要とするOracle BIアプリケーションでのSAP接続にも適用されます(詳細は、Oracle Business Intelligence Applications for SAPのシステム要件およびサポートされるプラットフォームを参照)。

  • アダプタとの互換性があるJava Connector (JCo)バージョンを使用する必要があります。サポートされるJCoバージョンのリストは、Oracle Technology Network (OTN)から入手できる保証マトリックスに記載されています。最低バージョンとしてJCo 3.0.2が必要です。

  • Oracle Data IntegratorおよびJCoの両方と互換性があるJVMバージョンを使用する必要があります。JCoの前提条件として、JVM 1.5以上のバージョンが必要です。

  • このコネクタは、SAPシステムからODIエージェントにデータを転送するための転送モードとして、共有ディレクトリを使用したデータ転送とFTPを経由するデータ転送の2つをサポートしています。詳細および制約については、『Oracle Data Integratorアプリケーション・アダプタ・ガイド』ファイル転送の構成に関する項を参照してください。ファイル転送モードの選択に応じて、次の要件を満たす必要があります。

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

      注意:

      セキュリティ上の理由から、SAPフォルダをODIエージェントと共有することはできません。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ステージング領域に抽出されたデータのロードに使用されます。

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

ODI SAPアダプタは、いくつかのODI SAP RFCを使用してSAPシステムと通信します。これらのRFCは、SAP送信リクエストを使用してSAP Basisチームがインストールします。ODI SAPコンポーネントのインストールおよび必要なSAPユーザー認証の割当てについては、『Oracle Data Integratorアプリケーション・アダプタ・ガイド』「ODI SAPコンポーネントのインストール」の指示に従って、SAP管理者に連絡してください。

FTPサーバー・アクセスの要求

この項は、FTPを使用したデータ転送を計画する場合にのみ適用されます。データ転送に共有ディレクトリを使用する場合、またはSAPシステムが次より古い場合は、この項をスキップできます。

  • SAP ECC6 EHP6以上

  • SAP BW/BI 7.4以上

次のステップは、このガイド内の後続のステップを実行する前に実行する必要があります。通常、これらのステップはSAP Basisチームによって実行されます。これらの設定手順を実行しないと、ODI SAP抽出ジョブの実行時にFTPが失敗します。

FTPサーバー・アクセスをリクエストするには:

  1. SAPサーバーにログインします。
  2. トランザクションSE16を実行します。
  3. 「表名」フィールドに「SAPFTP_SERVERS」と入力し、エントリの作成アイコンアイコンをクリックしてエントリを作成します。
  4. 「FTP_SERVER_NAME」フィールドにFTPサーバーのIPアドレスを入力します。
  5. 「FTP_Server_Port」フィールドにFTPサーバーのポートを入力します。
  6. 保存アイコンアイコンをクリックして保存します。

SAP接続情報の収集

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

  • SAP ERPシステムのIPアドレスまたはホスト名: SAPが実行されているホストに指定された技術的な名前。

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

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

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

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

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

  • SAPシステムID: 1つのランドスケープ内でのSAPシステムの一意の識別子(3文字)。

  • SAPトランスポート・レイヤー名: SAPランドスケープ内のトランスポート・レイヤーを一意に識別する文字列。これにより、ODIは、SAPでの後のデプロイメントでトランスポート・リクエストを作成できます。ここにデフォルト値がある場合でも、このトランスポート・レイヤー名は、SAP Basisチームからの提供を受ける必要があります。これを行わない場合、インストールの際、大幅な遅れにつながる可能性があります。

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

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

注意:

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

共有フォルダの設定の検証

共有フォルダの設定の検証は、共有ディレクトリを使用したデータ転送を計画する場合にのみ適用されます。FTP転送を使用する場合は、この項をスキップしてください。共有フォルダの設定の検証は、このガイド内の後続のステップを実行する前に実行する必要があります。通常、この検証はSAP Basisチームによって実行されます。

ステップ1: SAPアプリケーション・サーバーからのフォルダ・アクセスの検証

  1. SAPGUIを起動します。

  2. ODI SAPユーザーとパスワードを使用して、SAPシステムとクライアントに接続します。

  3. トランザクションAL11に進みます。

  4. 共有フォルダを選択します。

  5. 共有フォルダをダブルクリックして、ディレクトリ宣言をテストします。

    接続が正常である旨レポートされる必要があります。そうでない場合は、SAP basisチームに連絡してください。このテストに成功するまでは続行しないでください。

    注意:

    SAPでは、OSユーザー<sid>admを使用して、AL11で宣言されたディレクトリに接続します。

  6. 画面をプリントします。

ステップ2: ODIエージェント・マシンからのフォルダ・アクセスの検証

  1. ODIエージェントの実行に使用したWindowsユーザーIDを使用して、ODIエージェント・マシンにログインします。
  2. 共有ディレクトリ・パスをWindows Explorerで開きます。

    これにより、共有フォルダのコンテンツが一覧表示されます。資格証明の入力が必要ないことを確認してください。これが機能しなかった場合、または資格証明の入力が必要だった場合は、Windows管理者または共有フォルダが物理的に置かれているシステムのシステム管理者に連絡してください。このテストに成功するまでは続行しないでください。

  3. 画面をプリントします。

FTPの設定の検証

FTP設定の検証は、FTPを使用したデータ転送を計画する場合にのみ適用されます。データ転送に共有ディレクトリを使用する場合は、この項をスキップしてください。FTP設定の検証は、このガイド内の後続のステップを実行する前に実行する必要があります。通常、この検証はSAP Basisチームによって実行されます。

ステップ1: SAPFTPA接続先の検証

  1. SAPGUIを起動します。

  2. ODI SAPユーザーとパスワードを使用して、SAPシステムとクライアントに接続します。

  3. トランザクションSM59に進みます。

  4. TCP/IP接続を開きます。

  5. SAPFTPA接続先を開きます。

  6. 「テスト」接続をクリックします。

    接続が正常である旨レポートされる必要があります。そうでない場合は、SAP basisチームに連絡してください。このテストに成功するまでは続行しないでください。

  7. 画面をプリントします。

ステップ2: FTP接続のテスト

  1. トランザクションSE38に進みます。
  2. 関数モジュールRSFTP002を表示します。
  3. [F8]を押して、ABAPプログラムを実行します。
  4. FTPユーザーIDとパスワードを入力します。
  5. FTPサーバー・ホスト名またはIPアドレスを入力します。
  6. cd /またはcd <ODI target directory>を入力します。
  7. RFC_DESTINATIONフィールドに、SAPFTPAを入力します。
  8. [F8]を押して、テストを実行します。

    接続が正常である旨レポートされる必要があります。次のようなメッセージが表示されます。

    250 CWD successful.

    このテストが成功しなかった場合は、SAP basisチームに連絡してください。このテストに成功するまでは続行しないでください。

  9. 画面をプリントします。

SAP権限の検証

この項では、主要なSAP権限の一部をテストする方法について説明します。必ずこれらのテストの検証に成功してから、このガイド内の後続のステップに進んでください。通常、この検証はSAP Basisチームによって実行されます。

次のステップを実行して、SAPユーザーに適切な開発者権限および開発者ライセンス・キーがあることを検証します。

  1. SAPGUIを起動します。
  2. ODI SAPユーザーとパスワードを使用して、SAPシステムとクライアントに接続します。
  3. トランザクションSE38に進みます。
  4. プログラム名のフィールドに、ZSAP_TESTなどの任意のサンプル・プログラム名を入力します。
  5. 「作成」をクリックします。
  6. トランザクションSE37およびSE11に対しても同様のテストを実行します。

トランザクションで、キーを要求されたりその他の認証メッセージが表示されたりすることなくプログラムの作成が許可された場合、SAPユーザーに適切な開発者権限およびライセンス・キーがあることが検証されます。それ以外の場合、SAP BasisチームがこのSAPユーザーをservice.sap.comに登録してライセンス・キーを取得するとともに、開発者権限の取得についても支援します。

SAPトランスポート・レイヤー名の検証

SAPコネクタでは、関数モジュールなどのSAPオブジェクトがSAP開発システムに作成されるため、開発が終了したら、これらの変更をQAおよび本番システムにトランスポートする必要があります。SAPの変更およびトランスポート・システムでは、SAPトランスポート・レイヤー名を使用して、変更のルートを特定します。トランスポート・レイヤーは、各開発クラスおよびそのクラス内のすべてのオブジェクトに割り当てられます。トランスポート・レイヤーによって次の点が決定されます。

  • どのSAPシステムで開発またはリポジトリ・オブジェクトへの変更が行われるか

  • 開発作業の完了時に、グループ内の他のシステムにオブジェクトがトランスポートされるかどうか

統合ルートは、開発システムから品質保証システムまで、トランスポート・レイヤーZ<SID>を介して作成されます。これは次に、顧客開発およびカスタマイズ用の標準トランスポート・レイヤーになります。

SAP標準オブジェクトのトランスポートの場合、統合ルートは、開発システムから品質保証システムまで、トランスポート・レイヤーSAPを介して作成されます。

RKM SAP ERPを初回実行する前に、正しいトランスポート・レイヤー名を指定することが重要です。次のステップを実行して、SAPランドスケープ内で定義されているトランスポート・レイヤーのリストを特定します。

  1. トランスポート・ドメイン・コントローラとして機能しているSAPシステム内のクライアント000に、トランザクションSTMSを経由してログインします。
  2. 「Overview」「Transport Routes」を選択します。「Display Transport Routes」ダイアログが表示されます。
  3. 「Goto」「Graphical Editor」を選択します。
  4. モードを切り替えるには、「Configuration」 > 「Display」 <-> 「Change」を選択します。
  5. SAPシステムの上にカーソルを置きます。
  6. 「Edit」「System」「Change」を選択します。「Change System Attriburtes」ダイアログが表示されます。
  7. 「StandardTransport Layer」タブを選択します。
  8. SAPシステムのトランスポート・レイヤーを変更します。
  9. 異なるトランスポート・レイヤーのリストが結果として表示されます。

デフォルトで、RKMオプションSAP_TRANSPORT_LAYER_NAMEはSAPに設定されます。どのトランスポート・レイヤーを使用するかは、SAP Basis管理者に問い合せてください。このトランスポート・レイヤー名は、SAP_TRANSPORT_LAYER_NAME RKMオプションで設定する必要があります。不正なまたは無効なトランスポート・レイヤー名を使用すると、インストール・プロセス時に重大な遅れが生じます。

Oracle Data Integratorのインストール

このプロジェクトを開始する前に、Oracle Data Integratorをインストールおよび構成する必要があります。詳細は、Data Integratorスタート・ガイドおよびOracle Data Integratorのインストールと構成を参照してください。

Oracle DBターゲットのインストールと構成

このプロジェクトでは、マッピングのターゲットおよびステージング領域としてOracleデータベース・エンジンを使用します。たとえば、Oracle Database 11g Express Editionは、Oracle Technology Network (OTN)からダウンロードできます。このデータベースをインストールして構成します。

このプロジェクトのターゲットとなるOracle表は、次のスクリプトを使用して作成できます。

-- Create demo target schema
CREATE USER ODI_SAP_DEMO IDENTIFIED BY ODI_SAP_DEMO DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
GRANT CONNECT, RESOURCE TO ODI_SAP_DEMO;

-- Create demo target table
CREATE TABLE ODI_SAP_DEMO.W_GEO_DS (
      LANGUAGE_KEY CHAR(20), 
      COUNTRY VARCHAR(50),
      COUNTY VARCHAR(50),
      STATE_PROV VARCHAR(50),
      NATIONALITY VARCHAR(50));

ALTER TABLE ODI_SAP_DEMO.W_GEO_DS ADD CONSTRAINT PK_W_GEO_DS PRIMARY KEY (LANGUAGE_KEY);

CREATE TABLE ODI_SAP_DEMO.MARA_REPLICATED
(
MANDT VARCHAR2(3 CHAR),
MATNR VARCHAR2(18 CHAR),
DELETED VARCHAR2(1 CHAR),
MEINS VARCHAR2(3 CHAR),
CDHDR_OBJECTID VARCHAR2(90 CHAR),
UDATE DATE,
TCODE VARCHAR2(20 CHAR)
);

JCoのインストールと構成

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

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

  1. http://service.sap.com/connectorsから構成でサポートされるJCoバージョンをダウンロードします。サポートされるJCoバージョンは、Oracle Technology Networkから入手できる保証マトリックスで確認します。最低バージョンとして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. <sapjco-install-path>/javadoc/installation.htmlに記載されている、プラットフォームごとの手順に従ってインストールを行います。

  4. sapjco3.jarsapjco3.dllをコピーします。

    ODI 10gの場合: sapjco3.jarsapjco3.dll (またはそれぞれのバイナリ、たとえばlibsapjco3.so)をoracledi/driversディレクトリにコピーします。

    ODI 11gの場合: sapjco3.jarsapjco3.dll (またはそれぞれのバイナリ、たとえばlibsapjco3.so)を<ODI_HOME>/odi_miscディレクトリ(ODI Studio)、<ODI_HOME>/oracledi/agent/driversディレクトリ(スタンドアロン・エージェント)および<WLS_DOMAIN>/libディレクトリ(JEEエージェント)にコピーします。

    ODI 12cの場合: sapjco3.jarsapjco3.dll (またはそれぞれのバイナリ、たとえばlibsapjco3.so)を<ODI_HOME>/odi/sdk/libディレクトリ(ODI Studio、ODIスタンドアロン・エージェント)および<WLS_DOMAIN>/libディレクトリ(JEEエージェント)にコピーします。

  5. ODI Studioとエージェント(ある場合)を再起動します。

  6. JCoインストールをチェックします。これは、このガイドで後述する部分でもチェックします。

Oracle Data Integratorの構成

次のステップを実行してOracle Data Integratorを構成します。

オープン・ツールの追加

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

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

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

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

    oracle.odi.sap.km._OdiSapAbapExecuteStoppable

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

  5. 「オープン・ツールの追加」ウィンドウが次のように表示されます。

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