Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this article

Table of Contents
maxLevel2
absoluteUrltrue

Overview

Use this Snap to read and retrieve data objects In this article

Table of Contents
maxLevel2
absoluteUrltrue

Overview

Use this Snap to read and retrieve data objects from the SAP S/4HANA On-Premise instance.

Image Modified

Prerequisites

Support for Ultra Pipelines

...

  • 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/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document

  • Min: 0
  • Max: 1
  • Mapper Snap
  • Copy Snap
  • JSON Parser

A document with data that indicates the entities to be filtered and retrieved from SAP S/4HANA On-Premise instance

Output

Document

  • Min: 1
  • Max: 1
  • Mapper Snap
  • Copy Snap
  • XML Formatter
  • JSON Formatter

A document containing the entity data retrieved from a SAP S/4HANA On-Premise instance.

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 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_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

Customized header

Use this 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 Image Modified to add a new row in this table and specify the values accordingly.

This field set comprises the following fields:

  • Field name
  • Field value 

Field name

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

Field value

StringThe field value for the above field in the customized HTTP request header. N/AW/"'82F636DC08F14D22260CE67E505C231D0D2ACD95'"

Key parameter

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

Info

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.

Only one key parameter can be specified in each row. Click Image Modified to add a new row in this table and define the values accordingly. 

This field set comprises the following fields:

  • Field name
  • Field value

Field name

StringSpecify the reference parameter in this field.N/AaccountID

Field value

StringSpecify 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

StringSpecify the value for the reference parameter in this field.N/ATEST_001

Filter records

This 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 Image Modified 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 field set comprises the following fields:

  • Field name
  • Operation
  • Field value
  • Condition

Field name

StringSpecify the system parameter—$filter field—to be used for filtering the records in the output.N/AaccountID

Operation

String

Specify the comparison operator for the $filter field specified above from this drop-down list. Available options are: 

  • Equals
  • Not Equals
  • Greater than or Equal
  • Greater than
  • Less than or Equal
  • Less than
  • Starts with
  • Ends with
EqualsEquals

Field value

StringSpecify 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/ATEST-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: To retrieve records that match either the current criterion or the next criterion.
  • And: To retrieve only records that match both the current criterion and the next criterion.
  • None: To specify that the current and the next criteria can be evaluated independent of each other in retrieving the records.
OrNone

Output field selection

This 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 Image Modified to add a new row in this table. 

Info

To return all available fields in the output, do not specify any output field.

N/A


Element

String/ExpressionSpecify the fields from the result dataset to be populated in the output.N/AaccountID, name1, name2

Order by

This 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 Image Modified 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 field set comprises the following fields:

  • Element
  • Order by type

Element

StringSpecify the field in the expected output by which the records in the output must be ordered.N/Aname1

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:

  • Ascending
  • Descending
DescendingDescending
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
  • Output entry offset
  • Is an active entity
  • Count
  • Allow empty result
  • Pass through

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. 

in the output.

N/A

10

Is an active entity

Dropdown list

Choose the value for this field. Available options are: 

  • true: get all records with field IsActiveEntity = truein the returned response.
  • false: get all records with field IsActiveEntity = false in the returned response.
  • not available: Do not require this field.


Info

There are many SAP S/4HANA entities that require the field IsActiveEntity to be set

to

as true or false and

included in

added to the HTTP request. If this field is not

included

added for these entities,

the

an error 'Draft 2.0 object <SERVICE~ENTITY> requires selection condition on IsActiveEntity'

, is

 will be returned.

Select one of the following from this drop-down list:
  • not available if the entity does not need IsActiveEntity field specified in the HTTP request.
  • true to set this field in the HTTP request to true and get all records with field IsActiveEntity = true in the returned response.
  • false to set this field in the HTTP request to false and get all records with field IsActiveEntity = false in the returned response

    If ‘true’ is selected, the IsActiveEntity will be set as true, vice versa. In order to refer to the entities which do not need this field, please select 'not available'.


    not available

    true

    Count
    Check box
    CheckboxSelect this
    check box
    checkbox to return the total number of records retrieved in the API response.DeselectedSelected

    Allow empty result

    Check box

    Checkbox

    Use this property to define

    Select this checkbox 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 field set to specify the connectivity parameters: timeout, retry count, and retry interval.

     

      This field set

    comprises

    contains 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 instance. 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: 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.

    Validate & Execute

    Execute only

    Troubleshooting

    ErrorReasonResolution

    You have an empty value in the Output field selection table.

    The Output field selection table has an empty field.

    Provide a valid entry for the selected output field.

    You have an empty value in the Order by table.

    The Order by table has an empty field.

    Enter a valid value to define sort order.

    You have an empty value in the Field name field for the Key parameter.

    The Field name field must not be empty for the Key parameter.

    Enter a valid Field name for the Key parameter.

    You have an empty field in the Field name/value field for the Customized header.

    The Field name/value field must not be empty for the Customized header.

    Enter a valid Field name/value for the Customized header.

    Empty result found.

    There is no data coming back from the API call. Possible reasons:

    • No relevant data available in the API database
    • Filter setting is restrictive
    • URL parameter setting is restrictive

    Select the Allow empty result check box.


    API object does not exist.

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

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

    Entity does not exist.

    The entered Entity is not found in the server.

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

    ...

    Snap Output SettingPagination result
    Output entry limit: 100
    • Retrieves the first 100 API response records from the server (if more than 100 records are present in API response).
    • Retrieves all the available API response records from the server (if 100 or less records are present in API response).
    Output entry offset: 100
    • Retrieves API response records starting from index 101 from the server (if more than 100 records are present in API response).
    • Returns empty result (if 100 or less records are present in API response).
    Output entry offset: 100, and 
    Output entry limit: 100
    • Skips the first 100 records and collects the 200 - 300 records in the API response from the server.

    ...

    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.

    ...

    Info
    titleExample: Accessing related entities

    While querying for AccountCollection entity in the API object ZCRM_BUPA_OData_0001 (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_OData_0001 (OData Services for Business Partner) and filter with a specific accountId.

    • If using the SAP S/4HANA Read Custom Query Snap in the downstream, enhance the customized query by adding $expand=Contacts,Addresses to display the contents of these two properties in the API response of the entity AccountCollection.

    Examples

    Retrieve Customer Material Data from SAP S/4HANA On-Premise instance

    ...

    Expand
    titleFile Writer Snap

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


    Expand
    titleOutput

    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:

    Image Modified

    Downloads

    Note
    titleImportant 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.

    ...