Oracle® Fusion Middleware Oracle Data IntegratorのためのSAP ABAP BWアダプタ・スタート・ガイド 12c (12.2.1.2.0) E82748-01 |
|
前 |
次 |
この章では、SAP BW環境をOracle Data Integratorとともに使用するようにセットアップする方法を説明します。
この章には次の項が含まれます:
始める前に、次のことに注意してください。
インストールを実行する前に、システム要件と動作保証のドキュメントをよく読み、これからインストールを行う製品の最小インストール要件を現在の環境が満たしていることを確認する必要があります。
Oracle Data Integratorの要件は、『Oracle Data Integratorのインストールと構成』に記載されています。
Oracle Data Integrator SAP ABAP - BWアダプタ固有の要件は次のとおりです。
Oracle Data Integrator 11.1.1.7.0以上。
アダプタに対応するバージョンのJava Connector (JCo)を使用する必要があります。サポートされるJCoのバージョンの一覧は、Oracle Technology Network (OTN)にある互換性の表を参照してください。バージョンがJCo 3.0.2以上であることが必要です。
Oracle Data IntegratorおよびJCoの両方と互換性があるJVMバージョンを使用する必要があります。JCoの前提条件として、JVM 1.5以上のバージョンが必要です。
コネクタが、SAPシステムからODIエージェントへのデータ転送に対して2つの転送モードをサポートしていること。1つは共有ディレクトリを使用する転送、もう1つはFTP経由のデータ転送です。詳細と制約については、『Oracle Data Integratorアプリケーション・アダプタ・ガイド』のファイル転送の考慮事項に関する項を参照してください。ファイル転送モードの選択に応じて、次の要件を満たす必要があります。
共有ディレクトリ経由のデータ転送(推奨される転送方法): LKM SAP BW to Oracle (SQLLDR)を使用するには、SAPシステムとODIエージェントとの間で共有されるフォルダが必要です。SAPアプリケーション・サーバーでは、SAPシステムとODIエージェント・マシンからアクセス可能なフォルダにデータを書き込むことでデータを転送します。これは通常、ODIエージェント・マシンのフォルダをSAPシステムと共有することで行われます。共有フォルダは、必ずしもODIエージェント・マシン上に置く必要はないことに注意してください。共有フォルダがODIエージェント・マシンとSAPシステムの両方からアクセス可能であるかぎりは、サード・マシン上に共有フォルダを置くこともできます。
注意: セキュリティ上の理由から、SAPのフォルダをODIエージェントと共有することは避けてください。SAPシステムと共有するのは、ODIエージェント・マシンのフォルダのみにしてください。 |
共有フォルダは、SAPシステムにアクセスできる必要があります。基盤となるオペレーティング・システムのみへのアクセスでは不十分です。つまり、フォルダはSAPトランザクションAL11内で宣言される必要があり、その結果、フォルダはAL11内で正常に開かれます。
FTP経由のデータ転送: LKM SAP BW to Oracle (SQLLDR)を使用するには、データをSAP BWシステムからアップロードするためのFTPサーバーが必要です。このデータの読取りは、マッピングを実行するエージェントによって(このエージェントがFTPサーバー・マシン上で実行されている場合)ローカルで実行されるか、またはリモートで(このエージェントがFTPサーバーとは異なるマシン上にある場合)実行されます。このFTPサーバーは、SAP BWマシンとエージェント・マシンの両方からネットワーク経由でアクセスできる必要があります。
LKM SAP BW to Oracle (SQLLDR)のみ: エージェントを実行するマシン上にSQLLoaderが必要です。SQLLoaderは、SAP BWシステムから抽出されたデータをOracleステージング領域にロードするために使用されます。
SAPアダプタを使用するには、設定および実行の操作を行うための権限が必要です。付録A「SAP ABAP BWで必要な権限」に記載されている権限の一覧を管理者に渡してください。
これらの権限は、SAP BWシステムに接続するためにODI SAP BWアダプタが使用するSAP BWユーザーに付与されている必要があります。
このSAPユーザーには開発者キーが必須であることに注意してください。
SAP BWシステムに接続するには、SAP管理者に次の情報を要求する必要があります。
SAP BWシステムのIPアドレスまたはホスト名: IPアドレス/ホスト名は、SAPが実行されているホストに付与される技術的な名前です。
SAPユーザー: SAPユーザーとは、SAP BWシステムにログオンするためにユーザーに付与される、一意のユーザー名です。
SAPパスワード: ユーザーがログインするために使用されるパスワード(大文字と小文字が区別されます)。
SAP言語: ログイン時に使用される言語のコード。たとえば、英語はEN、ドイツ語はDEです。
SAPクライアント番号: SAPでクライアントと呼ばれる、自己完結型の単位に割り当てられた3桁の番号。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。
SAPシステム番号: SAPインスタンスに割り当てられた2桁の番号。SAPインスタンスは、Web Application Server (WAS)とも呼ばれます。
SAPシステムID: 1つのランドスケープ内でのSAPシステムの一意の識別子(3文字)。
SAPトランスポート・レイヤー名: この文字列は、1つのSAPランドスケープ内でトランスポート・レイヤーを一意に識別します。これにより、ODIは、SAPでの後のデプロイメントでトランスポート・リクエストを作成できます。ここにデフォルト値がある場合でも、このトランスポート・レイヤー名は、SAP Basisチームからの提供を受ける必要があります。これを行わない場合、インストールの際、大幅な遅れにつながる可能性があります。
SAP BWバージョン: BW 3.5またはBI 7.0。
SAP文字セット: この文字セットが必要になるのは、SAPシステムがUNICODEシステムではない場合のみです。すべての文字セットのリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。たとえば、クロアチア語のデータの場合はEE8ISO8859P2
です。UNICODEシステムの場合はUTF8
を使用します。
注意: 前述の接続データ(SAP SNC接続プロパティおよびSAPルーター文字列を除く)はすべて必須であり、SAP管理者から要求されます。接続設定時には、SAP管理者にサポートを依頼することを検討することもできます。 |
この項が当てはまるのは、FTPを使用してデータを転送する予定がある場合のみです。データ転送に共有ディレクトリを使用する場合、または使用するSAPシステムが次より古い場合は、この項をスキップしてもかまいません。
SAP ECC6 EHP6以上
SAP BW/BI 7.4以上
このガイドの以降のステップを実行する前に、次のステップを実行する必要があります。これらのステップは一般的に、SAP Basisチームによって実行されます。これらの設定手順の実行に失敗すると、ODI SAP抽出ジョブの実行時にFTPエラーとなります。
FTPサーバー・アクセスを要求する手順は次のとおりです。
SAPサーバーにログインします。
トランザクションSE16を実行します。
「表名」フィールドにSAPFTP_SERVERS
と入力し、エントリを作成するためのアイコンをクリックします。
FTP_SERVER_NAMEフィールドにFTPサーバーのIPアドレスを入力します。
FTP_Server_PortフィールドにFTPサーバーのポートを入力します。
アイコンをクリックして保存します。
共有フォルダ・セットアップの検証は、共有ディレクトリを使用してデータを転送する予定がある場合にのみ実行します。FTP転送を使用する場合は、この項をスキップしてもかまいません。このガイドの以降のステップを実行する前に、共有フォルダ・セットアップの検証を実行する必要があります。この検証は一般的に、SAP Basisチームによって実行されます。
ステップ1: SAPアプリケーション・サーバーからのフォルダ・アクセスの検証
SAPGUIを起動します。
ODI SAPユーザーとパスワードを使用してSAPシステムとクライアントに接続します。
トランザクションAL11に進みます。
共有フォルダを選択します。
共有フォルダをダブルクリックしてディレクトリ宣言をテストします。
この結果は、接続成功となるはずです。そうでない場合は、SAP Basisチームに連絡してください。このテストに合格するまでは、先に進まないでください。
注意: SAPでは、AL11で宣言されたディレクトリに接続するためにOSユーザー<sid>admが使用されます。 |
画面のスクリーンショットを撮ります。
ステップ2: ODIエージェント・マシンからのフォルダ・アクセスの検証
ODIエージェントの実行に使用されるWindowsユーザーIDを使用してODIエージェント・マシンにログインします。
共有ディレクトリのパスをWindowsエクスプローラで開きます。
共有フォルダの内容が一覧表示されます。資格証明の入力が不要であることを確認してください。このとおりにならない場合や、資格証明の入力が必要であった場合は、共有フォルダが物理的に存在するシステムのWindows管理者またはシステム管理者に連絡してください。このテストに合格するまでは、先に進まないでください。
画面のスクリーンショットを撮ります。
FTPセットアップの検証が当てはまるのは、FTPを使用してデータを転送する予定がある場合のみです。データ転送に共有ディレクトリを使用する場合は、この項をスキップしてもかまいません。このガイドの以降のステップを実行する前に、FTPセットアップの検証を実行する必要があります。この検証は一般的に、SAP Basisチームによって実行されます。
ステップ1: SAPFTPA宛先の検証
SAPGUIを起動します。
ODI SAPユーザーとパスワードを使用してSAPシステムとクライアントに接続します。
トランザクションSM59に進みます。
「TCP/IP connections」を開きます。
「SAPFTPA」宛先を開きます。
「Test connection」をクリックします。
この結果は、接続成功となるはずです。そうでない場合は、SAP Basisチームに連絡してください。このテストに合格するまでは、先に進まないでください。
画面のスクリーンショットを撮ります。
ステップ2: FTP接続のテスト
トランザクションSE38に進みます。
機能モジュールRSFTP002を表示します。
[F8]を押してABAPプログラムを実行します。
FTPユーザーIDとパスワードを入力します。
FTPサーバーのホスト名またはIPアドレスを入力します。
cd
/またはcd <ODI target directory>
を入力します。
「RFC_DESTINATION」フィールドに「SAPFTPA」
と入力します。
[F8]を押してテストを実行します。
この結果は、接続成功となるはずです。次に示すようなメッセージが表示されます。
250 CWD successful.
このテストに成功しない場合は、SAP Basisチームに連絡してください。このテストに合格するまでは、先に進まないでください。
画面のスクリーンショットを撮ります。
この項では、SAPの主な権限をテストする方法を説明します。このガイドのこれ以降のステップに進むには、このテストの検証結果が合格であることが必要です。この検証は一般的に、SAP Basisチームによって実行されます。
次の手順を実行して、SAPユーザーに適切な開発者権限が付与されていることと、開発者ライセンス・キーを保持していることを検証します。
SAPGUIを起動します。
ODI SAPユーザーとパスワードを使用してSAPシステムとクライアントに接続します。
トランザクションSE38に進みます。
任意のサンプル・プログラム名(例: ZSAP_TEST)をプログラム名フィールドに入力します。
「Create」をクリックします。
同様のテストを、トランザクションSE37およびSE11に対して実行します。
トランザクションでプログラムを作成するときに、キーが要求されず、その他の認可メッセージも表示されなかった場合は、そのSAPユーザーには適切な開発者権限とライセンス・キーがあることが検証済です。そうでない場合、SAP Basisチームは、ライセンス・キーを取得するためにそのSAPユーザーをservice.sap.comで登録する必要があります(Basisチームのメンバーは、そのユーザーの開発者権限取得を支援できます)。
SAPコネクタによってSAPオブジェクト(たとえば機能モジュール)がSAP開発システム内で作成されるので、このような変更を開発完了後に、QAおよび本番のシステムにトランスポートする必要があります。SAPの変更およびトランスポート・システムでは、SAPトランスポート・レイヤー名を使用して変更の伝達経路が指定されます。トランスポート・レイヤーは各開発クラスに割り当てられるので、そのクラスのすべてのオブジェクトに割り当てられることになります。トランスポート・レイヤーによって次が決定されます:
どのSAPシステムで、リポジトリ・オブジェクトに対する開発または変更が行われたか
開発作業完了時に、オブジェクトがグループ内の他のシステムにトランスポートされるかどうか
トランスポート・レイヤーZ<SID>
を通過する、開発システムから品質保証システムへのコンソリデーション・ルートが作成されます。これが、カスタマ開発とカスタマイズのための標準トランスポート・レイヤーとなります。
トランスポート・レイヤーSAP
を通過する、開発システムから品質保証システムへのコンソリデーション・ルートが作成されます。これは、SAP標準オブジェクトのトランスポートに使用されます。
RKM SAP BWの初回実行前に正しいトランスポート・レイヤー名を指定することが重要です。次の手順を実行して、SAPランドスケープ内で定義されているトランスポート・レイヤーのリストを特定します。
トランザクションSTMSを介してトランスポート・ドメイン・コントローラの役割を果たすSAPシステムのクライアント000にログオンします。
「Overview」→「Transport Routes」を選択します。「Display Transport Routes」ダイアログが表示されます。
「Goto」→「Graphical Editor」を選択します。
モードを切り替えるために、「Configuration」→「Display <-> Change」を選択します。
カーソルをSAPシステム上に置きます。
「Edit」→「System」→「Change」を選択します。「Change System Attriburtes」ダイアログが表示されます。
「StandardTransport Layer」タブを選択します。
SAPシステムのトランスポート・レイヤーを変更します。
結果は、様々なトランスポート・レイヤーのリストです。
デフォルトでは、RKMのSAP_TRANSPORT_LAYER_NAMEオプションはSAP
に設定されています。どのトランスポート・レイヤーを使用するかは、SAP Basis管理者に確認してください。このトランスポート・レイヤー名がRKMのSAP_TRANSPORT_LAYER_NAMEオプションで設定されている必要があります。不正なまたは無効なトランスポート・レイヤー名を使用すると、インストール・プロセス時に重大な遅れが生じます。
このプロジェクトを開始する前に、Oracle Data Integratorをインストールおよび構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Data Integratorスタート・ガイド』および『Oracle Data Integratorのインストールと構成』を参照してください。
このプロジェクトでは、マッピングのターゲットおよびステージング領域としてOracleデータベース・エンジンを使用します。例として、Oracle XEデータベースを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 tables -- For ODS/DSO CREATE TABLE ODI_SAP_DEMO.W_PURCH_DS ( PO_GUID VARCHAR2(100), ORDER_ITEM_GUID VARCHAR2(100), ACC_ASS_GUID VARCHAR2(100), GUIDE_CONTRCT VARCHAR2(100), ORDER_QUANT NUMBER, NET_PRICE NUMBER, PRICE_UNIT CHAR(5), NO_OF_PURCH_ODR NUMBER); ALTER TABLE ODI_SAP_DEMO.W_PURCH_DS ADD CONSTRAINT PK_W_PURCH_DS PRIMARY KEY (PO_GUID); -- For INFO OBJECT CREATE TABLE ODI_SAP_DEMO.W_ACCNT_VENDR_DS ( VENDOR CHAR(10), PCOMPANY CHAR(10), PHONE CHAR(20), PLANT CHAR(10), STREET VARCHAR(50), MED_DESC VARCHAR(100)); ALTER TABLE ODI_SAP_DEMO.W_ACCNT_VENDR_DS ADD CONSTRAINT PK_W_ACCNT_VENDR_DS PRIMARY KEY (VENDOR); -- For INFO OBJECT HIERARCHY CREATE TABLE ODI_SAP_DEMO.W_GL_ACCOUNT_HIER_DS ( HIER_NAME CHAR(50), NODEID NUMBER(20), INFOOBJECT_NAME CHAR(80), NODENAME CHAR(80), TLEVEL NUMBER(5), PARENTID NUMBER(20), CHILDID NUMBER(20),NEXTID NUMBER(20)); ALTER TABLE ODI_SAP_DEMO.W_GL_ACCOUNT_HIER_DS ADD CONSTRAINT PK_W_GL_ACCOUNT_HIER_DS PRIMARY KEY (HIER_NAME, NODEID); -- For INFO OBJECT INTERVAL HIERARCHY CREATE TABLE TARGET_INTERVAL_HIERARCHY ( RSHIENM VARCHAR2(30 BYTE), NODEID NUMBER(8), PARENTID NUMBER(8) INTERVL VARCHAR2(1 BYTE) LEAFFROM VARCHAR2(60 BYTE), LEAFTO VARCHAR2(60 BYTE), VERSION VARCHAR2(3 BYTE), CHRT_ACCTS VARCHAR2(4 BYTE), GL_ACCOUNT VARCHAR2(10 BYTE), BAL_FLAG VARCHAR2(1 BYTE), GLACCEXT VARCHAR2(18 BYTE), INCST_FLAG VARCHAR2(2 BYTE) ) -- For INFO CUBE CREATE TABLE ODI_SAP_DEMO.W_VENDR_BAL_DS ( OCOMP_CODE CHAR(6), OCREDITOR CHAR(10), ORC_ACCOUNT CHAR(10), TOT_DEBT_POST NUMBER, TOT_CR_POST NUMBER, CUMULATIVE_BAL NUMBER); ALTER TABLE ODI_SAP_DEMO.W_VENDR_BAL_DS ADD CONSTRAINT PK_W_VENDR_BAL_DS PRIMARY KEY (OCOMP_CODE); -- For INFO CUBE & INFO OBJECT Join CREATE TABLE ODI_SAP_DEMO.W_VENDER_CUBE_OBJ_DS ( COMP_CODE CHAR(10), VENDOR CHAR(10), GL_ACCOUNT CHAR(10), SALES_FOR_PERIOD NUMBER, CUM_BALANCE NUMBER, PLANT CHAR(10), MEDIUM_DESC VARCHAR2(100)); ALTER TABLE ODI_SAP_DEMO.W_VENDER_CUBE_OBJ_DS ADD CONSTRAINT PK_W_VENDER_CUBE_OBJ_DS PRIMARY KEY (COMP_CODE); CREATE TABLE "TARGET_NAVIGATIONAL_ATTRIBUTES" ( IOPK_CUSTOMER VARCHAR2(10 BYTE), IOPKCUST_GROUPVARCHAR2(2 BYTE), IOPKPK_CUSTOMERVARCHAR2(10 BYTE), IOPK_PK_PLANT VARCHAR2(4 BYTE), IOPKCALMONTH NUMBER(6), IOPK_CALWEEK NUMBER(6), IOPKTHIP_POINTVARCHAR2(4 BYTE), REQUIDVARCHAR2(30 BYTE), KF_ODEL_VOL NUMBER(17,3), KF_OSHIPDATE NUMBER(17), KF_OLOADDATEK NUMBER(17), KF_OACT_GI_DTKNUMBER(17), KF_OMATAV_DATKNUMBER(17), KF_OLATE_QTY NUMBER(17,3), CUSTOMERVARCHAR2(10 BYTE), PLANT VARCHAR2(4 BYTE), PHONE VARCHAR2(16 BYTE), PCOMPANYVARCHAR2(6 BYTE), OUTL_TYPEVARCHAR2(4 BYTE), NIELSEN_ID VARCHAR2(2 BYTE), LOGSYSVARCHAR2(10 BYTE), VISIT_RYTVARCHAR2(4 BYTE), USAGE_INDVARCHAR2(3 BYTE), SRCID VARCHAR2(4 BYTE), PRECISIDNUMBER(4), POSTCD_BOX VARCHAR2(10 BYTE), CUS_F_CONS VARCHAR2(1 BYTE), COUNTRYVARCHAR2(3 BYTE), BPARTNERVARCHAR2(10 BYTE), ACCNT_GRPVARCHAR2(4 BYTE), LANGU VARCHAR2(1 BYTE), KEYACCOUNT VARCHAR2(1 BYTE) ) -- For OPEN HUB DESTINATION CREATE TABLE ODI_SAP_DEMO.W_OPENHUB_SALES_DS ( OHREQUID NUMBER, DATA_PACKAGE NUMBER, DATA_RECORD NUMBER, CUSTOMER CHAR(1), MATERIAL CHAR(1), MATERIAL_PRICE NUMBER, CURRENCY NUMBER, QUANTITY NUMBER, TOTAL_REVENUE NUMBER); ALTER TABLE ODI_SAP_DEMO.W_OPENHUB_SALES_DS ADD CONSTRAINT PK_W_OPENHUB_SALES_DS PRIMARY KEY (OHREQUID);
SAPアダプタは、Java Connector (JCo)を使用してSAPシステムに接続します。プロジェクトを続行する前にJCoを構成する必要があります。
JCoをインストールおよび構成する手順は次のとおりです。
実際の構成に対してサポートされるバージョンのJCoを、http://service.sap.com/connectorsからダウンロードします。サポートされるJCoのバージョンを調べるには、Oracle Technology Networkにある認定マトリクスを参照してください。バージョンがJCo 3.0.2以上であることが必要です。
注意:
|
適切な配布パッケージの圧縮を解除して、任意のディレクトリ<sapjco-install-path>
に保存します。
<sapjco-install-path>/javadoc/installation.html
に記載されている、プラットフォームごとの手順に従ってインストールを行います。
sapjco3.jar
とsapjco3.dll
をコピーします。
ODI 10gの場合: sapjco3.jar
とsapjco3.dll
(またはそれぞれのバイナリ、たとえばlibsapjco3.so
)をoracledi/drivers
ディレクトリにコピーします。
ODI 11gの場合: sapjco3.jar
とsapjco3.dll
(またはそれぞれのバイナリ、たとえばlibsapjco3.so
)を<ODI_HOME>/odi_misc
ディレクトリ(ODI Studio)、<ODI_HOME>/oracledi/agent/drivers
ディレクトリ(スタンドアロン・エージェント)および<WLS_DOMAIN>/libディレクトリ(JEEエージェント)にコピーします。
ODI 12cの場合: sapjco3.jar
とsapjco3.dll
(またはそれぞれのバイナリ、たとえばlibsapjco3.so
)を<ODI_HOME>/odi/sdk/lib
ディレクトリ(ODI Studio、ODIスタンドアロン・エージェント)および<WLS_DOMAIN>/libディレクトリ(JEEエージェント)にコピーします。
ODI Studioとエージェント(ある場合)を再起動します。
JCoインストールをチェックします。これは、このガイドで後述する部分でもチェックします。
次の手順を実行してOracle Data Integratorを構成します。
オープン・ツールをインストールしてODIに追加する手順の詳細は、Oracle Data Integratorツール・リファレンスを参照してください。この項では、SAP ABAP固有の手順の詳細のみを説明します。
デザイナに接続します。
「ファイル」→「オープン・ツールの追加/削除」を選択します。
「オープン・ツールの追加/削除」ウィンドウで、「オープン・ツール・クラス名」フィールドに次の名前を入力します: oracle.odi.sap.km._OdiSapAbapExecuteStoppable.
「オープン・ツールの追加」をクリックします。
オープン・ツールが次のように表示されます。
「OK」をクリックします。