SAP IDoc Write

On this Page

Snap type:Write
Description:

This Snap writes an SAP IDoc to the configured SAP server. Because IDocs are processed asynchronously on the server, Polling interval and Polling timeout are additional configurations that define how to get the processing status.
 

Expected upstream Snaps: The Control record fields of the IDoc Write Snap input view can be mapped using an upstream Mapper Snap.

Expected downstream Snaps: The Snap will output one document for every IDoc write operation, hence any document processing Snap can be used down stream.

Expected input: Document that conforms to the input view schema of the Snap. The input view schema is provided to an upstream Mapper Snap based on the selected service object.

Expected output: Document which represents the record structure of the retrieved IDoc record output definition. Each IDoc write record is represented as one document on the output view.

  • The Processing Type attribute in SAP needs to be set to Remote-Enabled Module for this Snap to work with an SAP Normal Function Module.
  • Before this Snap, you would need to map data to the control_record as defined by SAP IDoc processing. This is done by mapping data to the input view by using either a Mapper or Structure Snap. The Control Record schema is provided. The values to map are dependent on the use case.
  • The Snap records logs of JCoDestination's connection pool's status, the logs can be seen in Dashboard.
Prerequisites:

To make the IDoc Listener snap work with SAP, we have to configure the RFC destination in SAP to use Unicode to communicate with the target system.

The way to set this up, is through the SM59 transaction in SAP. choose the RFC destination being used. In the Unicode tab, set Communication Type with Target System as Unicode.

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:
InputThe Snap has exactly one input view and consumes documents. The input view must provide the Control record information.
OutputThe Snap has exactly one output view and produces documents in the view. Each successful IDoc write will result in one output record on the output view.
ErrorThe Snap has an error output view  and produces Document(s) in the view. Any status that is not defined in the success codes property of the Snap will trigger to write the result to the error view.

Settings

Label*

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

IDOC*


Specify the SAP IDoc type to write.

Default Value: N/A
ExampleMATMAS01

IDOC Extension type

Specify the IDoc Extension Write type of an associated IDOC type.

If the IDoc specified in the "IDOC" Setting needs to be written with a specified custom extension type, provide a valid extension type in addition to the valid IDOC type with which the custom type is associated.

The Snap displays an error in the following cases:

  1. The custom extension type is invalid
  2. The specified IDOC extension type and the IDOC type are valid; however, the two types do not have any association with each other

Default Value: N/A
Example: ZMATMAS01

Success codes*


Specify the comma-separated status codes (with a leading 0) that are considered to be successful for the Snap execution.

Default value: 01,03,06,08,10,11,13,14,16,18,22,24,30,32,33,,35,38,39,41,50,53,55,62,64,66,69,70,71,73,75
Example: 01,03

See the SAP IDoc documentation for status codes for more information.
Polling interval

Specify the polling interval in seconds for obtaining the IDoc processing status. At each polling interval, the Snap checks the status of the IDoc processing.  A value of 0 indicates no polling for the IDoc processing status.

Default Value: 5
Example: 5

Maximum: 60


Polling timeout

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

Default Value: 300
Example: 300

Maximum: 1800

IDoc Read BAPI Name

Specify a name for IDOC Read BAPI Name. This field is based on the “IDOC_READ_COMPLETELY” SAP function, which reads the details associated with an IDoc.

Default Value: Z_SNAP_IDOC_READ_COMPLETELY

Max request attempts


Specify the maximum number of SAP connection attempts in case of a failure.

When you enter 0, the Snap makes infinite connection attempts. 

Default Value: 3

Request retry interval

Specify the time in seconds to wait before retrying the request.

Default Value: 5
Route errors

Select this checkbox to write 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

Reload IDoc Metadata

Select this checkbox to reload the metadata (latest schema) for the current BAPI function before executing the BAPI function.

Loading of metadata may take a while depending on the network speed.

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.

Examples


We will provide one example that executes an SAP IDoc write operation for a given input.

First we provide the input to the SAP IDoc Write Snap, as defined below.


The SAP IDoc Write Snap is configured as:



Which results in:

Downloads

Important steps to successfully reuse Pipelines

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

  File Modified

File Example_SAP_IDoc_Write.slp

Mar 10, 2022 by Subhajit Sengupta


 Click to view/expand
Release Snap Pack VersionDateType  Updates
August 2024438patches27908 Latest

Fixed an issue with SAP IDoc Listener and SAP IDoc Document Listener Snaps that displayed a Null Pointer Exception if you select the Route errors checkbox (which routes the error to the error view) in the Snaps.

August 2024main27765 Stable

Upgraded the following libraries for the SAP Snap Pack. Learn more about the library upgrade.

  • JCo from 3.1.4 to 3.1.10

  • IDoc from 3.1.1 to 3.1.3

Refer to the Known Issue caused by this upgrade and follow the steps from the workaround to mitigate any pipeline failures.

May 2024

main26341

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2024main25112 StableUpdated and certified against the current SnapLogic Platform release.
November 2023435patches24068 Latest
  • Enhanced the SAP IDoc Listener and SAP IDoc Document Listener Snaps with a new Halt on SAP error checkbox for better error-handling capability. Select this checkbox to enable the listener to interrupt and halt processing in case of an error from SAP.

  • Removed the unnecessary spring-core dependency from the SAP Snap Pack.

November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.
August 2023main22460 StableUpdated and certified against the current SnapLogic Platform release.
May 2023

433patches22386

 Latest

Fixed an issue with the SnapLogic SAP Accounts that caused issues when connection pools were exhausted. The minimum value allowed for the Connection pool capacity is now 0 so you can disable the connection pooling.

May 2023

main21015 

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022431patches19026 Latest

The SAP IDoc Listener Snap now handles the data event from the SAP instance as expected.

November 2022main18944 StableUpgraded with the latest SnapLogic Platform release.
October 2022430patches18854 Latest

The SAP IDoc Read and SAP IDoc Write Snaps do not display the error messages when the IDoc Read BAPI Name field is empty or wrong as a default value IDOC_READ_COMPLETELY is now assigned to the empty field, otherwise, the Snap considers the specified name.

4.30 Patch430patches17344

 

Latest

The SAP Execute Snap is now equipped to send the actual content of the incoming byte arrays (in binary types like XString) instead of their transformed String values.

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 Pipel