On this Page
This account is used by the Snaps in the SAP Account Snap Pack.
You can create an account from Designer or Manager. In Designer, when working on pipelines, every Snap that needs an account prompts you to create a new account or use an existing account. The accounts can be created in or used from:
- Your private project folder: This folder contains the pipelines that will use the account.
- Your Project Space’s shared folder: This folder is accessible to all the users that belong to the Project Space.
- The global shared folder: This folder is accessible to all the users within an organization in the SnapLogic instance.
Required Permissions in SAP Account
Authorization Object | Parameter | Expected Value |
---|---|---|
S_RFC | ACTVT |
|
RFC_NAME | * is the recommended value. Else, ensure that RFCPING is included. | |
RFC_TYPE | * | |
S_IDOCDEFT | ACTVT | Display |
EDI_TCD | * | |
EDI_DOC | * OR IDoc basic type used in the Snap. | |
EDI_CIM | * OR any IDoc Extension type used in the Snap. | |
B_ALE_RECV | EDI_MES | * OR any message type used in the Snap. |
Depending on what BAPI method or which IDoc type is used in the Pipeline, you may need to extend the permissions in your SAP account.
Account Configuration
In Manager, you can navigate to the required folder and create an account in it (see Accounts). To create an account for SAP:
- Click Create, then select SAP, then any SAP JCo Account.
- Supply an account label.
- Supply the necessary information for the appropriate account type:
- SAP JCo Account
- SAP Load Balanced JCo Account
- (Optional) Supply additional information on this account in the Notes field of the Info tab.
- Click Apply
- The SAP JCo Account is used to connect to an application server (ASHOST - Application Server Host).
- The SAP Load Balanced JCo Account is used to connect to a message server (MSHOST - Message Server Host).
- Ensure that you SAP instance is configured to work with the Snap Pack. See SAP Configurations for details.
Account Types
SAP JCo Account
SAP Load Balanced JCo Account
SAP Configurations
Installing JCO Library
Install the SAP Java Connection (JCO) library for this Snap Pack to work.
Windows
- In all nodes of the Snaplex, install
sapjco3.dll
in %SL_ROOT%\ldlib (usually, c:\opt\Snaplogic\ldlib). - Upload the
sapjco3.jar
file into the project that you want to use for SAP integration. - Set the Windows PATH variable to point to c:\opt\Snaplogic\ldlib. Restart the Snaplex (JCC).
If an MSHOST is configured, add
sapms<SystemID><MSHOSTPort>/tcp, for example:
to %WINDIR%\System32\drivers\etc\services.sapmsABA 3301/tcp
,
Linux
- In all nodes of the Snaplex, install
libsapjco3.so
in $SL_ROOT/ldlib (usually /opt/Snaplogic/ldlib). - Install
libsapjco3.jnilib
in $SL_ROOT/ldlib (usually /opt/Snaplogic/ldlib). - Upload the
sapjco3.jar
file into the project that you want to use for SAP integration. Restart the Snaplex (JCC). - If an MSHOST is configured, add
sapms<SystemID><MSHOSTPort>/tcp
, for example:
to /etc/services. For example,sapmsABA 3301/tcp
,sapmsABA 3301/tcp
.
Please update the following native library files under $SL_ROOT/ldlib/:
a) libsapjco3.so for Linux-based JCC nodes.
b) 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 would still try to call the function module, and let the SAP server inform the user regarding the failure. However, in the latest driver, if the function module is not remote-enabled, the JCo would detect it in advance, and let the Snap fail fast.
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 is calls a BAPI function, while the IDoc (Document) Listener, IDoc Read and IDoc Write Snaps use IDocs to integrate with SAP.
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. For more information, see SAP Help: Implementation - IDoc Interface/ALE - SAP Library and SCN Welcome | SCN.
- Add a logical system using transaction code SALE.
- Create/Change the distribution model using transaction code SALE or BD64.
- You may either create a new model view or edit an existing one. Then add sender/receiver (Logical System) and message types.
- 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.
- Register the external program in the SAP gateway by editing the reginfo file. For additional information, see Gateway Security Files secinfo and reginfo.
- Import reginfo in Gateway using the transaction code SMGW.
- Create RFC Destination of Type = 'T' (TCP/IP). For additional information, see SAP JCo Server Programming.
- Check the gateway monitor to ensure that the connection is registered correctly.
- Create a port using transaction code WE21.
Local TID Database Configuration (Outbound IDoc Only)
When listening for outbound IDocs sent from SAP, the SAP Snaps require a local database to track the TIDs for the IDocs received and processed successfully. The SnapLogic SAP account must be able to access that database. If the database is not supported by default, you must obtain the appropriate JDBC driver and add it to the SnapLogic SAP Account.