---
schema_version: "1"
id: fefbb150a916b16c683900d551d45729d54c9bc39547d2d39516a5a323f9922f
title: SAP S/4HANA Setup Guide
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/consumer-goods/latest/sap-s4hana-setup-guide.md
canonical_url: https://docs.mulesoft.com/consumer-goods/latest/sap-s4hana-setup-guide
source_site: docs.mulesoft.com
content_type: documentation
content_hash: db3d444dec27430e7d1b2fc78f808ff0779f28cdd992202b6c3ec7f9a0f33f01
description: MuleSoft Documentation Site
release: "5.3"
latest: true
---
---
product: Consumer Goods
version: 5.3
is-latest-version: true
---

# SAP S/4HANA Setup Guide

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

The following describes how to configure and test an S/4HANA Cloud SOAP outbound service (Product
replication: `productmdmbulkreplicaterequest`) and the S/4HANA Cloud SOAP Connector as a Mule
application deployed on Cloudhub.

## Configurations in S/4HANA

To make the necessary configurations in S/4HANA:

1.  Create a **Communication System** in the corresponding Fiori app. This communication system
    represents the external system that will consume the S/4HANA Cloud SOAP service. In this
    example, it’s named "COM\_0009\_SOAP\_OUT":

    ![SAP S/4HANA Create Communication System](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-01.png)

2.  For the 'Business System' name, use the same name of the System ID.

3.  In the 'Host Name' field, enter the hostname of the Mule application deployed on Cloudhub (if
    you don’t have it yet, you can enter a mock URL and then modify it later):

    ![SAP S/4HANA Communication System with Host Name field](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-02.png)

4.  Create a user that will be used to connect to the Cloud Hub app for sending product information
    in the outbound scenario (this is necessary even though the Mule application does not validate
    the user; we used any user for outbound):

    ![SAP S/4HANA user creation](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-03.png)

5.  Use the **Communication Arrangement** Fiori app to create a new Communication Arrangement:

    ![SAP S/4HANA Create Communication Arrangement](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-04.png)

6.  Create a new **Communication Arrangement**, select the communication scenario "SAP\_COM\_0009",
    and then define a specific name for the arrangement, "SAP\_COM\_0009\_SOAP".

7.  In the **Communication System** field, select the Communication System created in the previous
    step:

    ![SAP S/4HANA Communication Arrangement with Communication System selected](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-05.png)

8.  For outbound communication, select the previously-created user and configure the **Product
    Master - Replicate from SAP S/4HANA Cloud to Client** and include the following settings. Make
    sure to note the Path (`/sap/bc/srt/scs/sap/productmdmbulkreplicaterequest`) because we will use
    this path to configure the Mule application SOAP endpoint:

    - Set the Service status to **Active**

    - Replication Model (any name)

    - Replication model = I (Initial)

    - The Output Mode = D (Direct).

      ![SAP S/4HANA outbound service with Service Status set to Active](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-06.png)

      ![SAP S/4HANA outbound service Replication Model settings](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-07.png)

      ![SAP S/4HANA outbound service Output Mode settings](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-08.png)

9.  Save it. All configurations at S/4HANA Cloud side are finished and you will be able to download
    the WSDL that contains the metadata to import into the S/4HANA Cloud SOAP Connector into the
    Mule application.

## Configurations in the Mule Application

The following example describes how to create a Mule application using the Outbound Message Listener
operation of MuleSoft’s SAP S/4HANA SOAP Connector:

1.  Create a Mule project and add the appropriate connector from Exchange to the Mule Palette:

    ![Anypoint Studio Mule Palette with SAP S/4HANA SOAP Connector](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-09.png)

2.  Add and configure the **Outbound Message Listener** to the canvas:

    ![Anypoint Studio Outbound Message Listener configuration](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-10.png)

3.  Add the corresponding WSDL path to the WSDL you downloaded from S/4HANA Cloud and create the
    HTTP listener configuration:

    ![Anypoint Studio SAP S/4HANA SOAP Connector WSDL configuration](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-11.png)

    ![Anypoint Studio HTTP Listener configuration](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-12.png)

    _\*Note\*: we are using no authentication on the Mule Application, so we used the Insecure
    option for the Trust Store Configuration. In the Keystore configuration, we used a test
    Keystore, which is mandatory for HTTPS communication:_

    ![Anypoint Studio TLS configuration with insecure trust store](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-13.png)

4.  Select the Message type that the connector expects to receive from SAP (the connector reads the
    metadata from the WSDL we configured):

    ![Anypoint Studio SAP S/4HANA SOAP message type selection](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-14.png)

5.  On the Responses tab, use the status Code "202" and the Reason-Phrase "Accepted" because we want
    to send the same status that S/4HANA Cloud will send if the service invocation results OK. No
    payload will be returned as a response—​just the Status code and Reason-phrase:

    ![Anypoint Studio response configuration with HTTP status 202 Accepted](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-15.png)

6.  Use a **Logger** component to log the inbound XML payload:

    ![Anypoint Studio Logger component configuration](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-16.png)

    _The Mule flow should look like the following:_

    ![Anypoint Studio flow for receiving SAP S/4HANA product replication messages](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-17.png)

7.  Deploy the application to Cloudhub. You’re now ready to test the scenario.

## Testing the scenario

To test the scenario:

1.  Create the following. You only need to create a material in the corresponding Fiori app of
    S/4HANA Cloud:

    ![SAP S/4HANA material creation](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-18.png)

    ![SAP S/4HANA material data entry](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-19.png)

    ![SAP S/4HANA material configuration](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-20.png)

    ![SAP S/4HANA material save](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-21.png)

    _After you save the new material, you should see the following confirmation in S/4HANA Cloud:_

    ![SAP S/4HANA confirmation that the material was saved](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-22.png)

    _The following shows the XML message received at the Mule application at the Runtime Manager on
    Cloudhub:_

    ![Anypoint Runtime Manager log with the received product replication message](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-23.png)

2.  See the sent message in the Message Dashboard Fiori Application:

    ![SAP S/4HANA Message Dashboard with sent product replication message](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-24.png)

3.  Select the date:

    ![SAP S/4HANA Message Dashboard date selection](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-25.png)

4.  Search under **CMD:Product Integration - /CMDPR → Product Replication to Client via Service -
    PRDREQ\_OUT/00001 namespace**:

    ![SAP S/4HANA Message Dashboard search for product replication messages](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-26.png)

    ![SAP S/4HANA product replication message details](/mulesoft/current/en-us/retail/latest/_images/retail-sap-s4hana-setup-guide-27.png)

## S/4HANA customization guide

The following provides guidance on the custom fields that you must create for both the customer and
order sync use cases to function in an end-to-end manner.

Create the following new fields in the corresponding objects for the use case:

<table><colgroup><col> <col> <col> <col> <col> <col></colgroup><thead><tr><th>Salesforce Object</th><th>Field Name</th><th>Data Type</th><th>Length</th><th>Unique</th><th>ExternalId</th></tr></thead><tbody><tr><td><p>BusinessPartner</p></td><td><p>YY1_SME_MPARTYROLEID_bus</p></td><td><p>Text</p></td><td><p>36</p></td><td><p>Y</p></td><td><p>Y</p></td></tr><tr><td><p>SalesOrder</p></td><td><p>YY1_SME_MORDERID_SDH</p></td><td><p>Text</p></td><td><p>36</p></td><td><p>Y</p></td><td><p>Y</p></td></tr><tr><td><p>Product</p></td><td><p>YY1_SME_UnvProductId_PRD</p></td><td><p>Text</p></td><td><p>36</p></td><td><p>Y</p></td><td><p>Y</p></td></tr></tbody></table>

The following provides guidance on the custom fields that you must create for both the customer and
product sync from SAP S/4HANA to Salesforce Consumer Goods Cloud.

Create the following fields using the app Custom fields:

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>SAP Field Name</th><th>Label</th><th>Data Type</th><th>Length</th><th>SAP Business Context</th></tr></thead><tbody><tr><td><p>YY1_SME_ParentID_RTL</p></td><td><p>Parent ID</p></td><td><p>Text</p></td><td><p>10</p></td><td><p>Master Data: Business Partner</p></td></tr><tr><td><p>YY1_SME_AccouTemp_RTL</p></td><td><p>Account template</p></td><td><p>Text</p></td><td><p>50</p></td><td><p>Master Data: Business Partner</p></td></tr><tr><td><p>YY1_SME_KAM_Prod_RTL</p></td><td><p>KAM Products</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Comp_Prod_RTL</p></td><td><p>Competitive Product</p></td><td><p>Checkbox</p></td><td><p>1</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Prod_Temp_RTL</p></td><td><p>Product template</p></td><td><p>Text</p></td><td><p>50</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Prod_Code_RTL</p></td><td><p>Product code</p></td><td><p>Text</p></td><td><p>50 Master Data: Product General</p></td><td></td></tr><tr><td><p>YY1_SME_Shrt_PCode_RTL</p></td><td><p>Short Product Code</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Sell_Code_RTL</p></td><td><p>Sell in Code</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Asset_Temp_RTL</p></td><td><p>Asset Template</p></td><td><p>Text</p></td><td><p>20</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_PackSize_RTL</p></td><td><p>Pack Size</p></td><td><p>Decimal</p></td><td><p>12</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_PackSizeUn_RTL</p></td><td><p>Pack Size Unit</p></td><td><p>Text</p></td><td><p>10</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_ProdForm_RTL Product Form</p></td><td><p>Text</p></td><td><p>10</p></td><td><p>Master Data: Product General</p></td><td></td></tr><tr><td><p>YY1_SME_Category_RTL</p></td><td><p>Category</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_SubCategor_RTL</p></td><td><p>SubCategory</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Brand_RTL</p></td><td><p>Brand</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Flavor_RTL</p></td><td><p>Flavor</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Package_RTL</p></td><td><p>Package</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Prod_Desc1_RTL</p></td><td><p>Description 1</p></td><td><p>Text</p></td><td><p>50</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_Prod_Desc2_RTL</p></td><td><p>Description 2</p></td><td><p>Text</p></td><td><p>40</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_DlvValFrom_RTL</p></td><td><p>Delivery Valid From</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_FieldValFr_RTL</p></td><td><p>Field Valid From</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_KAMValFrom_RTL</p></td><td><p>KAM Valid From</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_NewItmVldF_RTL</p></td><td><p>New Item Valid From</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_FundValiFr_RTL</p></td><td><p>Fund Valid From</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_DlvValThru_RTL</p></td><td><p>Delivery Valid Thru</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_FieldValTh_RTL</p></td><td><p>Field Valid Thru</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_KAMValThru_RTL</p></td><td><p>KAM Valid Thru</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_NewItmVldT_RTL</p></td><td><p>New Item Valid Thru</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_FundValiTh_RTL</p></td><td><p>Fund Valid Thru</p></td><td><p>Date</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_ManItemNmb_RTL</p></td><td><p>Manufacturer Item Number</p></td><td><p>Text</p></td><td><p>20</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_EstimValue_RTL</p></td><td><p>Estimated Value</p></td><td><p>Text</p></td><td><p>20</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_PowSuppCon_RTL</p></td><td><p>Power Supply Connected</p></td><td><p>Checkbox</p></td><td><p>N/A</p></td><td><p>Master Data: Product General</p></td></tr><tr><td><p>YY1_SME_HierarchID_RTL</p></td><td><p>Hierarchy Identifier</p></td><td><p>Code List</p></td><td><p>2</p></td><td><p>Master Data: Product General</p></td></tr></tbody></table>

As YY1\_SME\_HierarchID\_RTL data type is Code list, the possible values for are:

<table><colgroup><col> <col></colgroup><thead><tr><th>Code Value</th><th>Description</th></tr></thead><tbody><tr><td><p>CA</p></td><td><p>Category</p></td></tr><tr><td><p>SU</p></td><td><p>Subcategory</p></td></tr><tr><td><p>BR</p></td><td><p>Brand</p></td></tr><tr><td><p>FL</p></td><td><p>Flavor</p></td></tr><tr><td><p>PR</p></td><td><p>Product</p></td></tr></tbody></table>

On the section ‘UIs and Reports’ for each field enable the corresponding UI app (Business Partner or
Product basic data) and the option OData extension model and publish.

To add the fields into each app, use the option Adapt UI from your profile.

## See Also

- [Prerequisites](https://docs.mulesoft.com/consumer-goods/latest/prerequisites)

- [MuleSoft Accelerator for Consumer Goods](https://docs.mulesoft.com/consumer-goods/latest/)
