# mulesoft SAP S/4HANA OData Connector - Full Documentation --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # SAP S/4HANA OData Connector 2.9 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for SAP S/4HANA OData (SAP S/4HANA OData Connector) provides support for the OData APIs exposed by SAP S/4HANA Cloud and SAP S/4HANA on-premise. The connector enables you to perform operations to: - Create, get, update, and delete entities - Retrieve a single entity - Query multiple entities - Invoke a remote function - Execute batch requests that consist of multiple requests For software requirements and compatibility information, see the SAP S4/HANA Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - The SAP S/4HANA OData API - Anypoint Connectors - Mule runtime (Mule) - Elements and global elements in a Mule flow - Creating a Mule app using Anypoint Studio or Anypoint Code Builder Before creating an app, you must have: - Credentials to access the SAP S/4HANA OData target resource - Anypoint Platform - Anypoint Studio or Anypoint Code Builder - Have a developer account or other valid SAP S/4HANA instance - Access to the catalog service that allows you to use the service discovery - A communication user that is assigned to the corresponding communication arrangements for the desired APIs ## Common Use Case for the Connector Perform CRUD operations on entity types of SAP S/4HANA’s OData API and process the response. ## Exchange Templates and Examples [Anypoint Exchange](https://www.mulesoft.com/exchange/) provides templates you can use as a starting point for your app, as well as examples that illustrate a complete solution. ## Next Step After you complete the prerequisites and experiment with templates and examples, you are ready to create an app with [Anypoint Studio](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-studio). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP S/4HANA OData Connector Release Notes](https://docs.mulesoft.com/release-notes/connector/sap-s4-hana-connector-release-notes-mule-4) - [SAP S/4HANA OData Connector on Exchange](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-s4hana-cloud-connector/) - [Salesforce Help](https://help.salesforce.com) --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # SAP S/4HANA OData Connector 2.9 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt > [!NOTE] Where possible, we changed noninclusive terms to align with our company value of Equality. > We maintained certain terms to avoid any effect on customer implementations. In this example SAP S/4HANA OData Connector is used to create and get an entity, query for a value, update the entity, and then execute a function. > [!NOTE] When using the **Update entity** operation, the entity key _must_ be specified as part of > the payload. ![Studio flow with Listener, Transform Message, Get entity, Transform Message, and Logger](/mulesoft/current/en-us/sap-s4hana-cloud-connector/latest/_images/sap-hana-create.png) ![Studio flow with Listener, Transform Message, Delete entity, Transform Message, and Logger](/mulesoft/current/en-us/sap-s4hana-cloud-connector/latest/_images/sap-hana-get.png) ![Studio flow with Listener, Query, Transform Message, and Logger](/mulesoft/current/en-us/sap-s4hana-cloud-connector/latest/_images/sap-hana-query.png) ![Studio flow with Listener, Transform Message, Update entity, Get entity by key, Transform Message, and Logger](/mulesoft/current/en-us/sap-s4hana-cloud-connector/latest/_images/sap-hana-update.png) ![Studio flow with Listener, Transform Message, Execute function, Transform Message, and Logger](/mulesoft/current/en-us/sap-s4hana-cloud-connector/latest/_images/sap-hana-execute.png) ## POM File for This Example ```xml 4.0.0 sapdemo com.mulesoft.connectors.examples 1.0.0-SNAPSHOT mule-application mule-saphana-connector-entity-crud-demo UTF-8 UTF-8 4.2.1 3.2.8 org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true mule-application org.mule.connectors mule-http-connector 1.3.1 mule-plugin org.mule.connectors mule-sockets-connector 1.1.2 mule-plugin com.mulesoft.connector mule-sap-s4hana-cloud-connector 2.2.0 mule-plugin anypoint-exchange Anypoint Exchange https://maven.anypoint.mulesoft.com/api/v1/maven default mulesoft-releases MuleSoft Releases Repository https://repository.mulesoft.org/releases/ default mulesoft-snapshots MuleSoft Snapshots Repository https://repository.mulesoft.org/snapshots/ default mulesoft-releases mulesoft release repository default https://repository.mulesoft.org/releases/ false ``` ## XML Code for This Example ```xml ``` ## See Also [Salesforce Help](https://help.salesforce.com) --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # SAP S/4HANA OData Connector 2.9 - XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Studio. If you manually code a Mule runtime engine (Mule) app in XML either from the Anypoint Studio XML editor or from a text editor, you can get access to the connector in your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. When you install the connector in Studio, Studio automatically populates the XML code with the connector’s namespace and schema location. It also adds a dependency to the `pom.xml` file. ## Add a Reference Namespace Statement for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/s4hana http://www.mulesoft.org/schema/mule/s4hana/current/mule-s4hana.xsd ``` This example shows how the namespace statements are placed in the XML: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains Mule app connector dependencies. When you code a Mule app manually, include this XML snippet in your POM file to enable access to this connector: ```xml com.mulesoft.connectors mule-sap-s4hana-cloud-connector x.x.x mule-plugin ``` Verify that the connector `version` corresponds to the one you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `SAP S/4HANA OData`. 4. Click **Dependency Snippets**. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-examples). ## See Also - [Using Anypoint Studio to Configure SAP S/4HANA OData Connector](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-studio) [Salesforce Help](https://help.salesforce.com) --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # SAP S/4HANA OData Connector 2.9 Batch Operations > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The batch processing feature is available in SAP S/4HANA OData Connector 2.1 and later. You must follow the correct order for structural batch operations, which is as follows: 1. Initiate the batch before adding any requests into it. 2. Do not add requests to the batch or the change set after it is executed. ## Create a Batch Operation To create and process a batch operation, you must: 1. Place the **Initiate Batch** operation in the Mule flow, which returns a unique batch identifier. This unique batch identifier must be stored, for example, in the flow variable, so that it can then be used to group the batch data operations under the common batch request. 2. Use the **Create Change Set** operation to create a new change set. This operation returns a unique change set identifier, which you then use in the **Batch Create**, **Batch Update**, **Delete Entity**, or **Batch Execute Function** operations to add them to the change set. Within a change set, requests are executed sequentially in the order they are added. 3. When you complete the batch, use the **Execute Batch** operation to send the batch request. The **Batch Create Entity**, **Batch Get Entity**, **Batch Query**, and **Batch Execute Function** operations return a JSON result. However, the result of these operations cannot be read until the **Execute Batch** operation is done. If you attempt to read the result before the **Execute Batch** operation is executed, the connector throws an exception. You can store the output of these operations, for instance, into a flow variable, and access the output after the **Execute Batch** operation is executed. After the **Execute Batch** operation is successfully executed, a summary is returned, which contains basic information about the outcome of every batch operation that was included as part of the batch operation. The detailed results of these batch operations are then available to read. ## Troubleshooting Exceptions are thrown in the following circumstances: - An operation references a batch identifier that is invalid, either because: - It was never initiated. - It was already processed as part of an **Execute Batch** operation. - The change set identifier used in that batch operation is not valid. ## See Also - [SAP S/4HANA OData Connector Reference](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # SAP S/4HANA OData Connector 2.9 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt For software requirements and compatibility information, see the SAP S/4HANA OData Connector Release Notes. ## Default Configuration
NameTypeDescriptionDefault ValueRequired

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Time Zone

String

The timezone with which to convert the Date objects returned from S/4HANA.

UTC

Batch Buffer Size

Number

Defines the maximum memory the connector will use to keep batch requests in memory. If more than the specified maximum memory is consumed the connector starts to buffer the content on disk.

512

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which batchBufferSize size is expressed.

KB

Response timeout

Number

Response timeout for the request

30

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request

SECONDS

Encoding

String

Name

String

The identifier of this element, which is also used in other components to reference the element.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances as appropriate.

## Connection Types ### Basic Authentication Basic authentication is the simplest way of enforcing access controls because it does not require cookies, session identifiers, or login pages. Instead, it uses standard fields in the HTTP header, which removes the need for handshakes. This mechanism provides no confidentiality protection for the transmitted credentials. The credentials are encoded with Base64 in transit, but not encrypted or hashed in any other way. #### Parameters
NameTypeDescriptionDefault ValueRequired

Service base URL

String

The base URL of the SAP S/4HANA instance to access from the connector and from which all other endpoints are derived.

x

Cache Entry TTL

Number

The time to live. The time a cache entry is kept in the cache before being evicted. A value of 0 disables the cache.

0

Cache Entry TTL Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Cache Entry TTL field.

MINUTES

EDM Expiration Interval

Number

The interval to check for expired EDM objects in the ObjectStore.

30

EDM Expiration Interval Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the EDM Expiration Interval field.

MINUTES

Username

String

The account username with which to log into SAP S/4HANA.

x

Password

String

The account password with which to log into SAP S/4HANA.

x

Discovery Service Enabled

Boolean

Feature switch for automatic service discovery.

true

Service discovery relative path

String

Relative path from the base URL to the endpoint used for automatic services discovery.

sap/opu/odata/IWFND/CATALOGSERVICE;v=0002/ServiceCollection

s

OData v4 service discovery relative path

String

Relative path from the base URL to the endpoint used for automatic OData v4 service discovery.

sap/opu/odata4/iwfnd/config/default/iwfnd/catalog/0002/ServiceGroups

Scoped service discovery relative path

String

Relative path from the base URL to the endpoint used for automatic services discovery (with custom namespaces) on cloud instances.

sap/opu/odata/IWFND/CATALOGSERVICE;v=0002/ScopedServiceCollection

Unlisted services directory

String

Common HTTP directory for unlisted services and services declared in Service Attribute (if the service URL is not specified). This field enables users to specify service names instead of service URLs in the unlisted services list or enables users to not specify a service URL in Services Attribute. It also enables the connector to construct the service URL by using the following format: {base URL parameter}/{this parameter}/{item from unlisted services list or service name from Service Attribute}.

Unlisted services

Array of String

List of services to add to the list of discovered services. Each item in this list must be a valid service URL, or it must be possible to construct a valid service URL with the following format: {base url parameter}/{service directory parameter}/{item from this list}.

Services attributes

List of services that are added to the list of discovered services. With Service attributes, you can add new services or override existing services.

Default headers

Default HTTP headers to include in the message.

Default query parameters

Default query parameters to include in the request.

Proxy configuration

Proxy configuration for the connector.

Connection timeout

Number

Connection timeout for the request

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Connection timeout unit for the request

SECONDS

Client timeout

Number

Client timeout for the request

30

Client Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Client timeout unit for the request

SECONDS

Retrieve Csrf Token

Boolean

Enables or disables automatic X-CSRF-Token retrieval before a resource-modifying request, such as a POST request.

true

TLS configuration

Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the tls:context child element of the listener-config.

HTTP

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

### OAuth 2.0 Client Credentials Authentication Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). #### Parameters
NameTypeDescriptionDefault ValueRequired

Service base URL

String

The base URL of the SAP S/4HANA instance to access from the connector and from which all other endpoints are derived.

x

Cache Entry TTL

Number

The time to live. The time a cache entry is kept in the cache before being evicted. A value of 0 disables the cache.

0

Cache Entry TTL Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Cache Entry TTL field.

MINUTES

EDM Expiration Interval

Number

The interval to check for expired EDM objects in the ObjectStore.

30

EDM Expiration Interval Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the EDM Expiration Interval field.

MINUTES

Discovery Service Enabled

Boolean

Feature switch for automatic service discovery.

true

Service discovery relative path

String

Relative path from the base URL to the endpoint which will be used for automatic services discovery.

sap/opu/odata/IWFND/CATALOGSERVICE;v=0002/ServiceCollection

OData v4 service discovery relative path

String

Relative path from the base URL to the endpoint used for automatic OData v4 service discovery.

sap/opu/odata4/iwfnd/config/default/iwfnd/catalog/0002/ServiceGroups

Scoped service discovery relative path

String

Relative path from the base URL to the endpoint used for automatic services discovery with custom namespaces on cloud instances.

sap/opu/odata/IWFND/CATALOGSERVICE;v=0002/ScopedServiceCollection

Unlisted services directory

String

Common HTTP directory for unlisted services and services declared in Service Attribute (if the service URL is not specified). This field enables users to specify service names instead of service URLs in the unlisted services list or enables users to not specify a service URL in Services Attribute. It also enables the connector to construct the service URL by using the following format: {base URL parameter}/{this parameter}/{item from unlisted services list or service name from Service Attribute}.

Unlisted services

Array of String

List of services to add to the list of discovered services. Each item in this list must be a valid service URL, or it must be possible to construct a valid service URL with the following format: {base url parameter}/{service directory parameter}/{item from this list}.

Services attributes

List of services that are added to the list of discovered services. With Service attributes, you can add new services or override existing services.

Default headers

Default HTTP headers to include in the message.

Default query parameters

Default query parameters to include in the request.

Proxy configuration

Proxy configuration for the connector.

Connection timeout

Number

Connection timeout for the request

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Connection timeout unit for the request

SECONDS

Client timeout

Number

Client timeout for the request

30

Client Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Client timeout unit for the request

SECONDS

Retrieve Csrf Token

Boolean

Enables or disables automatic X-CSRF-Token retrieval before a resource-modifying request, such as a POST request.

true

TLS configuration

Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the tls:context child element of the listener-config.

HTTP

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Client Id

String

The OAuth client ID as registered with the service provider.

x

Client Secret

String

The OAuth client secret as registered with the service provider.

x

Token Url

String

The service provider’s token endpoint URL.

https://{host-name}/{oauth-service}/{generate-token-resource}

Scopes

String

The OAuth scopes requested during the dance. If not provided, it defaults to those in the annotation.

Object Store

String

A reference to the object store used to store each resource owner ID’s data. If not specified, Mule automatically provisions the default object store.

## Supported Operations - [Batch Create Entity](#BatchCreateEntity) - [Batch Delete Entity](#BatchDeleteEntity) - [Batch Execute Function](#BatchExecuteFunction) - [Batch Get Entity](#BatchGetEntity) - [Batch Query Entity](#BatchQuery) - [Batch Update Entity](#BatchUpdateEntity) - [Batch Upsert Custom Business Object](#BatchUpsertCustomBusinessObject) - [Create Change Set](#CreateChangeSet) - [Create Entity](#CreateEntity) - [Delete Entity](#DeleteEntity) - [Execute Batch](#ExecuteBatch) - [Execute Function](#ExecuteFunction) - [Get Entity by Key](#GetEntity) - [Initiate Batch](#InitiateBatch) - [Query](#Query) - [Unauthorize](#Unauthorize) - [Update Entity](#UpdateEntity) ## Batch Create Entity `` This operation adds a create entity request into the batch. This is a dynamic operation that returns what the OData specification states will be returned by the operation. The result of the operation will be an empty JSON if this request was not processed by the server successfully. The result will be available only after executing the **Execute batch** operation. Accessing the result before the **Execute batch** operation is executed results in an error. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior.

Batch ID

String

Batch identifier

x

Change set ID

String

Change set identifier

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Entity

Object

The entity in the SAP S/4HANA instance that is affected. This entity must be of the type defined in the Entity type parameter.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters to include in the request. The custom query parameters specified here overwrite the default query parameters specified in the configuration.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable in which to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Any

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_CHANGE\_SET\_ID - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED ## Batch Delete Entity `` Adds a delete entity request into the batch. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Batch ID

String

Batch identifier

x

Change set ID

String

Change set identifier.

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Entity key

Object

The object that identifies the entity sought, which may itself be an object. This is defined by the type of entity selected.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters to include in the request. The custom query parameters specified here will overwrite the default query parameters specified in the configuration.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Reconnection Strategy

A retry strategy in case of connectivity errors.

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_CHANGE\_SET\_ID - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED ## Batch Execute Function `` This operation adds an execute function request (invoke request) to the batch. The result of the operation will be an empty JSON if this request was not processed by the server successfully. The result will be available only after executing the **Execute batch** operation. Accessing the result before the **Execute batch** operation is executed will cause an error. You are required to specify the change set identifier for the **Change set ID** parameter only if **Execute Batch Function** is executed using a POST HTTP method, otherwise do not specify the changet set identifier. The connector throws an exception: - If the change set identifier is not specified and the POST HTTP method is used - When the change set identifier is specified and the **Execute Batch Function** uses GET HTTP method ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior.

Batch ID

String

Batch identifier

x

Change set ID

String

Change set identifier

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Function Name

String

The name of the function to execute.

x

Input parameters

Object

The parameters of the function wrapped into a single object.

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters to include in the request. The custom query parameters specified here will overwrite the default query parameters specified in the configuration.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Any

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:BATCH\_PROCESSING\_ERROR - S4HANA:CONNECTIVITY - S4HANA:INVALID\_ENTITY - S4HANA:INVALID\_FUNCTION\_PARAMETER - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_CHANGE\_SET\_ID - S4HANA:NO\_SUCH\_FUNCTION - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED ## Batch Get Entity `` Adds a query operation request with a defined key into the batch. This is a dynamic operation, returning whatever the OData specification states will be returned by the operation. Result of the operation will be an empty JSON if this request was not processed by the server successfully. The result will be available only after the Execute batch operation is executed. Accessing the result before the Execute batch operation is executed will lead to an error. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Streaming Strategy

Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior.

Batch ID

String

Batch identifier

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Returned Fields

String

Comma-separated list of selection clauses. Each selection clause may be a Property name, Navigation Property name, or the "*" character. The "*" syntax causes all Properties on an Entry to be included without traversing associations. Use forward slash "/" to select fields of expanded navigation properties. If no field is selected, then all fields are returned.

Expanded properties

String

Comma-separated list of Navigation Properties. Additionally, each Navigation Property can be followed by a forward slash and another Navigation Property to enable identification of a multi-level relationship. Properties of the expanded navigation property will not be part of the payload unless selected.

Entity key

Object

The object that identifies the entity sought, which may itself be an object. This is defined by the type of entity selected.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters to include in the request. The custom query parameters specified here will overwrite the default query parameters specified in the configuration.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Any

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED ## Batch Query Entity `` Adds a query operation request into the batch, filtering the results by the parameters defined. If no filter is added, then all results will be listed. Result of the operation will be an empty JSON if this request was not processed by the server successfully. The result will be available only after the Execute batch operation is executed. Accessing the result before the Execute batch operation is executed will lead to an error. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Streaming Strategy

Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior.

Batch ID

String

Batch identifier

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Returned Fields

String

Comma-separated list of selection clauses. Each selection clause may be a Property name, Navigation Property name, or the "*" character. The "*" syntax causes all Properties on an Entry to be included without traversing associations. Use forward slash "/" to select fields of expanded navigation properties. If no field is selected, then all fields are returned.

Expanded properties

String

Comma-separated list of Navigation Properties. Additionally each Navigation Property can be followed by a forward slash and another Navigation Property to enable identification of a multi-level relationship. Properties of expanded navigation property will not be part of the payload unless selected.

Filter

String

The condition to filter the resulting list of entities.

Order by

String

Allows information to be requested in either ascending or descending order by using the asc or desc suffixes. If asc or desc are not specified, then the resources will be ordered in ascending order.

asc

Maximum returned elements

Number

Limits the number of records to be retrieved by this query.

Skipped record amount

Number

The number of records to skip before starting to return results.

0

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Any

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:RETRY\_EXHAUSTED ## Batch Update Entity `` Adds an update entity request into the batch. This operation works through a PATCH request. This means that any fields that are missing will not be updated. > [!NOTE] Users cannot specify custom namespaces for custom business objects. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Batch ID

String

Batch identifier

x

Change set ID

String

Change set identifier

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Entity

Object

The entity to be affected in the SAP S/4HANA instance. This entity must be of the type defined in the type parameter.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Reconnection Strategy

A retry strategy in case of connectivity errors

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_CHANGE\_SET\_ID - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RESOURCE\_NOT\_FOUND - S4HANA:RETRY\_EXHAUSTED ## Batch Upsert Custom Business Object `` This operation supports upsert for custom business objects. > [!NOTE] Users cannot specify custom namespaces for custom business objects. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. The default is to use repeatable streams.

Batch ID

String

Batch identifier.

x

Change set ID

String

Change set identifier.

x

Service

String

Type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

Name of the entity type to execute.

x

Entity

Object

Custom business object entity of the entity type wrapped into a single object.

#[payload]

Custom headers

Object

Custom headers that the request includes. The custom headers specified here overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request includes. The custom query parameters specified here overwrite the default query parameters specified in the configuration.

Response timeout

Number

How long Mule waits for a response to complete before the request times out.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Timeout field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_CHANGE\_SET\_ID - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RESOURCE\_NOT\_FOUND - S4HANA:RETRY\_EXHAUSTED ## Create Change Set `` Creates a new change set in the batch and returns its identifier. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Batch ID

String

Batch identifier

x

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

String

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:RETRY\_EXHAUSTED ## Create Entity `` Executes a create operation within the connected SAP S/4HANA instance. This is a dynamic operation, returning whatever the OData specification states will be returned by the operation. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Entity

Object

The entity to be affected in the SAP S/4HANA instance. This entity must be of the type defined in the type parameter.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Object

Attributes Type

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_ENTITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_ENTITY\_KEY - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED - S4HANA:SERVER\_ERROR - S4HANA:TIMEOUT - S4HANA:UNAUTHORIZED ## Delete Entity `` Executes a delete operation within the connected SAP S/4HANA instance. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Entity key

Object

The object that identifies the entity sought, which may itself be an object. This is defined by the type of entity selected.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Reconnection Strategy

A retry strategy in case of connectivity errors.

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_ENTITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_ENTITY\_KEY - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED - S4HANA:SERVER\_ERROR - S4HANA:TIMEOUT - S4HANA:UNAUTHORIZED ## Execute Batch `` Executes the batch and returns a summary containing results for all requests of the batch. After this operation is successfully executed, it will be possible to read a detailed result of each batch operation which was a part of this batch. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Service

String

The SAP S/4HANA’s service.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Batch ID

String

Batch identifier

x

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Bulk Operation Result

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:BATCH\_PROCESSING\_ERROR - S4HANA:CONNECTIVITY - S4HANA:NO\_SUCH\_BATCH\_ID - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED ## Execute Function `` Executes an OData-defined function in the SAP S/4HANA instance. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Function Name

String

The name of the function to execute.

x

Input parameters

Object

The parameters of the function wrapped into a single object.

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_FUNCTION\_PARAMETER - S4HANA:NO\_SUCH\_FUNCTION - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED - S4HANA:SERVER\_ERROR - S4HANA:TIMEOUT - S4HANA:UNAUTHORIZED ## Get Entity by Key `` Executes a retrieve operation on the SAP S/4HANA instance filtering the result by key. If no elements are found an error is thrown. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Returned Fields

String

Comma-separated list of selection clauses. Each selection clause may be a Property name, Navigation Property name, or the "*" character. The "*" syntax causes all Properties on an Entry to be included without traversing associations. Use forward slash "/" to select fields of expanded navigation properties. If no field is selected, then all fields are returned.

Expanded properties

String

Comma-separated list of Navigation Properties. Additionally each Navigation Property can be followed by a forward slash and another Navigation Property to enable identifying a multi-level relationship. Properties of expanded navigation property will not be part of the payload unless selected.

Entity key

Object

The object that identifies the entity sought, which may itself be an object. This is defined by the type of entity selected.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Object

Attributes Type

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_ENTITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_ENTITY\_FIELD - S4HANA:NO\_SUCH\_ENTITY\_KEY - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_NAVIGATION\_PROPERTY - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED - S4HANA:SERVER\_ERROR - S4HANA:TIMEOUT - S4HANA:UNAUTHORIZED ## Initiate Batch `` Prepares a new batch and returns its identifier. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Target Variable

String

The name of a variable to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

String

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:RETRY\_EXHAUSTED ## Query `` Executes a retrieve operation on the SAP S/4HANA instance filtering the results by the parameters defined. If no filter is added, then all results will be listed. This is a paginated operation. > [!NOTE] You must enable pagination support in your SAP S/4HANA instance to use this operation. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Streaming Strategy

Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior.

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Returned Fields

String

Comma-separated list of selection clauses. Each selection clause may be a Property name, Navigation Property name, or the "*" character. The "*" syntax causes all Properties on an Entry to be included without traversing associations. Use forward slash "/" to select fields of expanded navigation properties. If no field is selected, then all fields are returned.

Expanded properties

String

Comma-separated list of Navigation Properties. Additionally each Navigation Property can be followed by a forward slash and another Navigation Property to enable identifying a multi-level relationship. Properties of expanded navigation property will not be part of the payload unless selected.

Filter

String

The condition to filter the resulting list of entities.

Order by

String

Allows to request information in either ascending or descending order by using the ?asc? or ?desc? suffixes. If asc or desc not specified, then the resources will be ordered in ascending order.

Maximum returned elements

Number

Limits the amount of records to be retrieved by this query.

Skipped record amount

Number

The amount of records to skip before starting returning results.

0

Page size

Number

The size of the pages retrieved by the query.

100

Legacy Pagination

Boolean

Enable users to use the legacy pagination of version 2.6.2 or earlier.

false

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters that the request will include. The ones specified here will overwrite the default ones specified in the config.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Target Variable

String

The name of a variable in which to store the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Array of Object

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:INVALID\_ENTITY - S4HANA:INVALID\_FILTER - S4HANA:INVALID\_KEY - S4HANA:INVALID\_PAGE\_SIZE - S4HANA:INVALID\_SKIP\_SIZE - S4HANA:INVALID\_TOP\_SIZE - S4HANA:NO\_SUCH\_ENTITY\_FIELD - S4HANA:NO\_SUCH\_ENTITY\_KEY - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_NAVIGATION\_PROPERTY - S4HANA:NO\_SUCH\_SERVICE - S4HANA:NO\_SUCH\_SORTING\_FIELD - S4HANA:SERVER\_ERROR - S4HANA:TIMEOUT - S4HANA:UNAUTHORIZED ## Unauthorize `` Deletes all the access token information of a given resource owner ID so that it’s impossible to execute any operation for that user without repeating the authorization dance. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

### For Configurations - [Default Configuration](#Config) ## Update Entity `` Executes an update operation within the connected SAP S/4HANA instance. This operation will work through PATCH requests. This means that any fields that are missing will not be updated. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component

x

Service

String

The type of service. This is defined from the services available in the SAP S/4HANA instance.

x

Entity type

String

The type of entity over which the operation is executed. This is defined from the types of entities available in the selected service.

x

Entity

Object

The entity in the SAP S/4HANA instance that is affected. This entity must be of the type defined in the type parameter.

#[payload]

Custom headers

Object

Custom headers to include in the request. The custom headers specified here will overwrite the default headers specified in the configuration.

Custom query parameters

Object

Custom query parameters to include in the request. The custom query parameters specified here overwrite the default query parameters that are specified in the configuration.

Response timeout

Number

Response timeout for the request. The timeout specified here overwrites the default timeout that is specified in the configuration.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Response timeout unit for the request. The timeout unit specified here overwrites the default timeout unit specified in the configuration.

Reconnection Strategy

A retry strategy in case of connectivity errors

### For Configurations - [Default Configuration](#Config) ### Throws - S4HANA:CONNECTIVITY - S4HANA:INVALID\_ENTITY - S4HANA:INVALID\_KEY - S4HANA:NO\_SUCH\_ENTITY\_KEY - S4HANA:NO\_SUCH\_ENTITY\_TYPE - S4HANA:NO\_SUCH\_SERVICE - S4HANA:RETRY\_EXHAUSTED - S4HANA:SERVER\_ERROR - S4HANA:TIMEOUT - S4HANA:UNAUTHORIZED ## Types ### Service Attribute Specify additional details about services with namespaces as a separate configuration.
FieldTypeDescriptionDefault ValueRequired

Service Name

String

Service name, which is usually the title in the service catalog. If the URL contains a version suffix, the service name is the part of the URL after the last /. For example, if the URL is {base URL parameter}/sap/opu/odata/sap/SERVICE_NAME;v=0002, the service name is SERVICE_NAME;v=0002. The service name for OData API v4 is different.

x

Service Url

String

URL to the service.

Namespace

String

Custom namespace for the service, if applicable.

### Default Header
FieldTypeDescriptionDefault ValueRequired

Key

String

The key

x

Value

String

The value

x

### Default Query Param
FieldTypeDescriptionDefault ValueRequired

Key

String

The key

x

Value

String

The value

x

### Proxy Configuration
FieldTypeDescriptionDefault ValueRequired

Host

String

Host where the proxy requests is sent.

x

Port

Number

Port where the proxy requests is sent.

x

Username

String

The username to authenticate against the proxy.

Password

String

The password to authenticate against the proxy.

Non Proxy Hosts

Array of String

A list of hosts against which the proxy should not be used.

Ntlm Domain

String

The domain to authenticate against the proxy.

### TLS Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the `tls:context` child element of the `listener-config`.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

A comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

A comma-separated list of cipher suites enabled for this context.

Trust Store

Key Store

Revocation Check

### Truststore
FieldTypeDescriptionDefault ValueRequired

Path

String

The location (which will be resolved relative to the current classpath and file system, if possible) of the truststore.

Password

String

The password used to protect the truststore.

Type

String

The type of store used.

Algorithm

String

The algorithm used by the truststore.

Insecure

Boolean

If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk.

### Keystore
FieldTypeDescriptionDefault ValueRequired

Path

String

The location (which will be resolved relative to the current classpath and file system, if possible) of the keystore.

Type

String

The type of store used.

Alias

String

When the keystore contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default.

Key Password

String

The password used to protect the private key.

Password

String

The password used to protect the keystore.

Algorithm

String

The algorithm used by the keystore.

### Standard Revocation Check
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Only verify the last element of the certificate chain.

Prefer Crls

Boolean

Try CRL instead of OCSP first.

No Fallback

Boolean

Do not use the secondary checking method (the one not selected before).

Soft Fail

Boolean

Avoid verification failure when the revocation server can not be reached or is busy.

### Custom OCSP Responder
FieldTypeDescriptionDefault ValueRequired

Url

String

The URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response (must be in the truststore), if present.

### CRL File
FieldTypeDescriptionDefault ValueRequired

Path

String

The path to the CRL file.

### Reconnection
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

The reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy will run in a separate, non-blocking thread.

Count

Number

How many reconnection attempts to make.

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy will run in a separate, non-blocking thread.

### Expiration Policy
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it’s considered eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A time unit that qualifies the maxIdleTime attribute

### Repeatable In Memory Stream When streaming in this mode, Mule does not use the disk to buffer the contents. If you exceed the buffer size, the message fails.
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory that will be allocated to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then the buffer expands according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize.

Buffer Size Increment

Number

This specifies how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

Max Buffer Size

Number

The maximum amount of memory to use. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised. A value lower than or equal to zero means no limit.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which all these attributes are expressed

### Repeatable File Store Stream File store repeatable streams require buffering, and there are different buffering strategies. Mule keeps a portion of contents in memory. If the stream contents are larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.
FieldTypeDescriptionDefault ValueRequired

In Memory Size

Number

Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which maxInMemorySize is expressed

### Non-repeatable Stream You can disable the repeatable stream functionality and use non-repeatable streams, which can have less performance overhead, memory use, and cost.
FieldTypeDescriptionDefault ValueRequired

Transactional Action

Enumeration, one of:

  • ALWAYS_JOIN

  • JOIN_IF_POSSIBLE

  • NOT_SUPPORTED

The type of joining action that operations can take regarding transactions.

JOIN_IF_POSSIBLE

### Response Attributes
FieldTypeDescriptionDefault ValueRequired

Headers

Object

Status Code

Number

### Bulk Operation Result
FieldTypeDescriptionDefault ValueRequired

Id

Any

Items

Array of Bulk Item

Successful

Boolean

### Bulk Item
FieldTypeDescriptionDefault ValueRequired

Exception

Any

Id

Any

Message

String

Payload

Any

Status Code

String

Successful

Boolean

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of instances that is initially be allowed to be kept in memory to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize.

100 instances

Buffer Size Increment

Number

This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

100 instances

Max Buffer Size

Number

The maximum amount of memory to use. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised. A value lower than or equal to zero means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

The maximum amount of instances that will be kept in memory. If more than that is required, then it will start to buffer the content on disk.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which maxInMemorySize is expressed

## See Also [Salesforce Help](https://help.salesforce.com) --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # Upgrading and Migrating SAP S/4HANA OData Connector to 2.x > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Upgrade Anypoint Connector for SAP S/4HANA OData (SAP S/4HANA OData Connector) to take advantage of the increased security offered by using OAuth 2.0 authentication to connect to SAP S/4HANA OData. ## Supported Upgrade Paths This is a direct upgrade from version 1.2.1 version to 2.x.x.
From VersionTo Version

1.2.1

2.x.x

## What’s Changed ### 2.9 - The **Batch update entity** operation now uses the correct syntax for the OData v4 URI for fields that have the EDM type as GUID. - The connector now throws the correct error types: - When there is an invalid filter provided in the operation, the connector now throws `S4HANA:INVALID_FILTER` instead of `S4HANA:INVALID_ENTITY`. - When there are authentication issues (such as an incorrect username, password, or URL), the connector now throws `S4HANA:UNAUTHORIZED` instead of `S4HANA:NO_SUCH_SERVICE`. - The connector now proactively re-triggers service discovery before each operation if the service list is empty. ### 2.8 - SAP S/4HANA OData Connector now provides support for old pagination logic (version 2.6.2 and earlier) in the **Query** operation. To support this change, a Legacy Pagination checkbox is added in the Advanced tab of the **Query** operation. ### 2.7 - SAP S/4HANA OData Connector now provides support for OData API v4 in addition to OData API v2. To support OData API v4, the connector now includes the new **OData v4 service discovery relative path** field in the connection types. For information about the **OData v4 service discovery relative path** field, see [SAP S/4HANA OData Connector Reference](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-reference). ### 2.6 The connector now supports custom namespaces. To support custom namespaces, the connector now includes the new **Scoped service discovery relative path** and **Services attributes** fields in the connection types and the new **Service Attribute** type. Use custom namespaces to define and organize custom objects and developments, such as programs, function modules, or tables. The naming convention for a custom namespace is `Z` or `Y` followed by an identifier. For example, if there are custom programs that manage customer data, you can create a custom namespace called `ZCUST` to organize all custom programs related to customer data. Custom namespaces enable you to maintain better control over your custom objects and developments and avoid naming conflicts with SAP standard objects or custom objects by other organizations, as well as improve the maintainability and upgradability of the system. ### 2.5 You can now use the new **Batch Upsert Custom Business Object** operation and the modified **Batch update entity** operation to support custom business objects. ### 2.4 Added support for a configurable cache of metadata for S/4HANA services to improve performance by not executing a metadata request in every operation call. ### 2.3 Added support to enable or disable the automatic retrieval of a CSRF token before a resource-modifying request, such as a POST request. ### 2.2 You can now configure the response, client, and connection timeout parameters. ### 2.1 SAP S/4HANA OData Connector now provides support for the OData APIs exposed by SAP S/4HANA S/4HANA on-premise. ### 2.0 - OAuth 2.0 is now supported. The **OAuth 2.0 Application Connection Provider** option is added to **Connection** types. For information about the configuration parameters for this connection type, see [SAP S/4HANA OData Connector Reference](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-reference). - Mule runtime engine (Mule) 4.2.1 or later is required. - The default value for the **Service directory** field was removed. - Because the base package has changed, all exported classes now have different fully qualified names. - The group ID of the connector’s JAR has changed. ## Requirements and Limitations Be aware of the following requirements and limitations before you upgrade to the latest version. ### Requirements You must use Mule 4.2.1 or later. ### Limitations This upgrade breaks backward compatibility with 1.x.x versions of the connector. ## Upgrade Prerequisites Before you upgrade, create a backup of your files, data, and configurations in case you need to restore to them. ## Upgrade Steps Follow these steps to perform the upgrade: 1. In Anypoint Studio, create a Mule project. 2. In the **Mule Palette** view, click **Search in Exchange**. 3. In **Add Dependencies to Project**, enter `sap s/4hana odata` in the search field. 4. In **Available modules**, select **SAP S/4HANA OData Connector** and click **Add**. 5. Click **Finish**. 6. Verify that the `mule-sap-s4hana-cloud-connector` dependency version is updated to the version of the connector you are using in the `pom.xml` file in the Mule project. Studio upgrades the connector automatically. ## Post Upgrade Steps After you install the latest version of the connector, verify the upgrade: 1. In Studio, verify that there are no errors in the **Problems** or **Console** views. 2. Verify that there are no problems in the project `pom.xml` file. 3. Test the connection and verify that the operations work. ## Troubleshooting If there are problems with caching the parameters and metadata, try restarting Studio. ## Revert the Upgrade If it is necessary to revert to the previous version of SAP S/4HANA OData Connector, change the `mule-sap-s4hana-cloud-connector` dependency version in the project’s `pom.xml` to the version to which you want to revert. ## See Also [Salesforce Help](https://help.salesforce.com) --- product: SAP S/4HANA OData Connector version: 2.9 is-latest-version: true --- # Using Anypoint Studio to Configure SAP S/4HANA OData Connector 2.9 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure an input source for the connector’s flow](#configure-input-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [SAP S/4HANA OData Connector Reference](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-reference). ## Create a Mule Project In Anypoint Studio, create a new Mule project in which to add and configure the connector: 1. From the Studio main menu, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add Anypoint Connector for SAP S/4HANA OData to a Mule project to automatically populate the project’s XML code with the connector’s namespace and schema location, as well as to add the required dependencies to the project’s `pom.xml` file. 1. In the **Mule Palette** view, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `sap s/4hana odata` in the search field. 3. Click the connector name in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. The act of dragging the connector’s operation from the palette onto the Anypoint Studio canvas automatically populates the XML code with the connector namespace and schema location. Possible source operations for this connector are: - HTTP Listener Starts your app using a browser or a command such as `curl` - Scheduler Starts your app at timed intervals In Studio, drag the input operation you choose from the **Mule Palette** to the **Source** panel in the canvas, and supply the required parameters. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you immediately define a specific operation for that connector to perform. To add an operation for SAP S/4HANA OData Connector, follow these steps: 1. In the **Mule Palette** view, select **SAP S/4HANA OData** and then select the desired operation. 2. Drag the operation onto the Studio canvas to the right of the input source. ## Global Configuration Elements To use SAP S/4HANA OData Connector in a Mule app, configure a connector global element for connector operations to use in your application. You can put placeholder values in the `mule-artifact.content` configuration file in the `src/main/resources` folder of your project. You can either enter your credentials in the global configuration content or reference a configuration file that contains the values for your credentials. Using a configuration file is recommended for simpler maintenance and better reuse of your project. Keeping these values in a separate file is useful if you need to deploy to different environments, such as production, development, and QA, where access credentials might differ. For more information, see [Use Property Placeholders for Property Values](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview#property-placeholders). ### Configure a Global Element Use the **Global Element Properties** configuration dialog to configure a global element for SAP S/4HANA OData Connector: 1. In your project, click the **Global Elements** tab at the base of the canvas. 2. In the **Global Configuration Elements** screen, click **Create**: ![Global configuration elements screen with Create button](/mulesoft/current/en-us/sap-s4hana-cloud-connector/latest/_images/sap-hana-global-config-wizard.png) 3. In the **Choose Global Type** wizard, expand **Connector Configuration**, select **SAP S 4HANA Config**, and click **OK**. 4. Configure the following values in the **General** tab: 1. In the **Connection** drop-down menu, select the connection type: - **Basic authentication** For basic authentication, enter the following required values: - **Service Base URL** The URL of the SAP S/4HANA instance you want to manage - **Username** The user name used to initialize the session - **Password** The password used to authenticate the user - **OAuth 2 Application Connection Provider** In OAuth 2.0 authentication, a TLS context that comes with a truststore can’t be added because the SDK doesn’t expose the TLS context afterward. For OAuth 2.0 authentication, enter this required information: - **Service base URL** The base URL of the service provider of the SAP S/4HANA system to access from the connector. All other endpoints are derived from this base URL. - **Client ID** The OAuth client ID that is registered with the service provider - **Client secret** The OAuth client secret that corresponds to the client ID and is registered with the service provider. - **Token URL** Token URL that corresponds to the URL of the endpoint that provides the access tokens 5. Click **OK**. 6. Click **Test Connection** to ensure that your access credentials are correct. 7. Click the **Advanced** tab inside the **Connection** section to configure the following values:
Studio FieldDescription

Discovery Service Enabled

Feature switch for service discovery. If disabled, the service discovery relative path is not applied.

Discovery Service Path

Relative path from the base URL to the service to use for automatic services discovery.

Service directory

Common HTTP directory for all SAP services. You can leave this parameter blank and then specify the HTTP directory individually for every service in the unlisted services list.

Unlisted services

List of services to add to the list of discovered services.

Service discovery resolution timeout

Connection timeout for service discovery.

Service discovery timeout unit

Time unit to use in the service discovery resolution timeout configuration.

Default headers

Custom headers that can be included in each request sent.

Default query parameter

Custom query parameters to include in each request sent.

TLS configuration

TLS configuration.

Proxy configuration

Configuration for executing requests through a proxy.

Connection timeout

Connection timeout for the request.

Connection timeout unit

Connection timeout unit for the request.

Client timeout

Client timeout for the request.

Client timeout unit

Client timeout unit for the request.

8. Click the **Advanced** tab in the configuration window to configure the following values:
Studio FieldDescription

Time zone

The time zone to which the Date objects returned from S/4Hana are converted.

Batch buffer size

The maximum memory the connector can use to keep batch requests in memory. Any requests requiring additional memory are buffered on disk.

Buffer unit

The unit of measure in which the batch buffer size parameter is expressed.

Response timeout

Response timeout for the request.

Response timeout unit

Response timeout unit for the request.

9. Click **OK** to save the global connector configuration. ## Next Step After configuring the SAP S/4HANA OData Connector for use in Studio, see the [Examples](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-examples) topic for more Studio information. ## See Also - [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview) - [SAP S/4HANA OData Connector Reference](https://docs.mulesoft.com/sap-s4hana-cloud-connector/latest/sap-s4hana-cloud-connector-reference) - [Salesforce Help](https://help.salesforce.com)