cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC_INPUT_DEBITOR_MDM shortcomings?

Former Member
0 Kudos

We're sending DEBMAS messages from MDM to R/3, handled by function IDOC_INPUT_DEBITOR_MDM on the R/3 side. If changing a Business Partner (segment KNVP) in MDM, it does not get deleted in R/3, only added. Debugging IDOC_INPUT_DEBITOR_MDM shows that there's indeed no deletion of such segments; is this a bug or a "feature"?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Trond,

I don't have acces to MDM or R/3 right now to try it, but...how do you syndicate out of MDM?

If you delete the Business Partner field, save, than go to the Syndicator, select the Customer and manually syndicate, the Syndicator might send a "new" Customer, failing to send the info "delete field..." (or update KNVP).

So, what I'm trying to say is, the Idoc Segment Messages might be wrong in case of the manuall syndication.

Please try syndicating automatically and tell me if it works.

Thanks and Best Regards,

Mircea

Edited by: Mircea Precup on May 23, 2008 3:48 PM

Edited by: Mircea Precup on May 23, 2008 3:52 PM

Former Member
0 Kudos

You can use one of the various flags for deletion in the IDoc. Unfortunately R/3 doesn't have a real good method for deleting business partner data because you could cause issues if this happens. Once a transaction has occured on that master data record there are lots of places in the system where links are stored to the master record. For this reason, SAP requires you "flag for deletion" which marks it so transactions can't occur on the record anymore. You can flag it at the root level, or at the company code, or sales area level.

If you check the IDoc you are using, in the case DEBMAS, you'll see there are several IDoc fields which will trigger the deletion flags.

Edited by: Harrison Holland on May 24, 2008 4:22 PM

michael_theis
Active Contributor
0 Kudos

In addition to Harrison:

the delivered MDM content does not support the standard usage of those deletion flags. The MSGFN codes in the IDocs are always set to '005' which is a 'modify' but not a delete (this would be a '003'). Nevertheless you can add this to your repository by adding a new syndication map or changing the existing ones.

The reason why this is not part of the delivered content has already been explained by Harrison. MDM does not know anything about how the records are used in R/3. A deletion could be impossible or might even lead to falsifications of existing R/3 processes.

Ensure that you only delete data if you're sure that it don't impact your existing processes!

Cheers

Michael

Former Member
0 Kudos

Thanks to all.

I've been trying to manually alter the incoming idocs by creating my own version of function IDOC_INPUT_CREDITOR_MDM, and then modifying/adding E1WYT3M segments. The basic problem seems to be that MDM doesn't implement the same validation rules as R/3; for example you can delete business partners in MDM which are deemed as mandatory in R/3; further, you're free to add busniess partners in MDM although they're not defined for the relevant purchase organisation in R/3 and so on. If you want the same strict validation in MDM, you're obliged to implement it yourself (and that seems to only go so far anyway).

So, in short, I think it all boils down to certain shortcomings of MDM, not originally being an SAP product, and here clearly showing it's lack of integration to the "real" business processes in SAP (meaning R/3 or ECC or whatever you prefer to call it). MDM lacks the rigid business rules that apply to the R/3 processes, which causes problems and issues when you decide to rely on it for the very purpose for which it is intended. It's awkward and cumbersome to work with this lack of integration, and it should (frankly) be unneccessary to have to try and cope with these issues... Let's hope SAP manage to straighten things out in future versions of MDM.

Trond

Former Member
0 Kudos

I dont thinks its a bug.

As MDM is to maintain all updated Master data.

& then we syndicated it to all other systems.

So it can correct data(Modify) or create data(add) in all systems.

Thanks,

mahi