Enterprise Resource Planning Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
victordiehl
Advisor
Advisor
3,102

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:

  • WSAPPLUSER

 

Settings in DRFIMG

 

1. Define technical settings for business system under Data Replication Define Custom Settings for Data ReplicationDefine Technical Settings > Define Technical Settings for Business Systems

  1. To define a new business system and to maintain the logical system for the receiving systems, choose New Entries.
  2. 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

 

 

victordiehl_0-1743442446181.png

 

 

 

 

2. Define replication model (replication of business partner) under Data ReplicationDefine Custom Settings for Data ReplicationDefine Replication Models

  1. Using New Entries, define a new replication model and enter a description.

 

 

victordiehl_1-1743442020062.png

 

 

 

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

 

 

victordiehl_2-1743442038262.png

 

 

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.

 

 

victordiehl_3-1743442056999.png

 

 

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)

 

 

victordiehl_4-1743442072901.png

 

 

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.

 

 

victordiehl_5-1743442091836.png

 

 

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 ReplicationDefine 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. 

 

 

victordiehl_6-1743442110714.png

 

 

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

 

 

victordiehl_7-1743442135194.png

 

 

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.

 

  • Service Users in ABAP Stack

    To create a service user in the provider and the receiver system carry out the steps described below in both systems.

    1. Choose transaction SU01, choose Create and enter a user.

    2. On the Roles tab assign the role SAP_BC_WEBSERVICE_ADMIN_TEC.

 

Here I am using service user WSAPPLUSER that exists in both systems. Screenshot from SU01 below.

 

 

victordiehl_0-1743440474828.png

 

 

 

  • 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 GuideActivate 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:

      • SOA Mapping Tool

      • Error Handling

      • Point-to-Point Enablement for Asynchronous Enterprise Services

    • CA_BP_SOA: Business Foundation - Services for Business Partner

 

 

 

 

victordiehl_2-1743440532619.png

 

 

victordiehl_3-1743440563401.png

 

 

 

  • 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 GuideCross-Application ComponentsProcesses and Tools for Enterprise ApplicationsEnterprise ServicesPoint-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. 

 

 

victordiehl_4-1743440597229.png

 

 

 

  • 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 GovernanceGeneral SettingsData ReplicationDefine Custom Settings for Data ReplicationDefine Technical SettingsBAdI: 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:

 

 

victordiehl_5-1743440623628.png

 

 

 

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.

victordiehl_6-1743440664911.png

 

 

  1. 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.
    1. On the Technical Administration tab choose Profiles.
    2. 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.

 

victordiehl_7-1743440690402.png

 

 

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.

 

 

victordiehl_8-1743440712782.png

 

 

victordiehl_9-1743440733186.png

 

victordiehl_10-1743440752604.png

 

 

 

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.

  1. On the Technical Administration tab, choose SAP Client Settings and then choose Edit.
  2. Enter an Organization Name.
  3. 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

  4. 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.

  5. Choose Save to receive the Business Application ID.

 

The Business Application ID generated here will be used in later steps.

 

victordiehl_11-1743440771803.png

 

 

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.

  1. 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.

 

victordiehl_12-1743440795745.png

 

 

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: SystemStatusSAP System DataInstallation Number

Similarly, the SystemHome can be found under SystemStatusDatabase DataHost .

 

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
 

victordiehl_13-1743440819934.png

 

 

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.

 

 

victordiehl_14-1743440838616.png

 

 

 

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 GotoServices. Use the HTTPS host name and port displayed in the list. We recommend to use the message server host.

 

Access Url for WSIL:

 

 

victordiehl_15-1743440861819.png

 

 

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.

 

 

victordiehl_16-1743440879189.png

 

 

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.

 

victordiehl_18-1743440922986.png

 

 

 

e. Maintain the Business Application ID.

  1. Choose Create to maintain a business application ID in provider System

  2. Enter an application name and a description, for example: sap.com/BusinessApplicationABAP

  3. 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 AdministrationSAP Client Settings.

 

 

victordiehl_20-1743440990661.png

 

 

 

 

Note

  • When you configure the provider system , maintain details of the counterpart (other system) that you want to connect to.
  • As a result the Identifiable Business Context Reference (IBC reference) for the counterpart system has been generated automatically. To verify this proceed as follows:

    1. On the Service Administration Tab follow the link Identifiable Business Context Reference.

    2. Choose Search. The IBC reference for the counterpart system should be displayed in the list in form XYZ_001 where XYZ_001 is system ID and client of the counterpart system.

 

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

 

victordiehl_21-1743441013792.png

 

 

 

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.

  1. On the Service Administration tab choose Logon Data Management.

  2. On the Maintenance tab choose Create, enter your Logon Data Name and Description for example SERVICE_USER/Generic Service User and choose Next.

  3. Select User/Password or X.509 as Authentication Method.

  4. Enter the user name that you created earlier in the backend system and choose Finish to activate the logon data.

 

 

victordiehl_23-1743441032490.png

 

victordiehl_24-1743441050152.png

 

 

 

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.

  1. On the Service Administration tab choose Logon Data Management.

  2. On the Assignments tab choose Create.

  3. 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.

 

 

victordiehl_25-1743441074661.png

 

victordiehl_26-1743441115664.png

 

 

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. 

 

victordiehl_27-1743441140037.png

 

 

 

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.

  1. Create the integration scenario configuration.

    1. On the Service Administration tab choose Local Integration Scenario Configuration.

    2. Choose Create, enter a name and a description for the business scenario and choose Next.

 

 

 

victordiehl_28-1743441157083.png

 

 

 

b. Search for service definitions and assign a profile.

  1. Choose Add to search for Service Definition.
  2. In the dialog box search for the Service Definition BUSINESSPARTNERSUITEBULKREPLIC, mark it in the result list and choose Add to Worklist.
  3. 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:

 

victordiehl_29-1743441174058.png

 

 

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

 

 

 

victordiehl_30-1743441197609.png

 

 

Do not hit Next yet:

 

c. Assign profile to service definition.

  1. Select all services definitions from the list and choose Assign Profiles.

  2. Select the profile MDG, choose Assign Profile and choose Next.

 

At step 1, I created the profile with name MDG_2.

 

 

victordiehl_31-1743441214285.png

 

 

 

d. Select service groups and provider IBC reference.

  1. Choose Add to search for the Service Group.

  2. Enter the service group MDG_BS_SUPPLIERREPLICATEREQ, mark it in the result list and choose Add to Worklist.

  3. Repeat the procedure for the service group MDG_BS_SUPPLIERREPLICATECONF.

 

Searching for service group MDG_BS_SUPPLIERREPLICATEREQ after clicking on Add:

 

victordiehl_32-1743441229338.png

 

 

Result list after adding service groups MDG_BS_SUPPLIERREPLICATEREQ and MDG_BS_SUPPLIERREPLICATECONF:

 

victordiehl_33-1743441243321.png

 

 

 

Do not hit Next yet:

 

 

e. Assign business application.

  1. Select all service groups from the list and assign the IBC reference by choosing Assign IBC Reference.

  2. 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.

  3. Choose Finish.

 

Selecting the IBC reference of the counterpart system:

 

 

victordiehl_34-1743441260090.png

 

 

After hitting Next:

 

victordiehl_35-1743441277850.png

 

 

 

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.

 

  1. After creating the integration scenario configuration in counterpart system choose Yes to activate the Business Scenario.

  2. Follow the link in the section Pending Tasks.

  3. 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.

 

 

victordiehl_36-1743441298655.png

 

 

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.

 

 

victordiehl_37-1743441315002.png

 

 

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:

 

victordiehl_38-1743441332168.png

 

 

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:

 

 

victordiehl_39-1743441358377.png

 

 

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

 

victordiehl_40-1743441377672.png