In this article
Table of Contents | ||||
---|---|---|---|---|
|
...
Use this Snap to read and retrieve data objects from the SAP S/4HANA On-Premise serverinstance.
Prerequisites
A valid account that supports SAP S/4HANA On-Premise instance, with the appropriate access permissions. See Configuring SAP S/4HANA Accounts.
Support for Ultra Pipelines
...
Limitations and Known Issues
- SAP S/4HANA On-Premise instance does not support server-side pagination. As a result, the $skiptoken is not supported.
- The Snap does not support OData navigation link.
Snap Input and Output
Input/Output | Type of View | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
|
| A document with data that indicates the entities to be filtered and retrieved from SAP S/4HANA On-Premise serverinstance. |
Output | Document |
|
| A document containing the entity data retrieved from a SAP S/4HANA On-Premise serverinstance. |
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 pipelinePipeline. | N/A | SAP S/4HANA Read | ||
API object | String | Required. Select the API that you want to access in SAP S/4HANA On-Premise instance. 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_ODATAOData_0001 (Odata 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 | ||
Customized header | Use this fieldset field set to add customized HTTP request headers for implementing specific HTTP requests other than the ones listed in the Using Customized Headers section of this page. Only one customized header can be specified in each row. Click to add a new row in this table and specify the values accordingly. This fieldset field set comprises the following fields:
| |||||
Field name | String | The field name of the customized HTTP request header. | N/A | If-Match | ||
Field value | String | The field value for the above field in the customized HTTP request header. | N/A | W/"'82F636DC08F14D22260CE67E505C231D0D2ACD95'" | ||
Key parameter | This fieldset field set enables you to specify the key parameters for a specific entity. Providing values for all key parameters in the drop-down list enables SAP S/4HANA to identify a unique record.
Only one key parameter can be specified in each row. Click to add a new row in this table and define the values accordingly. This fieldset field set comprises the following fields:
| |||||
Field name | String | Specify the reference parameter in this field. | N/A | accountID | ||
Field value | String | Specify the value for the reference parameter in this field. The data type—String, Integer, Boolean or any other—depends on the Field name you specified for the parameter. | N/A | TEST_001 | ||
Filter records | This fieldset field set enables you to define how the response result be filtered based on the specified parameters (filter criteria). Only one filter can be specified in each row. Click to add a new row in this table and define the values accordingly. Multiple filters, if defined in this table, will be applied for generating the final output, in the order they are defined. This fieldset field set comprises the following fields:
| |||||
Field name | String | Specify the system parameter—$filter field—to be used for filtering the records in the output. | N/A | accountID | ||
Operation | String | Specify the comparison operator for the $filter field specified above from this drop-down list. Available options are:
| Equals | Equals | ||
Field value | String | Specify the value with which the above $filter field must be compared. The data type—String, Integer, Boolean, or any other—depends on the $filter field you specified for the filter criterion. | N/A | TEST-AC-01 | ||
Condition | String | Select a value from this drop-down list to set the correlation between this filter criterion (row) and the next one (row), if being defined at all, to apply the filters for generating the final output. Available options are:
| Or | None | ||
Output field selection | This fieldset field set enables you to select the fields to be included in the output. Only one output field can be specified in each row. Click to add a new row in this table.
| |||||
N/A | String | Specify the fields from the result dataset to be populated in the output. | N/A | accountID, name1, name2 | ||
Order by | This fieldset field set enables you to define the sort order for the records in the output. Only one column name can be specified in each row for the sort order. Click to add a new row in this table and define the sort order criteria accordingly. Multiple Order by criteria will be applied in the same sequence as they are defined. This fieldset field set comprises the following fields:
| |||||
Element | String | Specify the field in the expected output by which the records in the output must be ordered. | N/A | name1 | ||
Order by type | String | Depending on the field selected above, define whether the rows must be sorted in the ascending order or descending order. Available options are:
| Descending | Descending | ||
Output fields advanced options | Use this section of Snap Settings to customize the output set: the number of output entries and the index of the starting entry. Available options are:
| |||||
Output entry limit | Integer | Specify the maximum number of entries that SAP S/4 HANA On-Premise instance must return in the output. | 500 | 10 | ||
Output entry offset | Integer | Specify the record index starting from which SAP S/4 HANA On-Premise instance must return records in the output. Use this property along with the Output entry limit to retrieve a specific set of entries in the output. | N/A | 10 | ||
Is an active entity | String | Use this Snap property to specify the value for the IsActiveEntity field in the HTTP request. There are many SAP S/4HANA entities that require the field IsActiveEntity to be set to true or false and included in the HTTP request. If this field is not included for these entities, the error 'Draft 2.0 object <SERVICE~ENTITY> requires selection condition on IsActiveEntity', is returned. Select one of the following from this drop-down list:
| not available | true | ||
Count | Check box | Select this check box to return the total number of records retrieved in the API response. | Deselected | Selected | ||
Allow empty result | Check box | Use this property to define whether output views can show empty result. If this check box is not selected, an error will be thrown when the output has no records. | Selected | Deselected | ||
Connection details | Use this section of Snap Settings field set to specify the connectivity parameters: timeout, retry count, and retry interval. This fieldset field set 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 serverinstance. 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 | 120 | ||
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 | 10 | ||
Snap Execution | String | Indicates how the Snap must be executed. Available options are:
| Validate & Execute | Execute only |
...
- GET operation to read data from the SAP S/4HANA server.
- Odata OData querying operations: $filter (Filter records), $select (Output field selection), $orderby (Order by), $top (Output entry limit), and $skip (Output entry offset).
- Odata OData operation $count (Count check box).
- Connection-failed-retry mechanism.
- Client-side pagination through $top (Output entry limit) and $skip (Output entry offset) mechanisms. For more information, see Pagination.
- Customized HTTP Headers. For more information, see Using Customized Headers.
- Dynamic loading of API metadata with a Parent-child dependency structure. This means that you can can:
- Select an API object from the API Object field to view only entities that are related to the API object and support GET queries (read operations).
- And then, select an entity to view and specify values for only read-compatible parameters related to this entity in Key parameter, Filter records, Output field selection, and Order by fields.
...
Client-side pagination is supported through the use of the $top (Output entry limit), and $skip (Output entry offset) Odata OData operations.
Examples
Snap Output Setting | Pagination result |
---|---|
Output entry limit: 100 |
|
Output entry offset: 100 |
|
Output entry offset: 100, and Output entry limit: 100 |
|
Using Customized Headers
SAP S/4HANA On-Premise instance contains a large number of API objects and entities. It also allows you to create and use customized API objects and entities as needed.
...
Info |
---|
The HTTP headers listed above are internally handled by the Snap and need NOT be defined again in Customized header section. Below is an example of a custom HTTP header defined: |
Accessing Related Entities from Snap Outputs for an Entity
Records in SAP S/4HANA Read Snap output may contain navigation properties, typically uri fields, pertaining to some entities related to the entity specified in Snap Settings.
For example, the SAP S/4HANA Read Snap output for the ZCRM_BUPA_ODATAOData_0001 (Odata OData Services for Business Partner) API object and the AccountCollection entity contains navigation properties (of entities) like Contacts, Addresses, Logo, Attachments.
...
Info | ||
---|---|---|
| ||
While querying for AccountCollection entity in the API object ZCRM_BUPA_ODATAOData_0001 (Odata OData Services for Business Partner), you can navigate to the Contacts property by connecting any one of the three Read Snaps from this Snap Pack in the downstream to call the ContactCollection entity in the API object ZCRM_BUPA_ODATAOData_0001 (Odata OData Services for Business Partner) and filter with a specific accountId.
|
Examples
Retrieve Customer Material Data from SAP S/4HANA On-Premise instance
This Pipeline example demonstrates using a SAP S/4HANA Read Snap to retrieve customer material data from SAP S/4HANA On-Premise instance and write it into a JSON file.
...
Expand | ||
---|---|---|
| ||
A JSON Formatter Snap is connected to the SAP S/4HANA Read Snap to read and format its output data into standard JSON format. |
Expand | ||
---|---|---|
| ||
A File Writer Snap is connected to the JSON Formatter Snap to save/write the JSON-formatted data into a file. |
Expand | ||
---|---|---|
| ||
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: |
Downloads
Note | ||
---|---|---|
| ||
|
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
...