Technical Articles
S/4HANA Business Partner Replication
Introduction and Scenario
You have set up your business partner scenario in your S/4HANA system? Now you want to send your S/4HANA business partners to another S/4HANA system?
This blog provides you the steps for a basic scenario: sending your business partner master data from one S/4HANA on premise system to another with some snapshots. Being a member of the business partner team of the S/4HANA RIG, I want to share this with you.
Let´s assume business partners (BP’s) like this BP customer:
Which technology should you use for the replication? Web services or IDocs?
The answer is clearly given in note 2417298 – Integration of Business Partner with Customer and Supplier Roles: the web service technology of Enterprise Service Oriented Architecture (SOA) is to be used, if the system has business partners. The IDocs DEBMAS and CREMAS are not recommended for data integration between S/4HANA systems. For business partner replication, the web service technology is also used by S/4HANA Master Data Governance (MDG) and SAP Cloud Platform Master Data for Business Partner. Additonally, there are odata services for business partner master data available, but their usage is not scope of this blog.
Detailed reference information about the business partner web service definitions with all fields can be found here.
So, what set up steps needs to be done? Don´t get confused, when MDG is mentioned in linked documentation sometimes. It´s, because technically it´s part of S/4HANA, but you don´t need to set up the complete MDG for this.
There are two major steps:
- SOA manager basics on sender and receiver
First you need to do the basic configuration in the SOAMANAGER (SOA Manager) transaction. It starts the SOA Manager web application. I will describe the steps below. For your reference, here´s also the link to help.sap.com. - Configuration in Data Replication Framework (DRF)
The Data Replication Framework enables you to replicate data from a source system to target systems. I will describe how to configure it for this sceanrio below. For your reference, here´s also the link to help.sap.com.
Configuring SOA Manager for Business Partner
Before you set up the data replication framework (DRF), you need to configure the SOA Manager accordingly in receiver and provider system.
Preparation
Do these steps as preparation in both receiver and provider system;
- Get administrative authorizations for the SOA manager in S/4HANA: SAP_BC_WEBSERVICE_ADMIN_TEC and authorization for transactions SU01, SUIM, PFCG.
- Create a special service user in transaction SU01 with authorization role SAP_BC_WEBSERVICE_ADMIN_TEC.
- Activate special business functions from SOA and business partner.
Run this activity in the customizing: SAP Customizing Implementation Guide > Activate Business Functions. Active business function FND_SOA_REUSE_1. - Activate point-to-point communication for enterprise services
Run this activity in the customizing: SAP Customizing Implementation Guide > Cross-Application Components > Processes and Tools for Enterprise Applications > Enterprise Services > Point-to-Point Enablement for Asynchronous Enterprise Services > Activate Support for Point2Point Communication. - Connect to the system landscape directory or implement a BAdI for local system ID determination as described in the IMG doucmentation here: Cross-Application Components > Processes and Tools for Enterprise Applications > Master Data Governance > General Settings > Data Replication > Define Custom Settings for Data Replication > Define Technical Settings > BAdI: Determination of Local System Name
- Configure the web service runtime as described in note 1043195 – Configuration of Web service runtime
- Activate the error and conflict handler (optional, recommended) in IMG Cross-Application Components > General Application Functions > Error and Conflict Handler > Activate Error and Conflict Handler.
CONFIGURE the SOA MANAGER
Do these steps as preparation to configure the SOA Manager in both receiver and provider system;
- Create a point-to-point communication profile with same name in provider and receiver.
- Configure the client setting.
- Configure a provider system for the business scenario configuration.
Enter further details on the next step “Enter connection settings for searching web services and credentials to access service metadata like WSDL and WSIL”. Use the primary service registry settings and the WSIL usage. Fill these fields
- SLD Identifier
Enter it in this format <client>.SystemName.<XYZ>.SystemNumber.<Installation Number>.SystemHome.<Host>.
SystemNumber you find under System>Status>SAP System Data>Installation Number and SystemHome under System>Status>Database Data>Host. - Access URL for WSIL and Logon Information
Format: https://<hostname>:<port>/sap/bc/srt/wsil?sap-client=<client>
Host name and port you get from transaction SMICM (ICM Monitor), Goto > Services - User and Password for WSDL and WSIL. You can take the service user you created in the backend system.
- Create Business Application ID
Enter an application name, description and the business application ID from the counterpart system. It can be found under SOAMANAGER > Technical Administration > SAP Client Settings in the counterpart system. Press Finish.The Identifiable Business Context Reference (IBC reference) for the counterpart system is generated automatically and can be checked in SOAMANAGER > Service Administration > Identifiable Business Context Reference.
- SLD Identifier
- Edit logon data for business scenario
After the backend users were created already earlier, please create appropriate Logon Data entries within both provider and receiver system locally. This can be done in the SOAMANAGER > Service Administration > Logon Data Management > Maintenance - Assign Logon Data to Provider Identifiable Business Context (IBC) Reference
Now the just created Logon Data have to be assigned to the IBC References.
Press Next, assign the logon data and press Finish. - Create Integration Scenario Configuration for Point-to-Point Communication using Service Group.With this, you select the business partner services for the communication. In SOAMANAGER go to Service Administration > Local Integration Scenario Configuration and create an integration scenario configuration.
Add these Service Definitions:- BUSINESSPARTNERSUITEBULKREPLIC
- BUSINESSPARTNERSUITEBULKREPLI1
- BUSINESSPARTNERRELATIONSHIPSUI
- BUSINESSPARTNERRELATIONSHIPSU1
Check the Logon Data Assignment and Press Finish.Do not activate the business scenario immediately because first the business scenario in the counterpart system needs to be defined.
After creation of the integration scenario in the counterpart system, activate the scenario and process pending tasks in both systems.
- Set logical port as default
For setting the logical port, in SOAMANAGER go Service Administration > Web Service ConfigurationSearch Object Type: All and Object Name:BusinessPartnerSUITEBulkReplicateRequest_Out
Congratulations, you´ve set the SOA Manager! Most of the work is done. Now you only need to configure the Data Replication Framework.
Configuration in Data Replication Framework (DRF)
- Define technical settings for business system
- For settings in the DRF, in transaction DRFIMG, go to Data Replication > Define Custom Settings for Data Replication > Define Technical Settings > Define Technical Settings for Business Systems
- Create a new entry with the business system as you entered as provider system in SOA Manager under Technical Administration > Provider Systems and a logical system. As Business Object Type add 986 (Business Partner including Relationships) with Output Mode Object-Dependent Default with System Filter checked. As communication channel choose Replication via Services, further values as shown in snapshot.
- Define a replication model
- In transaction DRFIMG, go to Data Replication > Define Custom Settings for Data Replication > Define Replication Model.
- Create a new Replication Model entry, Assign Outbound Implementation 986_3 Outbound Impl. for BP/REL via Services, Communication Channel Replication via Services and Filter time Filter After Change Analysis. For the new Assignment line as next step create a new assignment line and enter the target business system for the replication model. Log Days can be set optional.
- Furthermore, set outbound parameters in Assign Outbound Parameter with Outbound Parameter “PACK_SIZE_BULK” for example with value 50 or 100.
- Save Active your replication model in Data Replication > Define Custom Settings for Data Replication > Define Replication Model.
Starting the Replication
Finally, you can start the replication via transaction DRFOUT. Select the previously created replication model and the respective outbound implementation. You get several options for the replication.
With the button Manual Replication Filter Criteria, you get to the filter screen. On the screen you can enter several filters, after done press Save. Back on the main screen, press Execute, and you trigger the data replication manually.
After e.g. a manual start you get the log:
Conclusion
This guidance should give a good starting point for business partner replication, especially if you haven´t worked with the SOA Manager and DRF before.
As this is just a starter, I bet there are many questions coming up as you evolve your scenario.
For questions please check these helpful links:
- See all questions and answers about SAP S/4HANA
- Ask a Question about SAP S/4HANA
- Follow SAP S/4HANA for more blogs and updates
- Visit the community topic pages for SAP S/4HANA
Brought to you by the SAP S/4HANA RIG and Customer Care team.
Very much needed blog ! .. Thanks for putting this together, Christian !
When setting up filters DRF - is there an option to set up a filter based on the 'Target System' selected in the Change Request UIBB ?
This becomes necessary when MDG is governing only general data (org level filters like company code/p.org are not applicable) and when the user wants replication only to a particular target ERP system.
Hello Vinay,
Do you see any drawbacks in creating a different model for a particular Target ERP System where only subset of data to be replicated. You can set up a Business model and add filters to them in DRFF.
Hi,
it's a ver good guidance for setting of Koa-Manager. Just a remark, you're saying in step 7 : "Set logical port as default". But this is not necessary, specially if you use your source system as a hub.
What I'm interested in, is the setting for change pointer to replicate only the changes. If you could explain how to set it, it would be great.
Thanks an Regards
Ray
Hello.
The blog is very good and is very detailed, the information shared is very interesting. Thanks.
I have a question: ¿Is it possible set any field obligatory in the filter criteria on transaction DRFOUT?
Hello Christian,
currently I set up the SAP MDG (incl. MDC) on S/4HANA. For the replication process SAP recommends to use SOA and not ALE because of the suppported business partner attributes. Can you share a gap list or a useful link of these attributes where I can check the gap to generate a decision for our customer which communication channel should be used?
Thanks and
Best regards,
Sven
Hi Christian,
Is there an option to remove the company code segment from the replication in the filters.
Hi Christian,
thanks for your detailed explanation! really useful.
I have one small question, if we would like to replicate data from S/4HANA to ERP system, will this SOA webservice methods still be applicable? because i see the SAP note and your post, it is only applicable for BP data replicated from S/4HANA to S/4HANA.
Thank you Christian, very good blog. Would you have such information for Master Recipe Replicate Outbound scenario? We have a scenario where we are trying to send recipe information from S/4HANA to MII through SOA services.
Looking at your blog, I have setup the required SOA services. However, I couldn't find service groups related to Master Recipe replicate and hence left it blank.
Any inputs here?
Could you comment, any idea how to send your S/4HANA business partners to another No S/4HANA?
By non-S/4HANA I assume that you mean SAP ECC system. You can still follow the same process given that the Business Partner SOA services available and Business Partner is active in your SAP ECC system
Dear Experts,
We have recently upgraded our ECC system to S4 HANA 2021 and trying to replace our existing customer creation/update related interfaces via standrad BusinessPartnerSUITEBulkReplicateRequest_In service!
I could create a business partner using this when tested via SPROXY but unable to create Customer role for same.
The strange part is proxy execution is successful without any errors! but Customer role is not created.
So I would like to know if this really can be helpful for our requirement and what could be actually missing in our system to support this?
is it possible for you to share a sample Payload that supports customer role creation?
Do we really need DRF set up to just test this request via SPROXY as well?
I would really appreciate your help in this direction!
Regards,
Ashwini
Hi Ashwini,
The reason that the Customer role is not created would be the failed CVI synchronization due to invalid/incomplete data in the payload for the Customer master.
You can check the logs using the transaction MDS_PPO2. Set the object type = BUS1006 and Object Key = Business Partner Number.
Additionally, there is NO DRF set-up required to text the proxy via the SPROXY transaction code.
Regards,
Ankush
Thanks for the useful Blog. I have one question; can we trigger SOA service with specific time intervals. E.g. one of the client is looking to trigger SOA replication only when we chose REPLICATE option in NWBC business partner page. But client do not want to replicate the data immediately after Final check approval of given Business partners(in create or change).
Hi Christian Niemann,
Thank you for this blog, it's very useful.
We have the following scenario: we keep an ECC system for the HR data (employees, time and salary without the business partner activation) and we will install a S/4HANA system for the other processes and modules. Can we follow the procedure described in your blog to replicate HR master data from the ECC system to the S/4HANA system ?
Great Blog Christian! Thank you, it helped me a lot.
Hi
Is there constraint for change pointers in DRF when Bp is transferred
Great document Christian! Thank you for sharing. I am looking for document on Replicating business partner from S/4HANA to SAP C4C via CPI. If you have something, please refer me to one.
Thanks again,
David
Has the SOA distribution model been tested out in case of distributed EWM systems?
Thank you for this blog.
We used this to connect an ERP do a decentral eWM (S4/2020 FPS02) and may need to postpone the GoLive because
I'm aware that DRF is a framework/a tool and not a complete application interface but since it's incredibly cumbersome and confusing to use (see above) I'd not recommend this approach without an ETL-tool around it to help troubleshooting. We errorneously believed that this is "a successor for ALE" with the same features but it's a lot more complex [unnecessarily] and is by no means complete and/or robust enough for people without prior experience in and with asynchronous webservices.
Hi Christian Niemann ,
Thank you for the detailed process flow. We followed the similar approach but especially with huge volume load, this technique of SOA Replication is eating away all the bgRFC's and at one point it killed our system.
could you please suggest the better way to handle this mass volume of BP Replication
Appreciate your response!
thank you
Can DRF be used to replicate business partners from SRM and CRM to S4 HANA ?
Hello,
we are facing an issue as follows. we need to replicate BP from S/4 to C4C.
In my scenario, we have to process the data to multiple receiver systems, so I am trying to create the logical ports using the service group, however its failing while executing the pending tasks.
Please refer the attached error screenshot, did not find anything regarding this error.Any information regarding the error will be helpful.
Is there any Business functions need to activated as a prerequisites?
rgds
sachin
Christian/Others,
We are trying to replicate Business partners and their relationships to the cloud. Triggering scenario 986_3 does not trigger the BusinessPartnerRelationshipSUITEBulkReplicateRequest_Out webservice. How can we push the Business partner relationships via DRF?
Is this resolved.
We are facing similar problem.Can you share how you resolved it.
Hi,
Using this process with transaction DRFOUT, is it possible to use some EXIT or BADI to do some kind of treatment on the data, for example: not sending a partner that is type RV?
tks.
Hi Domingos
We have a very similar requirement we would like in our case to extend the data being sent and wondered were we would find the exit/BADI that allows us to control this type of requirements?
Great blog Christian - would be great to cover this extension requirement in a follwo up blog
Regards
Eddie
There is no logical port coming up automatically.
Should we create it manually
Thank you for the blog.
Is there an option to replicate the BP via IDocs?