Technical Articles
How to synchronize material master data of SAP S/4HANA with SAP Customer Checkout
In this blog post, we explain step by step how to configure SAP S/4HANA and SAP Customer Checkout manager to transfer material master data from SAP S/4HANA to SAP Customer Checkout manager. The credits for this blog post go to Harald Tebbe who collected all the required steps that are summarized in this blog. This blog is part of a series that conveys how the out-of-the-box integration of SAP Customer Checkout manager works for the sync materials, business partners, posting of receipts and the stock check.
In the following, we first configure the SAP Customer Checkout manager to provide an inbound endpoint for material master data synchronization calls, and continue then with SAP S/4HANA.
Configuring SAP Customer Checkout manager
First, we configure a technical user in SAP Customer Checkout manager. For that, open the app Users.
The users app in SAP Customer Checkout manager
In the users app, click on the “+” button to create a new user. In the create screen, enter the following:
Select a user name, enter the password, leave the role assignment empty, take the “Force password change” flag out and set the “Technical user” flag to true. This is very important for the following. Leave all other fields empty and save the new user.
The SAP S/4HANA integration user
After saving the user successfully, navigate to the tab “Permissions”, click on Edit and set the permission “Access SAP Customer Checkout manager” to Yes for this user. Save the change.
The permission needs to be set
Go back to the home screen and navigate to the app “Communication systems”. Click on the “+” button to create a new system. Select the scenario “SAP S/4HANA”, enter a name and set the status to “Active”. Save the communication system.
New communication system
In order to receive material master data from SAP S/4HANA, no further configuration is needed in this app. Go back to the home screen and navigate to the app “Communication arrangements”. Click on the “+” button to create the according communication arrangement.
Select the according communication system
Click on Save. As next, navigate to the tab “Configuration”. Click on Edit and in the dropdown for “Inbound user”, select the above created technical user for SAP S/4HANA integration.
Save the change and navigate to the tab “Inbound services”. Here you see two entries, one for the business partner master data sync, one for the material master data. Select the entry “ProductMerchandiseViewReplicationBulk”.
The inbound services for SAP S/4HANA in SAP Customer Checkout manager
In the detail page of the service, click on Edit, set the status of the service to Active and save the change.
The ProductMerchandiseViewReplicationBulk inbound service
Navigate to the tab “Configuration”. Here you can configure the settings of the material inbound call handling for this inbound service. See SAP Help for further information about the settings.
The material inbound service settings
By setting the inbound service to active, a SOAP endpoint got activated and can be consumed. For that, open a new browser tab and enter “http(s)://<servername>:<port>/ccos/soap”. Here all active SOAP endpoints are listed.
The active SOAP endpoints of SAP Customer Checkout manager
With that, SAP Customer Checkout manager is prepared to receive material master data from SAP S/4HANA. In order to have the most convenience after material sync, two further actions should be taken: Configure the plants as POS groups in SAP Customer Checkout manager and adapt the tax settings.
POS group configuration
During the material sync, SAP Customer Checkout manager will create price lists on the fly for each triple of plant, condition type and currency (e.g. ALE1_VKP0_EUR). If the according POS group is found during the sync, SAP Customer Checkout manager will assign the newly created price list automatically with the POS group.
To create a POS group, navigate back to the SAP Customer Checkout manager home screen and open the app “Organizational structure”. Click on the “+” button and select “POS group” to create a new POS group.
New POS group
Do not forget to set the Plant ID field by which the explained mechanism works.
Tax rate configuration
Compare the settings in SAP Customer Checkout manager against the configuration in SAP S/4HANA, if the tax codes and rates are aligned. The same has to be done later between SAP Customer Checkout manager and SAP Customer Checkout. In SAP Customer Checkout manager, these are maintained in the app “Tax rates”.
In the following, we configure the outbound call on SAP S/4HANA side.
Configuring SAP S/4HANA POS outbound
In this section, we create a business system, the replication model and configure the outbound implementation. We will then assign sites to a reference site, set up the SOAP endpoint, define the filter criteria and initiate the call to sync materials.
Replication model
First, we create a business system and define the outbound implementations. Open the transaction DRFIMG.
DRFIMG
Select “Define Technical Settings for Business Systems”. Click here on “New Entries”. Enter in the column “Business System” a name for the business system, e.g., “CCOM”. Leave the other fields empty and click on save. Despite the validation marks the empty columns, the business system is created, which is enough for our purposes.
Create business system in DRFIMG
Once saved, click on Exit to navigate back to the main page. Open the entry “Define Replication Model”.
Create here an new replication model, e.g., “CCOM_POS”. Select the newly created replication model and navigate in the dialog structure to “Assign Outbound Implementation”. Select here the outbound implementation “0100” and save the change.
Select the outbound implementation “0100” and open in the Dialog structure the node “Assign Target Systems for Replication”. Assign here the newly created business system “CCOM” and save the change.
Open the node “Assign Outbound Parameter” in the dialog structure. Here, you can set the parameters that influence prices for which validity period will be sent out, the package sizes, etc..
The outbound parameters
Open the node “Assign Language” to assign languages that shall be supported in outbound calls.
Assign languages
Reference site assignment
Make sure that all changes are stored. As next, we assign the sites to our outbound implementation.
Open the transaction REFSITE.
Reference Site Assignment
Click on “Creation” to create a new reference site. In the dialog, set the group type “POS Outbound” and enter the reference site. Once created, you can select sites to assign receiving stores.
Assign plant
SOA manager
The next step is to configure the web service endpoint in the SOA manager. Open the transaction SOAMANAGER. Select here the link “Web Service Configuration”.
The SOA manager
For the search criterion “Object Name”, enter “ProductMerchandiseViewReplicationBulkRequest_Out” and click on search. In the list below, you will find an entry with the internal name “CO_WART_PRMRCHV_REPLBLKQ_OUT”. Open the entry by clicking on the link.
The entry in the SOA manager
In the opened view, click on “Create” and select “WSDL Based Configuration”.
Select WSDL based configuration
Enter a logical port name and set the logical port as default.
Logical Port Name
In the WSDL Information section, leave the WSDL base as “Via HTTP Access” and enter the URL for the WSDL access. For that, open the SOAP endpoint page of SAP Customer Checkout manager (e.g. http://localhost:6060/ccos/soap), navigate to the WSDL link and copy the URL from the browser URL address input including the “?wsdl” suffix.
The WSDL information
In the section “Binding Selection”, check that one binding is shown as depicted below.
The binding selection
In the section “Customer Security”, enter the user name and password of the technical integration user that we created in the beginning of the blog. All other flags remain as they are.
The user name and password
In the section “HTTPSettings”, no change is needed. Check that the values are set as shown in the screenshot.
The HTTP settings
In the section “SOAP Protocol”, make sure that as RM Protocol “SAP RM” is selected and as Message ID Protocol “SAP Message ID”. If these two values are not set, the communication to SAP Customer Checkout manager will not work successfully.
The SOAP protocol
In the section “Identifiable Business Context”, leave the sender and receiver fields empty and the Suppress sending of IBC identifier on false. In the last section “Operation Settings”, set the flag in the Transport Binding section to false, if set.
Operation Settings
With that, the logical port is finally configured. If not already done, please ensure that the logical port is active and that it is set as default. Otherwise, no call will be sent out.
The logical port overview page after configuration
Use the ping function to check if the connection to your SAP Customer Checkout manager can be established.
Configuring the filter criteria
In the following, we define the filter criteria. Open the transaction DRFF.
Define filter criteria
Select here the Product Merchandise replication model. Set here the filter criteria according to your needs.
Setting the filter criteria
We prepared the SAP S/4HANA POS outbound to send material master data. Let’s initiate a call from SAP S/4HANA to SAP Customer Checkout manager.
Configuring the data replication framework
Open the transaction DRFOUT. Select first our replication model “CCOM_POS”. Then, select the Outbound Implementation “0100”. You can choose between an initial full sync, a delta sync (“Changes”) or a manual selection of articles to be sent out. Select “Initialization” and click on “Execute”.
DRFOUT
The initial load might take a while. Once the call is made, the view changes and the logs are displayed.
The results
By clicking on the magnifier in the “Det.” column, you can drill down and gather more information on the payload generation.
Call monitoring
Open the transaction SRT_MONI. Configure the filter according to the needs and click on Execute.
Here, you can see the status of the call to SAP Customer Checkout manager on SAP S/4HANA side.
The execution overview
Doubleclick on the entry to open the detail page. Here, you can see the payload sent out and access it as well as XML.
Message details
Checking incoming master data calls in SAP Customer Checkout manager
In SAP Customer Checkout manager, you can check if the call has reached and if the payload is processed successfully. For that, you find three apps in the Monitoring section, Inbound call monitoring, Master data queue and Master data results.
In the app “Inbound call monitoring”, we can check if the call from SAP S/4HANA has successfully reached the SAP Customer Checkout manager and at what time precisely. The status is success when the payload of the external system could be mapped and queued properly. The processing itself happens asynchronously.
The inbound calls for master data
In the app “Master data queue”, entries can be seen when payloads are not yet or currently in processing. Once the entries are processed, the results can be seen in the “Master data results” app.
Master data processing results
When an entry is selected, one can see per material in the payload the processing result. If any error came up, these are shown in the “Error message” column.
The processing result details
After all these steps, the articles are successfully synced to SAP Customer Checkout manager, price lists are created per triple of site, condition type and currency. If the according POS groups have been created before, the price lists are assigned to the POS groups and the articles can be synced to the cash desks. The article groups (material groups) in the payload are created on the fly in SAP Customer Checkout manager and can be brought in hierarchy if desired.
With SAP S/4HANA via the Product merchandise SOAP call, we support the sync of sales sets and generic articles (variants) to SAP Customer Checkout manager as well.
Summary
In this blog, we showed step by step, how to configure SAP Customer Checkout manager and SAP S/4HANA for an out of the box integration of material master data from SAP S/4HANA to SAP Customer Checkout manager. We first configured the communication system and arrangement for SAP S/4HANA and activated the inbound service. In SAP S/4HANA, we configured in DRFIMG the replication model and the according outbound implementation, in REFSITE the reference site assignment, in SOAMANAGER the endpoint to SAP Customer Checkout manager, in DRFF the filter criteria for the payload and initiated finally via DRFOUT the call to SAP Customer Checkout manager. In SRT_MONI, we checked if the call went out successfully.
In SAP Customer Checkout manager, we saw in the app Inbound call monitoring, if the call reached SAP Customer Checkout manager and in the app Master data results we checked if all articles in the payload are successfully created in SAP Customer Checkout manager.
We hope you enjoyed reading the blog post and that it helped to clarify how to set up the material sync between SAP S/4HANA and SAP Customer Checkout manager.
Feel free to share your comments and give feedback about the blog.
Great blog Armin Zamani Farahani
Great post Armin.
Only one question.
what happens to the order of priority of application of the price lists defined in the point of sale configuration ?
thanks in advance
Hi Raúl,
if the price list does not yet exist in SAP Customer Checkout manager, the price list will be created on the fly with priority 0 (lowest) and the user has then to configure the priority after the initial sync. SAP Customer Checkout manager cannot determine unfortunately by the payload the priority of the conditions, which is why manual interaction is needed. If VKA0, for example, is the condition for special prices, and VKP0 represents the base price, the priority of the VKA0 price list would be set to 10, and the one of VKP0 to 9.
If the price list exists already, it is just referenced, but not touched.
Best regards,
Armin
Hello Armin,
thank you for this blog.
You write: During the material sync, SAP Customer Checkout manager will create price lists
on the fly for each triple of plant, condition type and currency; That means when I create one condition for article and plant, S4 synchronizes the Article to CCOM and creates a new pricelist.
In my case: 1010_VKP0_EUR - 1010_VKP0_EUR
I need more than one pricelist for the articles.
VK13 Article with Pricelist Type
When I transfer an article with maintained conditions in various pricelists types, nothing is transfered to CCOM.
My question: How can I create different pricelists in CCOM transferring from S4H.
Best Regards
Andreas
Hi Andreas,
thanks for your question. The price list types in SAP S/4HANA are not reflected in the integration to SAP Customer Checkout. The price list types are also not passed in the material payload of SAP S/4HANA. Hence, we look at following fields in the payload to build up the price list ID:
From the upper section of each material entry, we take the "ReceivingStore", in your case "1010".
Then we take the "PriceSpecificationElementTypeCode" value, here "VKP0". And finally the currency, as in SAP Customer Checkout, price lists are bound to a price list, so here "EUR"
If you use different plants, but the condition VKP0, SAP Customer Checkout manager would create a price list per plant. The same, if besides the condition VKP0 the condition VKA0 for special prices would be used.
I hope this clarifies the confusion of price list and price list types.
Best regards,
Armin
Hi Armin,
thank you for your help for creating different pricelists, integrating in CCOM.
I assume, that it is also possible to integrate different Textelements of the Articles in S4H to CCOM.
Article S4H POS and Textlelements
Article CCOM and two text elements.
Best Regards
Andreas
Hi Andreas,
many thanks for your question. We take over the description of an article that is offered in the payload of the ProductMerchandiseViewReplicationBulk service. The service can provide several descriptions, each for a selected language, if maintained. In the inbound service configuration in CCOm, you can configure for which language the description shall be taken.
As we see in your example, the material description is "ADH ACE 0,5 L PET" and in the Till receipt text section you have a second description provided, which is "Adelhozener ACE 0,5 L PET". The S/4 SOAP service unfortunately only provides the first mentioned material description, not the Till receipt texts. Hence, this information is not consumed by CCOm.
I hope this answers your question.
Best regards,
Armin
Hello Armin,
thank you for response. Another question: Is it possible to maintain the two red marked Textfields with integration by creating text in S4H and transfer it to CCOM?
Best regards
Andreas
Hi Armin!
One more question.
If we have different prices in all our stores, will be created in ccom as many lists as we have centers,
if we have 400 stores....
A001_VKP0_EUR-------A400_VKP0_EUR
if we use the condition VKA0 we will have also
A001_VKA0_EUR-----A400_VKA0_EUR
RIGHT?
Is there any limitation in ccom to that?
thanks in advance!
Hi Raúl,
thanks for your question. That is correct. If you maintained in your SAP S/4HANA system 400 plants and you want to transmit the prices of VKP0 and VKA0 of all the 400 plants to one SAP Customer Checkout manager instance, then in this case 800 price lists would be created.
There is no specific limitation on the number of price lists in SAP Customer Checkout manager, but of course it needs to be tested well.
Best regards,
Armin
Thanks Armin!
Kr Raul