Skip to Content
Technical Articles
Author's profile photo Arvin Wu

Integrate SAP S/4HANA Cloud with third-party Warehouse Management System(WMS) by SAP Cloud Platform Integration Suite – Part 2

When you setup a third-party warehouse management system outside of SAP S/4HANA Cloud system, and you need implement shipping order, storage change advice or data exchanging between two systems. This communication works base on SAP Application Interface Framework and SAP Cloud Platform Integration Suite.

What you will learn

⭐ How to setup communication system/arrangement in SAP S/4HANA Cloud system
⭐ How to activate message outbound call in SAP S/4HANA Cloud
⭐ How to check message status in message monitoring


Prerequisites

Environment

  • SAP S/4HANA Cloud system preparation
    SAP S/4HANA Cloud system take main ERP core system role in the integration scenario. This use case base on SAP_COM_0440 (All SAP S/4HANA Cloud extensions works as communication scenarios, which means any scenarios should have a unique scenario ID) This integration scenario needs public network access, so we select external system for the demo. These user roles will be used, or your user should have related business role:

    User Role Comments
    administrator administrate, config user role, monitor message status
    internal_sales_rep create sales order
    shipping_specialist create shipping order

    These business users have already enabled in SAP S/4HANA Cloud system, generally no need additional configuration on these business users.

Create communication between SAP S/4HANA Cloud and integration flow endpoint


Step 1: Maintain Communication User

In SAP S/4HANA Cloud, we should setup one user for inbound API call which consumed by the integration flow or third-party system. We call this user as communication user.
Login SAP S/4HANA Cloud system as user administrator(Business role: SAP_BR_ADMINISTRATOR), open tile Maintain Communication Users on Launchpad.
Create new communication user, we name the username in CPI_INBOUND_USER, suggest use system proposed password and save it on your local disk for later using.

Step 2: Create communication system

Go back to home page, click Communication Systems tile to access the app.

  • Configure System ID & System Name
    Type unique communication system name. You can define your own ID & name
  • Configure Technical Data
    Host Name: It should be the host name in shipping_order integration flow’s endpoint (Refer to Step 7 in blog post Part 1). Logical System/Business System: Define it by yourself
    Notes: Only the host name not entire URL here, exclude the ‘https://’ and ‘/path’
  • Configure port
    Keep port 443 as usual.
  • Add Inbound user
    Select Inbound communication user by clicking the “+”, select CPI_INBOUND_USER from the list.

  • Add Outbound user
    Configure the Outbound communication user, click “+”, select New Name and Password, type clientid as User Name and type clientsecret as Password
    Notes: Fetch the clientid and clientsecret in Process Integration Runtime instance key. Please refer to Prerequisites in blog post Part 1 for details.

Step 3: Create Communication Arrangements

Go back to home page, click Communication Arrangements tile to access the app.

  • Create new communication arrangement
    Click New button to create new communication arrangement, choose scenario SAP_COM_0440 from list.
  • Common Data configuration
    Arrangement Name: Type your name
    Communication System: Select “1203_HONGLIAN” from the list
  • Additional Properties
    The warehouse number is third-party warehouse number which setup in SAP S/4HANA Cloud. This configuration is mandatory and critical for the message communication between SAP S/4HANA Cloud and third-party warehouse management system. SAP S/4HANA Cloud monitoring this warehouse number if some new documents created or some documents updated, and then trigger message posting action accordingly.
  • Inbound Communication
    The username will load automatically if communication system selected.
  • Inbound Services
    All available inbound services list out here which call from external integration flow or third-party system.
  • Outbound Communication
    The user for outbound service call will load automatically if communication system selected previously.
  • Outbound Services
    Activate Warehouse Shipping Order – Send to Warehouse in Outbound Services list. type correct path which displays in Step 7 of blog post Part 1. Make sure the Service URL match the integration flow’s URL entirely(Ignore the port 443 in the URL, SAP S/4HANA Cloud just displays the port explicitly)

Test message communication in SAP S/4HANA Cloud


  • Create sales order
    Login SAP S/4HANA Cloud by user internal_sales_rep, open app Manage Sales Orders, and then select Create Sales Order-VA01. Input the mandatory fields.
    Double click on item to access items details page, switch to shipping tab, select 3rd Party WMS in storage location list. Save the sales order, memorize the sales order number.
  • Create Outbound Delivery
    Login SAP S/4HANA Cloud by user shipping_specialist, open app Create Outbound Delivery - With Order Reference, input the sales order number and then create the outbound delivery accordingly.
    Check the outbound delivery document status in Document Flow, it displays as Open now.
  • Check outbound message status in SAP S/4HANA Cloud
    Login SAP S/4HANA Cloud system by user administrator, or logon the user that including business catalog SAP_CA_BC_COM_ERR_PC. For quick check, we assign the catalog to user administrator here.
    Open app Message Dashboard, select today in Date/Time, and then Search. Check the namespace Logistics Execution WM Integration-/LE3PL, click the message link to open message details view. Our new created outbound delivery document has already sent out successfully. In addition, the inbound message call will list out in 3PLWSHPADV/1(we could verify it in blog post Part 3)

Test message communication in integration flow


Login the Integration suite tenant and navigate to Overview/Monitor Message Processing page. The new outbound delivery document has already received by our integration flow. We could find out our document details by checking the request payload in integration flow log.

Summary

SAP S/4HANA Cloud has already sent out the outbound delivery document to third-party system now, operator could process the document in the third-party system. When the operator picks up and make real shipping in the third-party system complete, we can call back shipping_advice to SAP S/4HANA Cloud by the shipping_advice integration flow. We will explain how to send SOAP request back to SAP S/4HANA Cloud in blog post Part 3.

Relational links:

Integrate SAP S/4HANA Cloud with third-party Warehouse Management System (WMS) by SAP Cloud Platform Integration Suite – Part 1

Integrate SAP S/4HANA Cloud with third-party Warehouse Management System (WMS) by SAP Cloud Platform Integration Suite – Part 3

Assigned tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Bangbang Bian
      Bangbang Bian

      Dear Arvin

      I saw you just put the CPI endpoint in the communication system.

      also I get a method from SAP other colleagues, how to link the 1ZQ with CPI as below:

      1. Create a 'Communication System' to establish connection between S4HANA Cloud and SAP Cloud Platform Integration

      2. Create 'Communication Scenarios' to store CPI service.

      3. Go to 'Communication Arrangements' to linkup Communication System and Communication Scenarios.

       

      does it also work? I don't not sure how to create the outbound service of the Communication Scenarios. does it in the CDS View App?

      thanks!

       

      Author's profile photo Arvin Wu
      Arvin Wu
      Blog Post Author

      Dear Bangbang Bian

      Exactly, have already added mandatory screenshot on communication scenarios linkup in Step 3.

       

      Regards,

      Arvin

      Author's profile photo Bangbang Bian
      Bangbang Bian

      Dear Arvin

      I was stuck by create the outbound user in step2.

      The process integration services is active. and Our CPI is NEO environment.

       

      I only find the client ID, where can find the client secret  in NEO environment.

       

      thanks!

      Author's profile photo Arvin Wu
      Arvin Wu
      Blog Post Author

      Hi Bangbang,

      My blog post only available for Cloud Foundry environment. You can use your integration suite tenant admin user credential instead of the clientid and clientsecret if you cannot create the service instance in NEO.

       

      Regards,

      Arvin