Skip to Content
Some business processes that involve integration between many systems require accurate master data (materials, customers, vendors).
If both of your systems are SAP systems then there are at least a few possibilities that facilitate master data distribution:

a) you can send data manually – after creation or changing the master data

b) you can use change pointer technology which (at least in standard) requires scheduling of a report that sends the master data.

c) you can also use MDM (Master Data Management) and try to distribute the data with it

d) you can use your middleware (Exchange Infrastructure) to help you get the master data when necessary

What about consequences of using each of these approaches?

a) when you send the data manually a user may simply forget to do it and he/she will only do it when someone who takes care of the other system
will phone/mail that person – this is probably the worst case as it’s a fully manual procedure – so no holidays for users 🙂

b) when you sue change pointers you need to schedule the report to run as often as possible – which is not always possible
when you try to minimize job scheduling especially during work hours. This means that the change done to master data
will be distributed but only after some time

c) MDM – you need to have MDM – unfortunately not very popular yet

d) when you start building complex business processes in XI (BPMs), which check for master data in destination system
and then fetch it from the source system, then probably the rest of your flows will soon start to suffer – they will slow down
as having too many BPMs is not advisable if you need great performance.

Is there any other solution then?

ALEREQ01 – General request IDOC might be it.

SAP gives you a possibility to fetch master data with special IDOCs. This combined with a little ABAP coding
can become a very powerfull weapon against master data missing errors. All you need to do is to change
the inbound IDOC processing procedure like shown below:

image

Basically what you need to do is to check IDOC errors (in a function module exit) and if the erorr will show that master data is missing
you can call XI: either via ABAP proxy or RFC or even with an IDOC. All you need to send it the master data number
(material number for example. Then inside your XI you need to map this to IDOC ALEREQ01 and send to source system
which will send the missing data immediately.

Your IDOC that will be send to the destination system can look just like shown below (DPC1042 is the missing material number):

image

What you do get with this approach:

1. No need to build complex BPMs inside XI. You just need use a standard flow (with no BPM) to send the document to target system
and standard flow to send the request to source system. Also the master data distribution from the source system will not require usage of a BPM.

2. You can get the data very quickly (probably faster then if you’d use change pointers scheduled to run after work hours)

3. IDOC will be processed incorrectly in target system but since you can schedule IDOC reprocessing as soon as the master data
will arrive to the destination system the IDOC will be processed correctly automatically

4. No human interaction necessary

What do you think about this approach? Did you use any other approach in your projects?

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Mathias Deisinger
    Good Post Michal,

    Thanks for sharing this idea. Have you got any experience with this solution or is it still a design? I am pretty interested, since our Master Data solution does follow a different approach, causing some major pain.

    We have got a Master Data Distribution in place, which basically sends out all changes. There are filters set at the integration solution SAP XI, checking at tables to which systems the data needs to be send.

    I do see potential for improvements in this solution, may by adapting your idea.

    Thanks for your input.

    Mathias.

    (0) 
    1. Michal Krawczyk Post author
      Hi Mathias,

      this is a complete solution (only without the code) 🙂
      if you have any questions please contact me
      (my e-mail is in my business card)
      as I’d need more details about your issues
      and flows which you’d like to improve

      Regards,
      michal 

      (0) 
      1. Gaurav Jain
        Hi Michal,

        Thanks for sharing new idea.

        I also have same kind of scenario, requirement is whenever any entry update, delete or insert into central master data system, these entries should also reflect in third party system. In our case third party system should not able to send request Idoc message whenever information is required.

        Can we apply your solution in our scenario? Also Please explain how your approach handles newly insert or deleted data.

        Thanks & Regards,
        Gaurav Jain

        (0) 
  2. Gaurav Jain
    Hi Michal,

    Thanks for sharing new idea.

    I also have same kind of scenario, requirement is whenever any entry update, delete or insert into central master data system, these entries should also reflect in third party system. In our case third party system should not able to send request Idoc message whenever information is required.

    Can we apply your solution in our scenario? Also Please explain how your approach handles newly insert or deleted data

    Thanks & Regards,
    Gaurav Jain

    (0) 
  3. Gayle Parker
    how do you control what is sent from the master to the recieving systems.  For example, do you send all customers or just changes?  Is this a custom ABAP feature of does the ALE handle the selection sends?
    (0) 

Leave a Reply