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
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:
administrate, config user role, monitor message status
create sales order
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'
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
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.
The username will load automatically if communication system selected.
All available inbound services list out here which call from external integration flow or third-party system.
The user for outbound service call will load automatically if communication system selected previously.
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.
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.