SAP Configuration

In this article

Install JCo Library

You must install the SAP Java Connection (JCO) library for the SAP Snap Pack to work.

Limitation

SAP configuration does not support the configuration of MSHOST (Message Server Host) on the Cloudplex.

Windows

  1. In all nodes of the Snaplex, install sapjco3.dll in %SL_ROOT%\ldlib (usually, c:\opt\Snaplogic\ldlib).

  2. Set the Windows PATH variable to point to c:\opt\Snaplogic\ldlib. Restart the Snaplex (JCC).

If you are upgrading to Jco 3.1. for Windows Snaplex, you must install the Visual Studio 2013 C/C++ runtime libraries. Learn more, https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=551387831

Linux

  1. For multiple nodes in the Snaplex, install libsapjco3.so in $SL_ROOT/ldlib (usually /opt/Snaplogic/ldlib).

  2. For a single node, install libsapjco3.jnilib in $SL_ROOT/ldlib (usually /opt/Snaplogic/ldlib).

Update the following native library files under $SL_ROOT/ldlib/:

  • libsapjco3.so for Linux-based JCC nodes.

  • sapjco3.dll for Windows-based JCC nodes.

This is due to the parameter change in JCo (Java Connector) from 3.0 to 3.1. According to the JCo documentation, parameter jco.use_repository_roundtrip_optimization is used to optimize the metadata lookups.

In JCo 3.0.6, the default value of the parameter is 0, whereas, in JCo 3.1.4, the default value of the parameter is 1.
In the 3.0 driver, if the function module is not remote-enabled, the driver still calls the function module and the SAP server informs you regarding the failure. However, in the latest driver, if the function module is not remote-enabled, the JCo would detect it in advance, and the Snap fails.

Important: If you want to revert to the previous behavior, the JCo properties could be set through the jvm_options:

jcc.jvm_options=Djco.use_repository_roundtrip_optimization=0

BAPI and IDoc Integration

BAPI (Business Application Programming Interface) and IDoc (Intermediate Document) are different interfaces that SAP ERP provides to enable business-data exchange across SAP and non-SAP platforms.

BAPI is a library of functions stored on the SAP platform that can be called by SAP or non-SAP platforms to perform specific operations. All related data is exchanged immediately and not stored anywhere during transit. SnapLogic uses the RFC (Remote Function Call) protocol provided by the SAP Java Component to call BAPI remotely.

IDocs, on the other hand, are formatted data containers that can be transferred between SAP platforms or non-SAP platforms. IDocs are stored in database tables on the SAP side and can be sent to a receiver system using their ALE technology.

The SAP Execute Snap calls a BAPI function, while the IDoc (Document) Listener, IDoc Read, and IDoc Write Snaps use IDocs to integrate with SAP.

Depending on the BAPI method or IDoc type used in the pipeline, you may need to extend the permissions in your SAP account.

Configuring SAP for BAPI Integration

There is no additional configuration required for standard BAPI integration other than ensuring that the configured SAP user has sufficient roles/privileges to access and invoke the desired BAPIs. If the standard functions do not meet your integration requirements, you must design and implement a custom function according to your needs. 

Configuring SAP for IDoc Integration

The following configurations are required in SAP to send or receive IDocs. 

Set up the logical system and distribution model and generate the partner profile. Refer to SAP Help for details: Implementation - IDoc Interface/ALE - SAP Library and SCN Welcome | SCN.

  1. Add a logical system using transaction code SALE.

  2. Create/change the distribution model using transaction code SALE or BD64.

  3. You may either create a new model view or edit an existing one. Then, add sender/receiver (Logical System) and message types.

  4. Generate partner profiles. Use the transaction code we20.

Additional SAP Configuration for Outbound IDoc Integration

The following configurations are required in SAP to send outbound IDocs to the SnapLogic SAP account. 

  1. Register the external program in the SAP gateway by editing the reginfo file. For additional information, see Gateway Security Files secinfo and reginfo.

    1. Import reginfo in Gateway using the transaction code SMGW.

    2. Create RFC Destination of Type = 'T' (TCP/IP). For additional information, see SAP JCo Server Programming.

    3. Check the gateway monitor to ensure that the connection is registered correctly.

  2. Create a port using transaction code WE21.