Supply Chain Management Blogs by SAP
Expand your SAP SCM knowledge and stay informed about supply chain management technology and solutions with blog posts by SAP. Follow and stay connected.
cancel
Showing results for 
Search instead for 
Did you mean: 
Michael_Haase
Product and Topic Expert
Product and Topic Expert


Dear friends of SAP TM,

The first big challenge in many projects is setting up the master data, as many of you know. Depending on the system landscape, this can also mean replicating them from one SAP S/4HANA system to another.


Now, assume you have a so-called sidecar scenario with two SAP S/4HANA systems connected, whereas one of them is running as a SAP TM. Here can be some obstacles when replicating the business partners into the system running as SAP TM.


Imagine, you have set up your business partner 'fully blown' in an SAP S/4HANA with many roles and all kind of different data. Now, when you replicate this business partner into an SAP S/4HANA system running with 'only' SAP TM, this requires that this system is set up with all the necessary customizing and stuff to digest the business partner, also those settings which are far beyond TM. Otherwise you will run into error messages during replication.


Of course, you'll hardly find anyone who is willing to maintain all those settings which are redundant for SAP TM and needed just for the sake of replicating the business partner. Assume for instance FI-specific information regarding accounting or some other complex data requiring some effort to be set up properly.


Now, the perfect solution would be a magic button like 'replicate only the data relevant for TM'. But this is easier said than done as it's not possible to define all the relevant business partner data for any kind of TM scenario.


Therefore, the promising approach is to filter the data to be replicated and thus reduce it to the minimal which is actually needed for the TM scenarios.


And there are the following two ways to do so:


At first you have the so-called segment filters in transaction DRFOUT, when doing the actual replication:



Here, you can already filter data on a rough level. This is efficient and will solve some issues. But it shows that this is sometimes not sufficient and a more specific filtering is needed.


Let's make an example with a DRF replication via web service from and to an SAP S/4HANA system.


We have created the following business partner in the SAP S/4HANA source system:



You see, data for 'Express station' and 'Train station' is maintained here. This data is redundant for TM so I don't want to replicate it. This might be a simple (or even stupid...) example, but it should be sufficient to show the way forward.


The issue is that there's no such segment filter in transaction DRFOUT, as you can see above.


Therefore, I can use BAdI MDG_SE_BP_BULK_REPLRQ_OUT:



Here, I can manipulate the data in parameter 'OUT' and the outgoing web service with the data of the business partner is created accordingly. So, with a bit of ABAP programming skills, I'm easily able to filter out data like 'Express station', 'Train station' or any kind of data from a more reasonable use case. Furthermore, I can even change data when I definitely know how data should look like in the target system. But this, I would see as the expert mode...in most cases the deleting of data in parameter 'OUT' will be sufficient.


Of course, this is still a piece of work filtering all redundant data. But at least I can avoid the effort of setting up 'not really necessary' customizing and master data in the target system.


By the way...kudos to our colleagues in EWM who have captured this in their integration guide in note 3080907 (see chapter 6.9.4.2).


I hope this helps you in your projects. I appreciate your comments!


Best regards,


Michael


 
12 Comments
0 Kudos
Thanks Michael.

This is a very good article to know about.

I have a similar situation, where I need to push the current state of a particular BP-Vendor, on the vendor General Data, Bank Data sections ONLY from S4 HANA system to another SAP system on ECC.

Questions.

  1. Can we achieve this from S4 to ECC and ECC to S4?

  2. Can we restrict this to a particular BP?

  3. Can we restrict this to Vendor General Data, Bank Data Only.


Note: In S4 we use the BP and the ECC we use the Vendor Master.

 

Thank you for your notes.
Michael_Haase
Product and Topic Expert
Product and Topic Expert
Hello Anil,

Thanks for your comment!

I'm not a specialist for BP, I'm just using it in my work for TM and so did I with this BAdI. But at least the BAdI is contained in SAP S/4HANA and ECC so I would assume it can be used similarly from and to ECC.

The restriction to a particular BP is already when filtering in transaction DRFOUT.

For the vendor bank data, I don't find any respective filter in transaction DRFOUT. So I guess you would need to remove all the other data you don't want in the BAdI. But at least some pretty good pre-filtering could be achieved in DRFOUT i.e.by excluding all purchase organizatzions or sth. similar. This is a pretty smart way to filter redundant data by excluding data in DRFOUT.

Best regards,

Michael

 
wridgeu
Participant

Hi Michael, first of all this is a great blog post and I appreciate it very much 😊

I do have some questions though. I understand that this is only a blog post and not a support portal 😆 so don't feel any obligation to answer, I just thought asking won't hurt 😅

The scenario I'm facing at the moment is, that there is a need for several different filter sets i.e. the filters for each set target and filter for different BP types (&data of BPs) i.e. customer/vendor. I know that it is possible to create different variants for the filter within DRFOUT. This would fulfill the requirement of having different sets of filters. However this scenario does not work in the long run as one would have change mode (change pointer for automatic transfer) activated and not transfer the BPs by hand via DRFOUT. The manual filters are disabled and disregarded when using change mode. 

As such, when doing this, the filter is pulled "globally" from DRFF and this does not fulfill our requirement, as one can only have one filter and not different sets. Have you had some similar requirement or anything like that before? 

Am I misunderstanding something regarding the change mode / change pointers in DRFOUT?

Either way, great post and valuable information. Thanks for sharing! 🙂

Michael_Haase
Product and Topic Expert
Product and Topic Expert
Hello Marco

Thanks for commenting! I appreciate that you like the blog post!

I have to admit that I'm also 'just' a user of the replication functionality from the perspective of SAP TM and it's not my home turf. So quite frankly, I've never set up a scenario with change pointers and I would also be eager to learn what filtering possibilities there are. I would assume there are pretty much the same ones than during initial (or manual) replication.

At least the BAdI should run I guess as it's right when the web service is compiled.

Best regards,

Michael
Amine_Lamcharf2
Explorer
0 Kudos
Hello Michael,

Thanks for this nice post.

I have a little issue if you can help me fix it please.

I have setup DRF to send confirmation message back each time Ariba send the replication request of a BP.

Today, I executed the transaction DRFOUT to migrate BP to Ariba but I selected "Manual" and then "Changes" rather than "Initialization" in the screen and now it seems that S/4 is synchronizing Ariba continuously. So my question : Is there a way to cancel this "auto" synchronization ?

Thank you for help.

Amine
Michael_Haase
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Amine,

Thanks for your comment!

Unfortunately I have to say that I'm from the application Transportation Management and have only experiences in replicating BP to our TM solution. So as I'm not an expert in DRF and never faced this situation I have no answer to this, I'm sorry.

Best regards,

Michael
Domingos81
Explorer
0 Kudos
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
Michael_Haase
Product and Topic Expert
Product and Topic Expert
Hello Domingos,

This can be done with the BAdI mentioned above.

Best regards,

Michael
Domingos81
Explorer
Thank you, Michael.
BrianStrickler
Discoverer
0 Kudos
Hi,

Hope its not a closed thread.  Just curious, is there a way in the DRF to determine which fields trigger the message to the outside application?  I want to be able to limit the number of fields that create the messages to the external system.  Can this be done?
Michael_Haase
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Brian,

This might work with change pointers. I never set this up in any system, that would be my first option. This is then not within DRF but from my understanding it determines when DRF comes into play.

Best regards,

Michael
aditya_palekar
Advisor
Advisor
0 Kudos

Hello Michael,

Can a DRFOUT be initiated from a source ECC to a target S/4HANA system. Is this possible? I have a situation where the ECC was converted to S/4HANA and 1-2 BPs were not converted due to DB level inconsistencies. Can DRFOUT solve this problem and even replicate the missing table level entries such as for example address entries missing in ADRV.

Regards,
Aditya