Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In this article

Table of Contents
maxLevel2
absoluteUrltrue
excludeOlder Versions|Additional Resources|Related Links|Related Information

...

Overview

You

...

must create an

...

  • 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

...

* (an asterisk) OR 16

...

Warning

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: 

...

SAP account to connect to data sources that you want to use in your Pipelines. You can configure your SAP accounts in SnapLogic using either the Designer or the Manager.

Snap-Account Compatibility

...

Note
  • 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

...

titleAccount Settings

...

Label

...

Username

Specify the SAP username.

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

Note
titleFor SAP SNC authentication

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

Language*

...

Client*

...

Application server*

...

System number*

...

Peak limit

...

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

Note

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

Default value: 5

...

Connection pool capacity

...

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.

...

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

Default value: Not selected

...

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

Default value: Not selected

...

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 Image Removed to add a new row in this table and define the values accordingly. 

This field set comprises the following fields:

  • Property name
  • Property value
Note
titleFor 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.

...

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

...

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

...

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

...

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

...

titleAccount Settings

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

Label*

...

Username*

Specify the SAP username for the account.

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

Note
titleFor SAP SNC authentication

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

...

Language*

...

Client*

...

Message server*

...

System ID*

...

Logon group

...

Peak limit*

...

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

Note

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

Default value: 5

...

Connection pool capacity*

...

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.

...

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

Default value: Not selected

...

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

Default value: Not selected

...

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 Image Removed to add a new row in this table and define the values accordingly. 

This fieldset comprises the following fields:

  • Property name
  • Property value
Note
titleFor 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.

...

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

...

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

...

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

...

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

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.


Configuring SAP Accounts Using SnapLogic Designer

Drag an SAP Snap to the Canvas and click the Snap to open its settings. Click the Account tab. You can now either use an existing account or create a new one.

Selecting an existing account

SnapLogic organizes and displays all accounts to which you have access, sorting them by account type and location. To select an existing account:

  1. In the Account tab, click the Expand (blue star)  icon to view the accounts to which you have access, and select the account that you want to use.

  2. Click the Save (blue star) icon.

Creating an account

  1. In the Account tab, click Add Account below the Account Reference field.

  2. Select the Location where you want to create the account, select the SAP Account Type, and click Continue. The Add Account dialog window associated with the account type is displayed.

  3. Configure the settings relevant to your account. Learn more about SAP JCo Account and SAP Load Balanced JCo Account.

  4. Click Validate to verify the account if the account type supports validation.

  5. Click Apply to complete configuring the SAP account.

Info

Enter additional information on this account in the Notes field of the Info tab. This will help you–and other users–understand the purpose of the account, especially if there are multiple accounts of the same type.

Configuring SAP Accounts Using SnapLogic Manager

You can use Manager to create accounts without associating them immediately with Pipelines.

Accounts in SnapLogic are associated with projects. You can use accounts created in other projects only if you have at least Read access to them.

  1. In the left pane, browse to the project for which you want to create the account and click (blue star) > Account SAP, followed by the appropriate account type. The Create Account dialog associated with the selected account type is displayed.

  2. Repeat steps 3 through 5 in the Creating an account section. 

Required Permissions in the SAP Account

Authorization Object

Parameter

Expected Value

S_RFC

ACTVT

* (an asterisk) OR 16

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.


Insert excerpt
SAP Snap Pack
SAP Snap Pack
nopaneltrue

Related Links