SAP IDoc Listener

On this Page

Snap type:Flow
Description:

This Snap receives SAP IDoc requests and sends the IDoc data contained in the requests to the output view. 

SAP IDoc Listener runs a JCo IDoc server that listens and receives IDoc requests, which means once a pipeline with a SAP IDoc Listener Snap is started, the pipeline won't finish and the user needs to stop the pipeline manually when needed. The TID (Transaction ID) of an IDoc request will be put in the header with the key as "tid" and sent to the output view. 

This Snap records logs of JCoDestination's connection pool's status each time it receives an IDoc request. The logs can be seen in Dashboard.

Prerequisites:

The SAP Snaplex machine's service file should be configured for the SAP gateway service:

Unix/Linux: /etc/services
Windows:    c:\windows\system32\drivers\etc\services

You need to add the SAP Gateway service entry to the file. For example, if the Gateway service is sapgw01, the line entry like this should be added to the file: 

sapgw01         3301/tcp
Support and limitations:Works in Ultra Task Pipelines.
Account:

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring SAP Accounts for information on setting up this type of account.

Views:
InputThis Snap has no input views. Input IDoc data is sent by remote clients.
OutputThis Snap has exactly one binary output view that is populated with IDoc data. The output data is in XML format, the user can use XML Formatter Snap to convert it into SnapLogic document type for further use.
ErrorThis Snap has at most one error view and produces zero or more documents in the view.

Settings

Label

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Gateway host

Required. The address of the SAP gateway host on which the IDoc listener will be registered.

Example: sap.cloud.com

Default value: N/A

Gateway service

Required. The SAP gateway service, usually in the format of "sapgwNN", in which NN stands for two digits.

Example: sapgw01

Default value: N/A

Program ID

Required. Program ID used to register the Snap as a JCo IDoc server in the Snap on the SAP gateway server.

Example: Snaplogic

Default value: N/A

Connection count

Required. The count of the registered connections managed by the JCo IDoc server in this Snap. 

Example: 4

Default value: 2

Router string

The SAP router string is to be used to access a system protected by a firewall. Such systems can only be reached using an SAP router when registering the server at the gateway of the ABAP server associated with the system. A router string typically has the following format: /H/firewall.hostname/H/.

Default value: N/A

Max request attempts*

Required. The maximum number of SAP connection attempts in case of a failure. When 0 is entered, the Snap tries for infinite times for the connection. 

Default value: 3

Max startup delay*

Required. This field defines the polling timeout in seconds for obtaining the IDoc processing status. If the timeout occurs while waiting for the status, the Snap displays a SnapExecutionException.

Example: 300

Default value: 300

Maximum: 1800

Enable trace

Select this check box to activate JCo traces, which retrieve information about the methods invoked and the data passed through the underlying communication layers throughout the call. This information can help you analyze errors that are related to connection issues associated with the Snap's execution.

Default value: Deselected

Route errors

Writes configuration errors to the error view. If the error is non-recoverable, especially connection errors such as exception handling would be routed to the error view with relevant information.

Default value: Not selected

Advanced JCo Server Properties

Use this field set to define JCo properties for SAP Secure Network Communications (SNC) authentication. Click   to define the JCo properties. You can specify only one JCo parameter in each row. The field set contains the following fields:

  • Property Name
  • Property Value
Property Name

Enter the name of the JCo Server property; the name should start with jco.server.

Property Value

Enter the value for the JCo server property.

Snap Execution

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.


Clearing Cache for the Snaplex

To load a new or updated IDoc, the cache needs to be cleared for the Snaplex. Instead of restarting the JCC to access the refreshed metadata, running the following pipeline (download) can help clear the cache. This pipeline informs all nodes in the Snaplex that their respective SAP metadata cache is stale. This action can take a moment to propagate to all nodes in the Snaplex. A Snap in a node, on the next run, will automatically clear the cache for the given node, display the IDoc version, and populate the current schema.

RESTClearCache.slp

Examples


We will provide one example that executes an SAP IDoc Listener that receives IDocs.

The SAP IDoc Listener Snap is configured as:

After starting the pipeline, you can check if the IDoc Listener is actually up and registered to the gateway service in the SAPGUI Program. First you need to go to your the page of the RFC destination that your SAP IDoc Listener Snap is using, which is like this:


Then you can check the registration by click the "connection test" button. If the SAP IDoc Listener Snap is registered successfully, the test result should be like:


Now the SAP IDoc Listener Snap is ready to receive IDocs. When the listener receives an IDoc, the output will be like:

Downloads

Important steps to successfully reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide Pipeline parameters as applicable.

  File Modified

File sap_idoc_listener_example.slp

Apr 06, 2017 by Diane Miller


Snap Pack History

 Click to view/expand
Release Snap Pack VersionDateType  Updates
August 2022main17386 StableUpgraded with the latest SnapLogic Platform release.
4.29 Patch429patches16637 Latest
  • Fixed an issue with the SAP IDoc Write Snap where the Snap wrote the same TID, Document_number, and so on for the different output documents though the I_DOCNUM array contained all the document numbers that are returned from SAP table. Now, the Snap writes different TID, Document_number for different output documents along with the I_DOCNUM array that contains all the document numbers.
  • Fixed an issue with SAP Execute and SAP IDoc Write Snaps where the output preview did not include the original document.
4.29 Patch

429patches16113

 Latest

Fixed an issue with SAP Execute Snap where the Snap incorrectly handled connection exceptions for 104-JCO_ERROR_SYSTEM_FAILURE. Previously, the Snap captured only the output document without the error. Now, the Snap correctly captures both the output and error.

4.29main15993 StableUpgraded with the latest SnapLogic Platform release.
4.29main15993 StableUpgraded with the latest SnapLogic Platform release.
4.28main14627 Stable
  • Upgraded the Java Native Library used by the SAP Java Connector (JCo) to version 3.1.

    Breaking change for Pipelines containing Snaps from the SAP Snap Pack with Java Native Library

    This upgrade may cause your existing Pipelines to break if they contain Snaps from the SAP Snap Pack. You must manually upgrade your SAP Java Connector (JCo) Native Library to version 3.1.4 for these Pipelines to run successfully. See SAP Configurations for more information.

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.