DRFIMG and SOAMANAGER configuration
DRFIMG guide:
SOAMANAGER guide:
Systems for this example:
- Source: QKJ-002 - S/4HANA 2020
- Target: QM7-002 - S/4HANA 2025
Common user between both systems:
Settings in DRFIMG
1. Define technical settings for business system under Data Replication > Define Custom Settings for Data Replication > Define Technical Settings > Define Technical Settings for Business Systems - To define a new business system and to maintain the logical system for the receiving systems, choose New Entries.
Enter a business system as you previously defined for the provider system in the SOA Manager (step 3.1. of Configuring SOA Manager for Business Partner, for example ABC_123, and a logical system, for example ABCCLNT123.
|
To get the business system, you can run SLDCHECK and check what was returned below "Calling function LCR_GET_BS_DETAILS". The logical system is defined in view V_TBDLS.
Source system info:
- Business system: QKJ_002
- Logical system: QKJCLNT002
Target system info:
- Business system: QM7_002
- Logical system: HYBERP

2. Define replication model (replication of business partner) under Data Replication > Define Custom Settings for Data Replication > Define Replication Models Using New Entries, define a new replication model and enter a description.
|

b. Mark the line and choose Assign Outbound Implementation. Create a new entry and enter the following values using the input help: - Outbound Implementation: 986_3 Outbound Impl. for BP/REL via Services
- Communication Channel: Replication via Services
- Filter time: Filter After Change Analysis
|

c. Mark the line and choose Assign Target Systems for Repl. Model /Outb.Impl. Create a new entry and enter the business system name for the receiving system created in the step before.
|

d. Choose Assign Outbound Parameter. Create a new entry, enter the following values, and save. - Outb. Parameter: PACK_SIZE_BULK
- Outb. Parameter value: 100 (minimum value)
|

e. Return to the Define Replication Model view. Optionally, you can also add an expiration time for the log. f. Save your replication model. g. Mark the newly-created replication model, and choose Activate.
|

That's all you need in DRFIMG to make the replication work. 🥳 🎉
However, there are additional settings not mentioned by the guide that can be configured and could lead to unwanted behaviors.
3. Go back to Data Replication > Define Custom Settings for Data Replication > Define Technical Settings > Define Technical Settings for Business Systems
a. Mark the line for the Business System and choose Define Bus. Systems, BOs
b. Create a new entry and enter the following values using the input help:
- BO Type: 986 Business Partner including Relationships
- System Filter (Sys. Filt): Unchecked
- Output Mode: Object-Dependent Default
System Filter:
- If this indicator is set, filters defined in DRFF will not work
Output mode:
- Object-Dependent Default works the same as Direct Output. With this mode, a change in BP transaction will trigger the replication automatically
- Pooled Output will not trigger the replication after a change in BP transaction. The changes will be collected in table MDGV_CP_BO_SYS (or MDGD_CP). Then, in DRFOUT, when replication mode Changes is selected, the change pointers will be read and those BPs changed will be replicated.

c. Mark the line for BO Type 986 and choose Define Bus. Systems, BOs, Communication Channel.
d. Create a new entry, enter the following values, and save.
- Communication Channel: Replication via Services
- Key Harmonization: Not Defined
- Storage: Not Defined
- All the rest: Not Defined or Empty

If the system does not have MDG active, everything should be Not Defined. Otherwise, errors will be raised while processing the messages.
To check if MDG is active or not, just execute transaction MDGIMG, if an error is raised, then MDG is not active.
Now, that's all for DRFIMG.
Settings in SOAMANAGER
The guide for SOAMANAGER has some very important prerequisites, when not followed the replication does not work.
Here I am using service user WSAPPLUSER that exists in both systems. Screenshot from SU01 below.

Business Functions The following business functions are active in the provider system and in the receiver system. Note To activate the business function, run the Customizing activity under SAP Customizing Implementation Guide > Activate Business Functions FND_SOA_REUSE_1: Improvements for SOA Reuse Functions Note By activating the business function, you can use the following cross-application tool improvements that facilitate the use of services: CA_BP_SOA: Business Foundation - Services for Business Partner
|


Support for Point-to-Point Communication To activate the support for the point-to-point communication run this activity in the provider system and in the receiver system in Customizing for 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.
|
If this prerequisite is not followed, it will not be possible to send BPs to multiple systems and the messages will appear in SXI_MONITOR (SXMB_MONI) instead of SRT_MONI.

Connection to System Landscape Directory Either the provider system and the receiver systems are connected to the System Landscape Directory (SLD) or the BAdI MDG_IDM_GET_LCL_SYSTEM is implemented to determine the local system ID. To verify the correctness of the SLD content run transaction SLDCHECK in the provider and client systems. Ignore the browser dialog box. In the systems check that message reads: “Summary: Connection to SLD works correctly.” If you decide to implement the BAdI and not to use SLD, see the documentation of the IMG activity Master Data Governance > General Settings > Data Replication > Define Custom Settings for Data Replication > Define Technical Settings > BAdI: Determination of Local System Name.
|
If SLD is not being used, the BAdI MDG_IDM_GET_LCL_SYSTEM must be implemented and it should return the business system correctly. The business system returned by this BAdI should correspond with the business system maintained in all these steps.
- There are many cases where the quality system was refreshed from production system (i.e. data from production was copied to quality).
- In those cases, the BAdI implementation from production was also copied to quality.
- In the quality system, the implementation copied from production is still returning returning the business system that corresponds to production, e.g. PRD_001.
- Then, the replication in quality does not work because the BAdI implementation is returning the business system from production instead of returning the business system from quality.
In our case, the systems are connected to SLD, hence BAdI MDG_IDM_GET_LCL_SYSTEM is not needed here. See screenshot from SLDCHECK below:

There are other prerequisites that might be worth checking.
Before we start with the steps in SOAMANAGER, make sure you are in Local View mode as shown in the image below when you launch SOAMANAGER.
If you choose a different mode, the layout will change, you will see different fields and it will not be possible to follow the guide.

- Create a profile for point-to-point communication
To create a new profile in the provider and the receiver system carry out the steps described below in both systems.
- On the Technical Administration tab choose Profiles.
- Choose Create Profile, enter MDG as name, enter a description, and choose Next
Note The profile names and versions should be identical in the SOA manager settings for both provider and receiver systems.
|
I am creating with name MDG_2 because MDG was already created.

c. Mark User ID/Password, verify that in section Identifiable Business Context the field IBC Determination has the value No IBC Determination and choose Next. d. In the section Transport Security mark the check box Secure Communication Only. e. If necessary enter proxy settings and choose Finish to save the settings and activate the profile.
|



2. Configure the client setting
To configure the client setting in the provider and the receiver system carry out the steps described below in both systems. - On the Technical Administration tab, choose SAP Client Settings and then choose Edit.
- Enter an Organization Name.
- Based on your system connection, choose one of the following steps:
If your Business System is connected to the SLD: Choose Get from SLD to receive the Business System from the system landscape directory (SLD). If you have used the BAdI, provide local system ID as defined in the BAdI MDG_IDM_GET_LCL_SYSTEM
Enter the own Business System ID. Note To retrieve the own Business System ID run transaction SLDCHECK and check the section Calling function LCR_GET_OWN_BUSINESS_SYSTEM. Choose Save to receive the Business Application ID.
|
The Business Application ID generated here will be used in later steps.

3. Configure a provider system for the Business Scenario Configuration
To configure a provider system for the business scenario configuration in the provider and the receiver system carry out the steps described below in both systems. - On the Technical Administration tab, choose Provider Systems, then choose Create. Enter as Name the business system ID of the counterpart system, enter a Description, select the Profile Name defined in step 1 and choose Next.
|
Pay attention that the steps here are asking to enter the details of the other system (counterpart system).
There are many cases where the details of the current system were entered, which would make the system to send BPs to itself.

b. Enter the SLD Identifier in for following form: <client>.SystemName.<XYZ>.SystemNumber.<Installation Number>.SystemHome.<Host>, for example 416.SystemName.QV6.SystemNumber.0020270862.SystemHome.uxdbqv6 Note The SystemNumber can be found as described: System > Status > SAP System Data > Installation Number Similarly, the SystemHome can be found under System > Status > Database Data > Host . |
SystemNumber:
- QKJ-002: 0020270862
- QM7-002: 0020270862
SystemHome:
- QKJ-002: lddbqkj
- QM7-002: lddbqm7
SLD Identifier:
- QKJ-002: 002.SystemName.QKJ.SystemNumber.0020270862.SystemHome.lddbqkj
- QM7-002: 002.SystemName.QM7.SystemNumber.0020270862.SystemHome.lddbqm7

Again, it is very important to note that the SLD Identifier should be the value of the other system (counterpart) as shown in the screenshot below.

c. Enter the Access URL for WSIL and Logon Information under WSIL Services. Format of WSIL URL: https://<hostname>:<port>/sap/bc/srt/wsil?sap-client=<client> Note To identify the host name and port for access URL call transaction SMICM and choose Goto > Services. Use the HTTPS host name and port displayed in the list. We recommend to use the message server host. |
Access Url for WSIL:

Again (2), note that the Access Url for WSIL should be the value of the other system (counterpart) as shown in the screenshot below.
It is not uncommon to see cases where the details of the system itself were entered, which is wrong.

d. Enter a User for WSDL and a Password for WSDL. In both cases you can enter the service user that you have crated in the backend system. Choose Next.
|
The user in this case is WSAPPLUSER, which exists in both systems with the relevant authorizations assigned.

e. Maintain the Business Application ID. Choose Create to maintain a business application ID in provider System Enter an application name and a description, for example: sap.com/BusinessApplicationABAP Enter the business application ID. Note Note that the business application ID can be found in the counterpart system in the transaction SOAMANAGER under Technical Administration > SAP Client Settings.
|

This step is just to make sure the IBC reference was generated successfully.

4. Edit Logon Data for Business Scenario
To create a user account in the provider and the receiver system carry out the steps described below in both systems.
Note
The back end user has to exist in both systems. On the Service Administration tab choose Logon Data Management. On the Maintenance tab choose Create, enter your Logon Data Name and Description for example SERVICE_USER/Generic Service User and choose Next. Select User/Password or X.509 as Authentication Method. Enter the user name that you created earlier in the backend system and choose Finish to activate the logon data.
|


5. Assign Logon Data to Provider IBC Reference
To assign logon data to the IBC Reference of counterpart system in the provider and the receiver system carry out the steps described below in both systems. On the Service Administration tab choose Logon Data Management. On the Assignments tab choose Create. Use the input help to select a Provider IBC Reference. Select the IBC reference of the counterpart system from the search result list and choose Next.
|


d. Select the user name you have entered in step 2 of the previous chapter as Logon Data from the drop down list and choose Finish.
|
This is where we assign the user for the replication.

6. Create Integration Scenario Configuration for Point-to-Point Communication using Service Group
To create the integration scenario configuration for point-to-point communication using a service group in the provider and receiver system, carry out the steps described below in both systems. Create the integration scenario configuration. On the Service Administration tab choose Local Integration Scenario Configuration. Choose Create, enter a name and a description for the business scenario and choose Next.
|

b. Search for service definitions and assign a profile. - Choose Add to search for Service Definition.
- In the dialog box search for the Service Definition BUSINESSPARTNERSUITEBULKREPLIC, mark it in the result list and choose Add to Worklist.
- Similarly search for the following service definitions and add them to the worklist:
Service Definition (Internal Name) | External Name | BUSINESSPARTNERSUITEBULKREPLI1 | BusinessPartnerSUITEBulkReplicateConfirmation_In | BUSINESSPARTNERRELATIONSHIPSUI | BusinessPartnerRelationshipSUITEBulkReplicateRequest_In | BUSINESSPARTNERRELATIONSHIPSU1 | BusinessPartnerRelationshipSUITEBulkReplicateConfirmation_In |
|
This is how the search page looks like when searching for service BUSINESSPARTNERSUITEBULKREPLIC:

After searching and adding those four services, this is what I have:

Do not hit Next yet:
c. Assign profile to service definition. Select all services definitions from the list and choose Assign Profiles. Select the profile MDG, choose Assign Profile and choose Next.
|
At step 1, I created the profile with name MDG_2.

d. Select service groups and provider IBC reference. Choose Add to search for the Service Group. Enter the service group MDG_BS_SUPPLIERREPLICATEREQ, mark it in the result list and choose Add to Worklist. Repeat the procedure for the service group MDG_BS_SUPPLIERREPLICATECONF.
|
Searching for service group MDG_BS_SUPPLIERREPLICATEREQ after clicking on Add:

Result list after adding service groups MDG_BS_SUPPLIERREPLICATEREQ and MDG_BS_SUPPLIERREPLICATECONF:

Do not hit Next yet:
e. Assign business application. Select all service groups from the list and assign the IBC reference by choosing Assign IBC Reference. In the dialog box, search for the IBC reference of the counterpart system, mark the entry in the search result list and choose Assign to Service Group. Choose Finish.
|
Selecting the IBC reference of the counterpart system:

After hitting Next:

f. Activate business scenario using the processing of pending tasks
Note
Do not activate the business scenario immediately because first the business scenario in the counterpart system needs to be defined.
After creating the integration scenario configuration in counterpart system choose Yes to activate the Business Scenario. Follow the link in the section Pending Tasks. Choose Process List to process all pending tasks.
Note
The activation of the logical ports will not succeed because first the pending tasks needs to be processed in the counterpart system. For that reason process all pending tasks in provider system to activate the business scenario on the provider. Afterwards process all pending tasks in the receiver where the activation failed.
|
After clicking on Finish, a pop-up appears asking if I want to activate the Integration Scenario. As explained by the guide, we should wait for the configuration in the counterpart system to be completed first, before activating. Since both are completed now, I can click on Yes.

At the top of the page it says "There are Pending Tasks. Click here to open". So I click and it redirects me to the Pending Tasks. Here I just have to click on Process List.

As the guide says in the Notes, the activation will fail once because some pending tasks are still being processed in the other system, so we just have to reprocess it after the complete activation in the other system.
When I processed the lists, no activation failed in QM7-002, but in QKJ-002 it failed, so I had to reprocess the list one more time.
After rebuilding the lists, there is no more task related to QKJ-002 or QM7-002. There are only tasks related to other integration scenarios not created by me:

Step 7 is not needed to be followed if replication to multiple systems is desired.
That's all for the SOAMANAGER configuration!
The replication should be working now.
Let's create a new BP in QKJ-002 and see it is being automatically replicated to QM7-002:

The BP was created with number 38384 in QKJ-002 and with number 500274970 in QM7-002:
