SAP S/4HANA Batch Write

In this article

Overview

Use this Snap to create, update, or delete multiple data objects from SAP S/4HANA applications.

Prerequisites

Support for Ultra Pipelines

See Snap Support for Ultra Pipelines.

Limitations and Known Issues

None.

Snap Input and Output


Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document

  • Min:1
  • Max:1
  • Mapper Snap
  • CSV Parser
  • JSON Parser

The input document contains customized header data and/or key parameter data that need to be passed to the Snap and data that must be written (created/updated/deleted) into the SAP S/4HANA server for the selected entity.

Output

Binary

Document (default)

  • Min:0
  • Max:1
  • Multipart Reader
  • File Writer
  • JSON Formatter
  • JSON Splitter

Each document contains the data created in the SAP S/4HANA server or updating/deleting result status data for the selected entity. The output document is a multipart binary stream or a document stream.

  • The binary document contains the header and the original API batch-request response.
  • The document stream contains the JSON structured API batch-request response split from the original API batch-request response. 

Snap Settings

Parameter NameData TypeDescriptionDefault ValueExample 

Label

String

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.

N/A

SAP S/4HANA Batch Write

API object

String

Required. Select the API that you want to access in SAP S/4HANA On-Premise. This drop-down list contains APIs available for the S/4HANA account configured in the Snap, each with a short description.

N/A

ZCRM_BUPA_ODATA_0001
(Odata Services for Business Partner)

Entity

String

Required. Select a business object (the Entity or Endpoint) for the API object chosen above. 

N/A

AccountCollection

Write Type

String

Required. Select the type of write operation you want to perform.

  • CREATE: Performs the POST operation to create new data objects.
  • UPDATE_MERGE: Performs the PATCH operation to partially update the specific data objects.
  • UPDATE_REPLACE: Performs the PUT operation to update the entire data objects.
  • DELETE: Performs the DELETE operation to delete a specific data object.
CREATECREATE

Input navigation level

IntegerSelect the depth of navigation for your input schema. 01
Batch sizeIntegerSelect the number of records to be processed in each request.200100

Connection details

Use this section of Snap Settings to specify the connectivity parameters: timeout, retry count and retry interval. 

This fieldset comprises the following fields:

  • TimeOut
  • Maximum request attempts
  • RetryInterval

TimeOut

Integer

Required. Enter, in seconds, the duration for which the Snap must try to establish connection with SAP S/4HANA On-Premise server. If the connection cannot be established within this duration, the Snap times out, writes the event to the log, and waits until the specified RetryInterval before attempting to reconnect.

300

480

Maximum request attempts

Integer

Required. Specify an integer value to set the maximum number of reconnection attempts that the Snap must perform, in case of connection failure or timeout.

3

5

RetryInterval

Integer

Required. Enter, in seconds, the duration for which the Snap must wait between two reconnection attempts, until the number of retries is reached.

1

15

Snap Execution

String

Specifies the execution type:

  • Validate & Execute: Performs limited execution of the Snap (up to 50 records) during Pipeline validation; performs full execution of the Snap (unlimited records) during Pipeline execution.

  • Execute only: Performs full execution of the Snap during Pipeline execution; does not execute the Snap during Pipeline validation.

  • Disabled: Disables the Snap and, by extension, its downstream Snaps.

Execute only

Validate & Execute

Troubleshooting

ErrorReasonResolution

API object is not existing.

Allowed API object format is <API ID>(Description).

Locate and select an API object from the drop-down list.

Entity is not existing.

The entered Entity is not found for the selected API object in the server.

Locate and select the Entity from the drop-down list.

The input payload is not found.

The input payload is not found.Fetch an input payload via Input Schema or input with the root key node Payload.

The input payload should be a JSON object.

The input payload is not passed as a JSON object. 

Ensure that the input payload coming from the upstream Snap is a JSON object.

Additional information

The following contents provide some helpful information to assist you while using the SAP S/4HANA Batch Write Snap.

Snap General Behavior

The SAP S/4HANA Batch Write Snap supports the following:

  • POST/PUT/DELETE operation to create/update/delete data in the SAP S/4HANA On-Premise server.
  • Customized HTTP Header. For more information, see Using Customized Headers (in SAP S/4HANA Read Snap).
  • Display of only the create/update/delete-compatible input parameter set from the upstream input Snap.
  • Dynamic loading of API metadata with a Parent-child dependency structure. This means that you can 
    • Select an API object from the API object field to view only entities that are related to the API object and support POST queries (create operations).
    • And then, select an entity to view and specify values for only create-compatible parameters related to this entity in the Input Schema.

Sending Batch Request

The SAP S/4HANA supports the OData 2.0 protocol. SAP S/4HANA APIs that support OData 2.0 can send batch requests with specific requirements and for specific operations. See the documentation at OData 2.0 batch request, for more details.

Batch Input Schema

The Input Schema assists you to define the input data for the Batch requests. For SAP S/4HANA Batch Write Snap, the KeyParameter and CustomizedHeader can be defined using the Input Schema. The KeyParameter path will only be shown if the Write Type is set as DELETE or UPDATE_REPLACE in the Snap settings.

Schema settings 

Parameter Name  Data TypeDescriptionDefault ValueExample 

CustomizedHeader

Use this property schema to add customized HTTP request headers for implementing specific HTTP requests other than the ones listed under Using Customized Headers section in SAP S/4HANA Read Snap.

name

String

The field name of the customized HTTP request header.N/AIf-Match

value

StringThe field value of the customized HTTP request header. N/AW/"'82F636DC08F14D22260CE67E505C231D0D2ACD95'"
KeyParameterObject

This property schema enables you to specify the key parameters for a specific entity. Providing values for all key parameters represented in the schema list enables SAP S/4HANA to identify a unique record. 

Key parameters are NOT the same as filters which can return multiple records. To use a filter like normal select, use the parameters at the Filter records section instead. Use key parameters only to retrieve specific records. Provide values to all keys found in the drop-down list.

N/AN/A

Payload

ObjectSpecify the input data parameters for the selected entities.N/AN/A

Examples

Creating Multiple Customer Material Records in SAP S/4HANA Server

This Pipeline example demonstrates how to use a SAP S/4HANA Batch Write Snap to create multiple customer material data objects in the SAP S/4HANA On-Premise instance. The Snap queries the C_CustomerMaterial_F2499T entity via API object ZSD_F2499_CUSTOMER_MATERIAL_SRV_0001 (Customer Material).

The example assumes that you have configured and authorized a valid SAP S/4HANA Account (see Configuring SAP S/4HANA Accounts).

Download this Pipeline.

SAP S/4HANA Write Batch Snap

The following settings are defined for the SAP S/4HANA Batch Write Snap to retrieve customer material data from the SAP S/4HANA On-Premise instance it accesses.

  • API objectZSD_F2499_CUSTOMER_MATERIAL_SRV_0001 (Customer Material) 
  • EntityC_CustomerMaterial_F2499T

A successful validation or execution of the Snap gives the following output preview.

JSON Formatter Snap

A JSON Formatter Snap is connected to the SAP S/4HANA Batch Write Snap to read and format its output data into standard JSON format.

File Writer Snap

A File Writer Snap is connected to the JSON Formatter Snap to save/write the JSON-formatted data into a new file.

Output

To view the output JSON file, you must SSH to the target directory and open the newly-created JSON file. The preview of the output JSON file can be seen below:

Alternatively, you can open the preview of the resulting output files from the Manager > Files. These files also store the original batch response.

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.

Snap Pack History

 Click here to expand...
Release Snap Pack VersionDateType  Updates
4.27main93 StableUpgraded with the latest SnapLogic Platform release.
4.26main88 StableUpgraded with the latest SnapLogic Platform release.
4.25main73
 
StableUpgraded with the latest SnapLogic Platform release.
4.24main73
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430
 
Stable

Enhances the Snap Pack to handle batch and custom query operations:

  • Introduces the SAP S/4HANA Batch Read Snap that enables retrieving batches of records from an SAP S/4HANA On-Premise instance.
  • Introduces the SAP S/4HANA Batch Write Snap that enables writing batches of records to an SAP S/4HANA On-Premise instance.
  • Introduces the SAP S/4HANA Read Custom Query Snap that enables retrieving multiple records from an SAP S/4HANA On-Premise instance, based on custom queries.
  • Introduces the SAP S/4HANA SSL Auth Account type to enable SSL-based authentication on an SAP S/4HANA On-Premise instance.
  • Adds the Count field to the SAP S/4HANA Read Snap to allow returning the total number of records retrieved.
4.22 Patch 422patches6973 Latest

Enhances the SAP S/4HANA Snap Pack with the following additions:

4.22main6403
 
StableUpgraded with the latest SnapLogic Platform release.
4.21snapsmrc542

 

StableInitial release.


See Also