USER MANUALS


SAP Java Connector のインストール

SAP ERP (BAPI データソース) または SAP BW/SAP BI (BAPI アダプターを使用する多次元データソース) からデータを取得するには、SAP Java Connector 3.1 (SAP JCo) をインストールします。

この作業はいつでも実行できます。Denodo Platform のインストール直後でなくてもかまいません。

コネクターのインストール

以下の手順に従って、SAP JCo コネクターをインストールします。

  1. Windows の場合、SAP JCo を利用するには、Denodo Platform をインストールしたコンピューターに、Visual Studio 2013 C/C++ ランタイムライブラリをインストールする必要があります。

    このライブラリが存在しないか、不明な場合、以下の手順に従います。

    1. https://support.microsoft.com/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10 を開いて Microsoft Visual C++ 再頒布可能パッケージ をダウンロードします。

    2. このページから file: vcredist_x64.exe をダウンロードします。利用しているオペレーティングシステムの言語に合わせてバージョンを選択します。

      このファイルは、64 ビット版 Java 仮想マシン (Denodo Platform に含まれるもの) で動作する 64 ビットのオペレーティングシステムとアプリケーション用のファイルです。

    3. ダウンロードしたファイルを実行して、インストールの指示に従います。

  2. https://support.sap.com/en/product/connectors/jco.html に移動します。

    • Windows の場合、[Microsoft Windows and Windows Server] の [64-bit x86] プロセッサー用バージョンをダウンロードします。

    • Linux の場合、使用しているコンピューターのプロセッサー用バージョンをダウンロードします。

  3. ダウンロードしたファイルを解凍します。

  4. Administration Tool を使用して、管理者アカウントでログインします。

  5. [File] メニュー > [Extensions management] をクリックします。

  6. [Libraries] タブをクリックして、[Import] をクリックします。

  7. 新しいダイアログの [Resource type] で、[sapjco] を選択します。

  8. [Version] で、アップロードするバージョンを選択します。

  9. [Add] をクリックして、以下のファイルを選択します。

    1. sapjco3.jar

    2. Virtual DataPort が Windows で動作している場合、 sapjco3.dll

    3. Virtual DataPort が Linux で動作している場合、 libsapjco3.so

    複数のファイルを選択するには、Ctrl キーを押しながら各ファイルを選択します。

  10. [OK] をクリックして、ファイルを Virtual DataPort にアップロードします。

  11. ファイルのアップロードが完了したら、Virtual DataPort サーバーを再起動します。

Windows でのコネクターのテスト

Denodo Platform を Windows にインストールした場合、JCo コネクターに必要な依存関係がすべて揃っていることをテストするため、インストール先のコンピュータに接続し、コマンドラインを開いて以下のコマンドを実行します。

cd <DENODO_HOME>
cd extensions\thirdparty\sap-jco
..\..\..\jre\bin\java.exe -jar sapjco3.jar -stdout

以下のようなテキストが出力されます。

Java Runtime:
 Operating System:    Windows 10 10.0 for amd64
 Java VM:             11.0.8 AdoptOpenJDK
 Default charset:     windows-1252
Versions:
 JCo API:             3.1.3 (2020-09-18)
 JCo middleware:      JavaRfc 2.10.1
 JCo library:         753.710
Library Paths:
 JCo archive:         C:\Denodo\Denodo Platform-9\extensions\thirdparty\lib\sap-jco-connector\sapjco3.jar
 JCo library:         C:\Denodo\Denodo Platform-9\extensions\thirdparty\lib\sap-jco-connector\sapjco3.dll

最後の 2 行に、sapjco3.jar ファイルと sapjco3.dll ファイルのパスが表示されます。「JCo library: not loaded, caused by java.lang.UnsatisfiedLinkError: ... Can't load IA 32-bit .dll on an AMD 64-bit platform」のようなテキストが表示されている場合、sapjco3.dll ファイルが 32 ビットバージョンであり、64 ビットバージョンのファイルをコピーする必要があることを意味します。

標準で付属する以外の Java Runtime Environment (JRE) を実行するように Virtual DataPort を構成している場合、その JRE を指定して前述のコマンドを実行して、実行時に SAP JCo コネクターが動作することを確認します。

Linux でのコネクターのテスト

Denodo Platform を Linux にインストールした場合、JCo コネクターに必要な依存関係がすべて揃っていることをテストするため、インストール先のコンピュータに接続し、コマンドラインを開いて以下のコマンドを実行します。

cd <DENODO_HOME>
cd extensions/thirdparty/sap-jco
../../../jre/bin/java -jar sapjco3.jar -stdout

以下のようなテキストが出力されます。

Java Runtime:
 Operating System:    Linux 4.14.186-110.268.amzn1.x86_64 for amd64
 Java VM:             11.0.8 AdoptOpenJDK
 Default charset:     UTF-8
Versions:
 JCo API:             3.1.3 (2020-09-18)
 JCo middleware:      JavaRfc 2.10.1
 JCo library:         753.710
Library Paths:
 JCo archive:         /opt/denodo/denodo-platform-9/extensions/thirdparty/lib/sap-jco-connector/sapjco3.jar
 JCo library:         /opt/denodo/denodo-platform-9/extensions/thirdparty/lib/sap-jco-connector/libsapjco3.so

最後の 2 行に、sapjco3.jar ファイルと libsapjco3 ファイルのパスが表示されます。「JCo library: not loaded, caused by java.lang.UnsatisfiedLinkError: ... Can't load IA 32-bit .so on an AMD 64-bit platform」のようなテキストが表示されている場合、sapjco3.so ファイルが 32 ビットバージョンであり、64 ビットバージョンのファイルをコピーする必要があることを意味します。

標準で付属する以外の Java Runtime Environment (JRE) を実行するように Virtual DataPort を構成している場合、その JRE を指定して前述のコマンドを実行して、実行時に SAP JCo コネクターが動作することを確認します。

SAP で BAPI データソースを使用する権限の付与

BAPI が実行されている SAP にクエリする (すなわち BAPI データソースを作成する) 場合、権限オブジェクト S_RFC を使用して、Virtual DataPort が SAP に接続するために使用するユーザーアカウントに、以下の関数へのアクセス権限を付与する必要があります。

  • RFCPING

  • RFC_GET_FUNCTION_INTERFACE

  • DDIF_FIELDINFO_GET

  • SYSTEM_RESET_RFC_SERVER (ベースビューの BAPI を実行した後に実行)

さらに、作成した各 BAPI ベースビューによって呼び出される BAPI へのアクセス権限を付与します。

SAP BW で多次元データソースを使用する権限の付与

通常、SAP システムは、ユーザーが呼び出し可能な関数を制限するように構成されています。

SAP BW にクエリする (すなわち多次元データソースを作成する) 場合、権限オブジェクト S_RFC を使用して、Virtual DataPort が SAP BW に接続するために使用するユーザーアカウントに、以下の関数へのアクセス権限を付与する必要があります。

  • RFCPING

  • RFC_GET_FUNCTION_INTERFACE

  • DDIF_FIELDINFO_GET

  • SYSTEM_RESET_RFC

  • SYSTEM_RESET_RFC_SERVER

  • RFC_METADATA_GET

  • SAPJCO30 (SAP JCo 3.0.x コネクターを使用して接続する場合)

  • SAPJCO31 (SAP JCo 3.1.x コネクターを使用して接続する場合 - 推奨オプション)

Virtual DataPort は、イントロスペクションの際 (データソースを開いて SAP BW キューブをリストする際)、以下の BAPI を呼び出します。

  • BAPI_MDPROVIDER_GET_CUBES

  • BAPI_MDPROVIDER_GET_VARIABLES

  • BAPI_MDPROVIDER_GET_MEASURES

  • BAPI_MDPROVIDER_GET_DIMENSIONS

  • BAPI_MDPROVIDER_GET_LEVELS

  • BAPI_MDPROVIDER_GET_PROPERTIES

  • BAPI_MDPROVIDER_GET_HIERARCHYS

  • RSOBJS_GET_NODES

  • RSOBJS_GET_NODES_X

  • RSZ_X_COMPONENT_GET

「SAP BW 3.x (BAPI)」アダプターを使用して多次元データソースを含むビューに対してクエリを実行する際には、以下の BAPI を呼び出します。

  • BAPI_MDDATASET_CREATE_OBJECT

  • BAPI_MDDATASET_GET_AXIS_INFO

  • BAPI_MDDATASET_GET_AXIS_DATA

  • BAPI_MDDATASET_GET_CELL_DATA

  • BAPI_MDDATASET_SELECT_DATA

  • BAPI_MDDATASET_DELETE_OBJECT

  • BAPI_MDPROVIDER_GET_MEMBERS

「SAP BI 7.x (BAPI)」アダプターを使用して多次元データソースを含むビューに対してクエリを実行する際には、以下の BAPI を呼び出します。

  • RSR_MDX_CREATE_OBJECT

  • RSR_MDX_GET_AXIS_INFO

  • RSR_MDX_GET_AXIS_DATA

  • RSR_MDX_GET_CELL_DATA

  • BAPI_MDDATASET_SELECT_DATA

  • BAPI_MDDATASET_DELETE_OBJECT

  • BAPI_MDPROVIDER_GET_MEMBERS

Add feedback