cancel
Showing results for 
Search instead for 
Did you mean: 

Best approach for syndication in Central MDM

Former Member
0 Kudos

MDM 7.1

CE 7.2

ERP 6 EHP4

PI 7.1 EHP1

We are currently developing a custom application using CE/BPM workflow for central maintenance of customer master data. One of the topics under discussion is the right approach for syndication once a record is complete.

[This |http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/60a3118e-3c3e-2d10-d899-ddd0b963beba?quicklink=downloads&overridelayout=true] SAP document on collaborative material master data creation provides one way to achieve this syndication by first calling a web service from BPM to create record in ERP before checking in MDM. While I am personally fine with the approach, some of the other colleagues aren't too keen on issuing synchronous calls from BPM. Rather, they would like to use the syndication engine of MDM to transmit data to downstream systems (currently only SAP ERP) using Idocs. But there is a caveat here. To use syndication, the record has to be checked in.

The problem is that if the record is checked in MDM, it is ready for modification. However, the asynchronous call to ERP using Idocs for creation of customer master might fail for any number of reasons. In this case, the MDM record might need a modification before resubmitting to ERP. In the meantime, since the record was checked in before syndication, someone else might have checked it out, potentially resulting in data quality issues. So to avoid this situation, the developer has decided to take the approach to check in -> syndicate -> check out -> wait for confirmation Idoc -> check in if success. This isn't a clean approach to syndicate but might address the record locking issue.

Another consideration is to design the application with the view that sometime in the future, this master data might have to be syndicated to other SAP and non-SAP systems as well. To ensure syndication to all downstream systems is complete before checking in MDM can be a tricky requirement and might need some complex ccBPM development or evaluating something similar to two-phase commit (might be an overkill). In any case, a best practice approach for keeping downstreams systems in sync with MDM in case of central MDM has to be shared by SAP. So it would be good to have comments of the people who developed the reference application for collaborative material master data creation.

If there are any customers who have come up with a custom solution which works, please do share the experience.

Thanks and regards,

Shehryar

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Shehryar

There can be multiple solutions for achieving this.

1. Do a RFC call to the remote system, ECC, to check if the Customer to be edited has been created or not. If IDocs have failed there will be no Customer created for the record no selected for edit. At this point we can display a suitable message to User.

2. Define one more field in MDM data model which gets populated from ECC backfeed, you have to design a backfeed interface from ECC also. This field gets value only when the IDoc has been posted succesfully. Now check for this field whenever edit process starts. If the field is not having a value, dont allow the edit process to continue.

Hope this helps-Ravi

Former Member
0 Kudos

Thanks Ravi. While there are more than one possible solutions to the immediated problem, I am actually looking for a design pattern which SAP recommends or a customer has developed to address the issues related to synchronization of master data in a Central MDM environment.

The idea behind a central master data management function, as you know, is that all participating business systems use the same basic master data being authored in MDM. This data has to be synchronized with all participating systems, rather than just one system. To me, a ccBPM workflow or 2 phase commit design pattern seem to be the solution. But it would be good to know how other customers are addressing the issue of master data synchronization with multiple systems, or SAP's recommendations for this issue.

Regards,

Shehryar

Former Member
0 Kudos

Hi Shehryar

Normally with CMDM we also have a core ECC system which acts as receiving system for the hub.

In my previous project we did a RFC call to ECC to check if the Master records have been created in ECC.

Hope this helps-Ravi

Former Member
0 Kudos

Thanks Ravi. The SAP guyz who wrote the sample applications for collaborative master data creation decided to issue synchronous ES calls from CE to the backend ERP system, rather than using the syndication engine of MDM, before checking-in the record in MDM. This was to ensure master data creation in ERP before the record is available for modification in MDM. However, what about the case when more than one systems have to be synchronized.

I understand that most of use cases today are for synchronization of master data with ERP system. However, this probably leads back to the discussion in [this blog|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/21194] [original link is broken] [original link is broken] [original link is broken];. If we keep the use case focused on ERP, then positioning of NetWeaver MDM as central master data management infrastructure has to be questioned. As Markus responded to my comments in the blog, "SAP NetWeaver MDM and BPM are particularly suited for collaborative master data creation/maintenance scenarios in heterogeneous landscapes, but are also applicable in SAP contexts".

However, if only ERP is part of the picture and if definition of master data is tied to business application like ERP, MDG probably makes more sense in this case.

I don't want to further complicate the discussion but the customer I am working with has another non-SAP MDM product already in the landscape. Like the general case with PI vs WMQ, the idea is to use SAP NW MDM for SAP specific master data management and let the industry specific non-SAP product handle the rest. Given that the full SAP business suite has been implemented in various business units, with their own SAP systems, synchronization of master data is required not only between various SAP applications but also between the two MDM hubs, a case for federated master data management.

So once again, I think it would best to look for design patterns for master data integration in case of central MDM function, rather than solutions for integration with a single application like ERP.

Regards,

Shehryar

Edited by: Shehryar Khan on Dec 6, 2010 3:24 PM

Answers (0)