USER MANUALS


Installing the SAP Java Connector

To retrieve data from SAP ERP (BAPI data sources) or from SAP BW / SAP BI (with multidimensional data sources with the BAPI adapter), install the SAP Java Connector 3.1 (SAP JCo).

You can do this at another time; you do not need to do it right after installing the Denodo Platform.

Installing the Connector

Follow these steps to install the SAP JCo connector:

  1. On Windows, SAP JCo requires you to install the Visual Studio 2013 C/C++ runtime libraries on the computer in which the Denodo Platform is installed.

    If this library is not present or you are unsure, follow these steps:

    1. Go to https://support.microsoft.com/en-us/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10 to download the Microsoft Visual C++ Redistributable Package.

    2. In this page, download the file: vcredist_x64.exe. Select the version for the language of your operating system.

      This is the file for 64-bit operating systems and applications that run with the 64-bit version of the Java Virtual Machine (the one included with the Denodo Platform).

    3. Execute the downloaded file and follow the installation instructions.

  2. Go to https://support.sap.com/en/product/connectors/jco.html.

    • For Windows, download the version for Microsoft Windows and Windows Server - 64-bit x86 processor.

    • For Linux, download the version for the processor of this computer.

  3. Decompress the downloaded file

  4. Log in with the Administration Tool with an administrator account.

  5. Click the menu File > Extensions management.

  6. Click the tab Libraries and then, click Import.

  7. In the new dialog, in Resource type, select sapjco.

  8. In Version, select the version you are going to upload.

  9. Click Add and select these files:

    1. sapjco3.jar

    2. If Virtual DataPort runs on Windows, sapjco3.dll

    3. If Virtual DataPort runs on Linux, libsapjco3.so

    To select more than one file, hold the key Ctrl and select each file.

  10. Click Ok to upload the file(s) to Virtual DataPort.

  11. Restart the Virtual DataPort server after the files upload is completed.

Testing the Connector on Windows

If the Denodo Platform is installed on Windows, connect to the computer where it is installed, open a command line and execute the following commands. This is to test that the JCo connector has all the dependencies it needs.

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

You should see something like this:

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

In the last two lines, you should see the path to the files sapjco3.jar and sapjco3.dll. If you see something like “JCo library: not loaded, caused by java.lang.UnsatisfiedLinkError: … Can’t load IA 32-bit .dll on an AMD 64-bit platform” it means that the file sapjco3.dll is the 32-bit version of the file and you should copy the 64-bit one.

If you configured Virtual DataPort to run a Java Runtime Environment (JRE) that is not the one included out of the box, execute this command with that JRE to make sure that at runtime, the SAP JCo connector will work.

Testing the Connector on Linux

If the Denodo Platform is installed on Linux, connect to the computer where it is installed, open a command line and execute the following commands. This is to test that the JCo connector has all the dependencies it needs.

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

You should see something like this:

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

In the last two lines, you should see the path to the files sapjco3.jar and libsapjco3.so. If you see something like “JCo library: not loaded, caused by java.lang.UnsatisfiedLinkError: … Can’t load IA 32-bit .so on an AMD 64-bit platform” it means that the file sapjco3.so is the 32-bit version of the file and you should copy the 64-bit one.

If you configured Virtual DataPort to run a Java Runtime Environment (JRE) that is not the one included out of the box, execute this command with that JRE to make sure that at runtime, the SAP JCo connector will work.

Grant Privileges in SAP for BAPI Data Sources

If you are going to query SAP executing BAPIs (i.e. create BAPI data sources), you have to grant access to the following functions, via the authorization object S_RFC, to the user account used by Virtual DataPort to connect to SAP:

  • RFCPING

  • RFC_GET_FUNCTION_INTERFACE

  • DDIF_FIELDINFO_GET

  • SYSTEM_RESET_RFC_SERVER (executed after running the BAPI of a base view)

In addition, grant access to the BAPI invoked by each BAPI base view you create.

Grant Privileges in SAP BW for Multidimensional Data Sources

Usually, SAP systems are configured to limit the functions a user can invoke.

If you are going to query SAP BW (i.e. create multidimensional data sources), you have to grant access to the following functions, via the authorization object S_RFC, to the user account used by Virtual DataPort to connect to SAP BW:

  • RFCPING

  • RFC_GET_FUNCTION_INTERFACE

  • DDIF_FIELDINFO_GET

  • SYSTEM_RESET_RFC

  • SYSTEM_RESET_RFC_SERVER

  • RFC_METADATA_GET

  • SAPJCO30 (when connecting with the connector SAP JCo 3.0.x)

  • SAPJCO31 (when connecting with the connector SAP JCo 3.1.x - recommended option)

Virtual DataPort invokes these BAPIs at introspection time (when opening the data source to list the SAP BW cubes):

  • 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

When querying views that involve a multidimensional data source with the “SAP BW 3.x (BAPI)” adapter, it invokes these:

  • 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

When querying views that involve a multidimensional data source with the “SAP BI 7.x (BAPI)” adapter, it invokes these:

  • 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