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
A valid account that supports SAP S/4HANA, with appropriate access permissions. See Configuring SAP S/4HANA Accounts.
Support for Ultra Pipelines
- Works in Ultra Pipelines when Batch size is set to 1.
See Snap Support for Ultra Pipelines.
Limitations and Known Issues
None.
Snap Input and Output
Input/Output | Type of View | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
|
| 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) |
|
| 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.
|
Snap Settings
Parameter Name | Data Type | Description | Default Value | Example |
---|---|---|---|---|
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 |
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 | CREATE |
Input navigation level | Integer | Select the depth of navigation for your input schema. | 0 | 1 |
Batch size | Integer | Select the number of records to be processed in each request. | 200 | 100 |
Disable datatype conversion | Checkbox/Expression | Select the checkbox to disable the datatype conversion for values of key parameters and filters. | Deselected | Selected |
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 | 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:
| Execute only | Validate & Execute |
Troubleshooting
Error | Reason | Resolution |
---|---|---|
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 Type | Description | Default Value | Example |
---|---|---|---|---|
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/A | If-Match |
value | String | The field value of the customized HTTP request header. | N/A | W/"'82F636DC08F14D22260CE67E505C231D0D2ACD95'" |
KeyParameter | Object | 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/A | N/A |
Payload | Object | Specify the input data parameters for the selected entities. | N/A | N/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).
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 object: ZSD_F2499_CUSTOMER_MATERIAL_SRV_0001 (Customer Material)
- Entity: C_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
- Download and import the Pipeline into SnapLogic.
- Configure Snap accounts as applicable.
- Provide Pipeline parameters as applicable.
Snap Pack History
See Also
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.