Configuring SAP Accounts

On this Page

This account is used by the Snaps in the SAP Account Snap Pack.

You can create an account with the 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 ObjectParameterExpected Value
S_RFCACTVT

* (an asterisk) OR 16

RFC_NAME* is the recommended value. Else, ensure that RFCPING is included.
RFC_TYPE*
S_IDOCDEFTACTVTDisplay
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_RECVEDI_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: 

  1. Click Create, then select SAP, then any SAP JCo Account.
  2. Supply an account label.
  3. Supply the necessary information for the appropriate account type:
    • SAP JCo Account
    • SAP Load Balanced JCo Account
  4. (Optional) Supply additional information on this account in the Notes field of the Info tab.
  5. 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

 Account Settings


Label

Specify a unique and meaningful label for the account instance

Username


Specify the SAP username.

For SAP SNC authentication

Username is not required for authentication through SAP SNC. See Advanced JCo Properties for more details.

Password


Specify a password for the username.

For SAP SNC authentication

Password is not required for authentication through SAP SNC. See Advanced JCo Properties for more details.

Language*


Specify the SAP language code.

Client*

Specify the SAP client.

Application server*

Specify the SAP application server address.

System number*

Specify the system instance number.

Peak limit


Specify the maximum number of active connections that can be created simultaneously for a destination.

Recommended value could be <100 as too many connections may impact JCC performance.

Default value: 5

Connection pool capacity

Specify the maximum number of idle connections kept open by the destination. No connection pooling takes place when the value is 0.

Router string


Specify the SAP Router string required for making connections to systems that are behind the SAP Router. An SAP router string contains a chain of SAP routers with their port numbers and has the form (/H/<host>[/S/<port>][/W/<password, if provided>])+.

For more information on router strings, see Router Strings in SAP Help.

Enable trace


Activates the JCo traces to get more information that can help analyze the connection-related errors.

Default value: Not selected

Reload Metadata on Validate

Select this checkbox to clear the JCo Metadata cache on the plex node before validating the account.

Default value: Not selected

Advanced JCo properties

This field set enables you to specify JCo parameters and respective values for SAP Secure Network Communications (SNC) authentication.

Only one JCo parameter can be specified in each row. Click  to add a new row in this table and define the values accordingly. 

This field set comprises the following fields:

  • Property name
  • Property value

For SAP SNC authentication

Leave the Username and Password fields blank while passing values in the form of JCo properties, as part of SAP SNC authentication.

Property name

Specify the name of the JCo parameter to be passed for SAP SNC authentication. Alternatively, select the parameter from the Suggestions drop-down list.

Default value: None
Example: jco.client.user, jco.client.passwd, jco.client.cert1

Property value

Specify the value for the JCo parameter needed for SAP SNC authentication. If you have the JCo parameters defined at a Pipeline-level, pass the Pipeline parameter names as expressions.

Default value: None
Example: johndoe, pass*word#4

Account Encryption

Standard Encryption

If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed.


Enhanced Encryption

If you have the Enhanced Account Encryption feature, the following describes which fields are encrypted for each sensitivity level selected for this account.

Account:

  • High: Password
  • Medium + High: Username, password
  • Low + Medium + HighUsername, password, Application Server, System number

SAP Load Balanced JCo Account

 Account Settings

The SAP Load Balanced JCo Account is used to connect to a message server.

Label*


Specify a unique and meaningful label for the account instance

Username*


Specify the SAP username for the account.

For SAP SNC authentication

Username is not required for authentication through SAP SNC. See Advanced JCo Properties for more details.

Password


Specify a password for the username.

For SAP SNC authentication

Password is not required for authentication through SAP SNC. See Advanced JCo Properties for more details.

Language*

Specify the SAP language code.

Client*

Specify the SAP client.

Message server*

Specify the SAP message server address.

System ID*

Specify the SAP system ID.

Logon group

Specify the SAP logon group.

Peak limit*


Specify the maximum number of active connections that you can create simultaneously for a destination.

Recommended value could be <100 as too many connections may impact JCC performance.

Default value: 5

Connection pool capacity*

Specify the maximum number of idle connections to be kept open by the destination. No connection pooling takes place when the value is 0.

Router string


Specify the SAP Router string required for making connections to systems that are behind the SAP Router. An SAP router string contains a chain of SAP routers with their port numbers and has the form (/H/<host>[/S/<port>][/W/<password, if provided>])+.

For more information on router strings, see Router Strings in SAP Help.

Enable trace


Activates the JCo traces to get more information that can help analyze the connection-related errors.

Default value: Not selected

Reload Metadata on Validate

Select this checkbox to clear the JCo Metadata cache on the plex node before validating the account.

Default value: Not selected

Advanced JCo properties

This field set enables you to specify JCo parameters and respective values for SAP Secure Network Communications (SNC) authentication.

Only one JCo parameter can be specified in each row. Click  to add a new row in this table and define the values accordingly. 

This fieldset comprises the following fields:

  • Property name
  • Property value

For SAP SNC authentication

Leave the Username and Password fields blank while passing their values in the form of JCo properties, as part of SAP SNC authentication.

Property name

Specify the name of the JCo parameter to be passed for SAP SNC authentication. Alternatively, select the parameter from the Suggestions drop-down list.

Default value: None
Example:
jco.client.user, jco.client.passwd, jco.client.cert1

Property value

Specify the value for the JCo parameter needed for SAP SNC authentication. If you have the JCo parameters defined at a Pipeline-level, pass the Pipeline parameter names as expressions.

Default value: None
Example: johndoe, pass*word#4

Account Encryption

Standard Encryption

If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed.


Enhanced Encryption

If you have the Enhanced Account Encryption feature, the following describes which fields are encrypted for each sensitivity level selected for this account.

Account:

  • High: Password
  • Medium + High: Username, password
  • Low + Medium + High: Username, password, Application Server, System number

SAP Configurations

Installing JCO Library

Install the SAP Java Connection (JCO) library for this Snap Pack to work.

Windows

  1. In all nodes of the Snaplex, install sapjco3.dll in %SL_ROOT%\ldlib (usually, c:\opt\Snaplogic\ldlib).
  2. Upload the sapjco3.jar file into the project that you want to use for SAP integration.
  3. Set the Windows PATH variable to point to c:\opt\Snaplogic\ldlib. Restart the Snaplex (JCC).
  4. If an MSHOST is configured, add sapms<SystemID><MSHOSTPort>/tcp, for example: sapmsABA 3301/tcp, to %WINDIR%\System32\drivers\etc\services

Linux

  1. In all nodes of the Snaplex, install libsapjco3.so in $SL_ROOT/ldlib (usually /opt/Snaplogic/ldlib).
  2. Install libsapjco3.jnilib in $SL_ROOT/ldlib (usually /opt/Snaplogic/ldlib).
  3. Upload the sapjco3.jar file into the project that you want to use for SAP integration. Restart the Snaplex (JCC).
  4. If an MSHOST is configured, add sapms<SystemID><MSHOSTPort>/tcp, for example: sapmsABA 3301/tcp, to /etc/services. For example, 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 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 let the Snap fail.

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 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.

  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.

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.


Snap Pack History

 Click to view/expand
Release Snap Pack VersionDateType  Updates
4.27 Patch427patches13992 Latest
  • Enhanced the SAP Execute Snap to support nested tables or structure data in the import parameters.
  • Upgraded the Java Native Library used by the SAP Java Connector (JCo) to 3.1.4 version.

4.27 Patch427patches12999 Latest

Enhanced SAP RFC ListenerSAP IDoc Listener and SAP IDoc Document Listener Snaps with a new field set Advanced JCo Server Properties that allows you to configure Java Connector (JCo) server-related attributes.

4.27

main12833

 

Stable

Upgraded with the latest SnapLogic Platform release.
4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10571 Latest

Renamed the RFC Listener Snap as SAP RFC Listener Snap. 

4.25main9554
 
Stable

Introduced the SAP RFC Listener Snap that facilitates Remote Function Calls (RFCs) between two SAP systems. The Snap simulates an RFC server and listens to the incoming RFC calls infinitely. Subsequently, the Snap generates output documents either from the import parameters or triggers a child Pipeline. Business applications can use the RFC mechanism to communicate and exchange information (in predefined formats) with other systems.

4.24main8556
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430
 
StableUpgraded with the latest SnapLogic Platform release.
4.22 Patch 422patches7378 Latest

Enhances the SAP Execute Snap to process the structure that contains nested Table Type fields in the output document by recursively parsing them into a Map or a List set.

4.22 Patch 422patches6796 Latest

Fixes the JCO_ERROR_REQUEST_CANCELLED (connection is closed) error in SAP Execute Snap that occurs even when the session is active after 10 minutes.


4.22 Patch 422patches6601 Latest

Enhances SAP Execute and SAP IDoc Write Snaps by introducing the following fields:

  • Reload Function Metadata: To get latest schema.
  • Reload Metadata and Validate: Allows clearing the JCo Metadata cache on the plex node before each validation.
4.22 Patch 422patches6597 Latest

Enhances the SAP Execute Snap by introducing the following two fields:

  • Commit Timeout (sec): Creates a session to call BAPI and commit.
  • Session ID: Identifies specific sessions for all the Snaps that are in a stateful call sequence.
4.22main6403
 
Stable
  • Enhances the Snap Pack to support SNC-based authentication in SAP Accounts and the execution of BAPI call sequences in a Pipeline.
    • The SAP Accounts, SAP JCo Account and SAP Load Balanced JCo Account, can be used to extend connection security with an additional layer of Secure Network Communications (SNC) configuration by passing advanced JCo parameters.
    • Updates the SAP Execute Snap with the ability to execute a sequence of BAPI calls within the same Pipeline and session. Sequence implies that the output from a BAPI call is needed for the next BAPI call to run.
4.21snapsmrc542

 

Stable

Enhances the SAP Execute Snap to add a new field, Output date time as Text, which enables you to output date and time as a String data type instead of a DateTime object.

4.20 Patchsap8811 Latest

Updates the SAP IDoc Write Snap with the following:

  • Fixes the stack overflow error that occurs while retrying to write the IDoc to the SAP server. 
  • Adds inbound success codes to the default value which otherwise only indicates the IDoc being created.
  • Enhances the error messages for a better user experience.
4.20snapsmrc535
 
StableUpgraded with the latest SnapLogic Platform release.
4.19snaprsmrc528
 
StableUpgraded with the latest SnapLogic Platform release.
4.18snapsmrc523
 
StableUpgraded with the latest SnapLogic Platform release.
4.17ALL7402
 
Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17snapsmrc515
 
Latest

Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.

4.16snapsmrc508
 
StableUpgraded with the latest SnapLogic Platform release.
4.15snapsmrc500
 
StableUpgraded with the latest SnapLogic Platform release.
4.14snapsmrc490
 
StableUpgraded with the latest SnapLogic Platform release.
4.13

snapsmrc486

 
StableUpgraded with the latest SnapLogic Platform release.
4.12

snapsmrc480

 
Stable
  • Added the retry connection and error routing mechanism to the SAP Execute, SAP iDOC Read, SAP iDOC Write, SAP iDOC Document Listener and SAP iDOC Listener Snaps.
  • Updated the SAP Account with Enable trace property to analyse the connection related errors.
4.11 Patch sap4514 Latest

Addressed an issue with the SAP iDoc Listener and iDoc Document Listener Snaps where the pipeline takes a longer time to stop while performing a manual trigger. 

4.11 Patch sap4342 Latest
  • SAP IDoc Write Snap now supports IDoc Extension type.
  • SAP Self-service/on-demand ability to clear IDoc metadata cache.
4.11snapsmrc465
 
StableUpgraded with the latest SnapLogic Platform release.
4.10

snapsmrc414

 
Stable

Added SAP account to connect to a message server, SAP Load Balanced JCo Account.

4.9 Patch sap3246 Latest
  • Added SAP account to connect to MSHOST (JCo Load Balanced account).
  • Addressed an issue with SAP BAPI call appending duplicate fields to object
  • SAP Execute: Support for "table-type" fields added
  • Addressed an issue in SAP Execute: Changing parameter metadata not imported
4.9 Patch sap3233 Latest

Addressed an issue with SAP Execute failing to call BAPI with integer request parameter

4.9snapsmrc405
 
Stable

Introduced the SAP IDoc Document Listener Snap in this release.

4.8

snapsmrc398

 
Stable

Info tab added to accounts.

4.7

snapsmrc382

 
StableUpgraded with the latest SnapLogic Platform release.
4.6snapsmrc362
 
StableUpgraded with the latest SnapLogic Platform release.
4.5.1

snapsmrc344

 
StableUpgraded with the latest SnapLogic Platform release.