Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 8

In this article

Table of Contents
maxLevel2
absoluteUrltrue

...

Use this Snap to retrieve multiple data objects in one HTTP request from SAP S/4HANA applications. The Snap returns a multipart binary stream document in its output. Depending on your requirement, it might be necessary to use a Multipart Reader Snap next to this Snap.

Image RemovedImage Added

Prerequisites

  • A valid account with appropriate access permissions to connect to the SAP S/4HANA On-Premise instance. See SAP S/4HANA Accounts.

Support for Ultra Pipelines

See Snap Support for Ultra Pipelines.

Limitations and Known Issues

  • SAP S/4HANA On-Premise does not support server-side pagination. As a result, the $skiptoken used for server-side pagination is not supported.

Snap Input and Output 

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

Document

  • Min:0
  • Max:1
  • Mapper Snap
  • XML Parser
  • Binary to Document

A JSON document containing input data of the batch request and can be used to filter entities that need to be retrieved in SAP S/4HANA Server. 

Output

Binary

Document (default)

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

A document that contains the data retrieved from an SAP S/4HANA entity. The output document can be a multipart binary stream or a document stream.

  • The binary stream 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. 

...

Object  
  • Subentityelect a subentity corresponding to the above entity chosen above.
  • Output entry limit: The maximum number of entries that you want to retrieve from SAP S/4 HANA On-Premise for the entity.
  • Output entry offset: The starting index, that can also be used with an Output entry limit, for the output.
  • Is an active entity:  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. The Snap displays the 'Draft 2.0 object <SERVICE~ENTITY> requires selection condition on IsActiveEntity', error if this field is not included for those entities. Available options are:

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

  • Count: Select this check box to return only the total number of records retrieved in the API response.
  • Select the checkbox to disable the datatype conversion for values of key parameters and filters.

    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 Read

    API object

    String

    RequiredSelect the API that you want to access in SAP S/4HANA On-Premise instance by clicking the Image Modified button. 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)

    Entities

    Required. Use this field set to specify the different entities that you want to access. 

    Info

    Client-side pagination is supported through the use of the $top (Output entry limit), and $skip (Output entry offset)
    Odata operations. 
    $skiptoken is not supported for this release.

    You must specify each entity in a separate row.  Click  to add a new row in this table and define the values accordingly. 

    This field set comprises of the following fields:

    • EntitySelect
    • Output entry limit
    • Output entry offset
    • Is an active entity
    • Count

    Entity

    String

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

    object chosen aboveby clicking the Image Added button.

    Entity

    String

    Required. Select a business object (the Entity or Endpoint) for the API object chosen above, by clicking the Image Removed button.

    N/A

    AccountCollection

    Disable datatype conversion

    Default Value:  Not selected
    Example: Selected

    Checkbox/Expression

    N/A

    AccountCollection

    Output entry limit

    Integer

    The maximum number of entries that you want to retrieve from SAP S/4 HANA On-Premise for the entity.

    Info
    titleExample

    When Output entry limit is 100, the Snap:

    • 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).


    N/A10

    Output entry    offset

    Integer

    The starting index, that can also be used with an Output entry limit, for the output.

    Info
    titleExample 1

    When Output entry offset is 50, the Snap:

    • Retrieves API response records starting from index 51 from the server (if more than 50 records are present in API response).
    • Retrieves all available records starting from index 51 (up to the last index/record).
    • Returns empty result (if 50 or less records are present in API response).


    Info
    titleExample 2

    When Output entry offset is 100, and Output entry limit is 100, the Snap skips the first 100 records and collects the 200 - 300 records in the API response from the server.


    N/A10

    Is an active entity

    String

    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. The Snap displays the 'Draft 2.0 object <SERVICE~ENTITY> requires selection condition on IsActiveEntity', error if this field is not included for those entities. Available options are:

    • 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.
    not availabletrue
    CountCheck box

    Select this check box to return only the total number of records retrieved in the API response.

    Note
    titleNo records retrieved

    For all entities specified with this check box selected, the Snap returns ONLY the count of records matching the the respective entity criteria and DOES NOT return any records from the SAP S/4HANA instance (for those entities). If this check box is not selected for one or more entities, records matching each entity's criteria are returned.


    Not selectedSelected

    Connection details

    Use this field set to specify the connectivity parameters: timeout, retry count, and retry interval. 

    This field set comprises the following fields:

    • TimeOut
    • Maximum request attempts
    • RetryInterval

    TimeOut

    Integer

    Required. Specify the connection timeout duration in seconds, in this field.

    300

    480

    Maximum request attempts

    Integer

    Required. Specify the maximum number of re-connections in case of connection failure or timeout.

    3

    5

    RetryInterval

    Integer

    Required. Specify the time interval in seconds to be maintained between two reconnections.

    1

    5

    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.

    Validate & Execute

    Execute only

    ...

    Parameter Name Data TypeDescription

    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.

    name

    String

    The field name of the customized HTTP request header.

    value

    StringThe field value for the above field in the customized HTTP request header. 

    FilterRecords

    This property schema enables you to define how the response result be filtered based on the specified parameters.

    name

    StringSpecify the name of the system parameter $filter fields to be included in the output.

    operator

    StringSpecify the comparison operator for the system parameter $filter.

    value

    AnyThe values of specified input $filter fields. The data type of this field depends on what Field name you selected or entered which can be String, Integer, Boolean, etc.

    condition

    StringSpecify the logical operator for the system parameter $filter.
    KeyParameter

    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.

    Info

    Key parameters are NOT the same as filters which can return multiple records. Use key parameters only to retrieve specific records. To use a filter like normal select, use the parameters at the Filter records section instead.


    OrderBy

    With this property schema, it is possible to order the resulting records based on the specified element. The order types to be selected are either ascending or descending.

    name

    StringSpecify the field that will be used for sorting by descending or ascending order.

    value

    StringSpecify the Order Type (Ascending or Descending order).
    OutputFieldSelectionWith this property schema, it is possible to select fields to be included in the output. If not selected, all fields of the selected entity will be returned.
    nameStringThe name of the entered field to be included in the output.

    ...

    Info

    The HTTP headers listed above are internally handled by the Snap and need NOT be defined again in CustomizedHeader section.

    Accessing Related Entities from Snap Outputs for an Entity

    Records in SAP S/4HANA Batch Read Snap output may contain navigation properties, typically uri fields, pertaining to some entities related to the entity specified in Snap Settings.

    ...

    Note

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

    Mapper Snap

    The Mapper Snap is configured to map the schema from its input JSON (coming from the upstream JSON Generator Snap) with the schema propagated backward by the SAP S/4HANA Read Batch Snap. It also outputs the Target Schema as the Input Schema for the SAP S/4HANA Batch Read Snap.

    ...

    The File Writer Snap is connected to the SAP S/4HANA Batch Read Snap to save/write the JSON-formatted data into a 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 containing the batch response data can be seen below:
    Image Modified

    Download this Pipeline.

    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.

    ...