cancel
Showing results for 
Search instead for 
Did you mean: 

MDM Cust and Vend idocs are deleting International Address Versions

Former Member
0 Kudos

Hi. We are sending Customer and Vendor data from MDM to R3 via XI. We maintain international address versions directly in R3. We just noticed that updates from MDM are deleting these address versions from the ADRC table. Does anyone know how we can prevent that? We want MDM to only update the default ADRC record, where the Version field is blank. It should not touch (update or delete) any other records, e.g. version C (Chinese), K (Japanese), etc.

Thanks!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Steve,

3 ways to do it.

1. Dont map address info in MDM syndicator so it will not be sent out. (recommended)

2. Filter this info in R/3 in IDoc settings.

3. XI can also suppress this info.

Hope this helps,

+ An

Former Member
0 Kudos

An,

Thanks. We must send the addresses from MDM to R3, that is the whole point of the interfaces. We are doing central data registration on MDM, and sending the data to R3.

We would rather not customize XI, we have kept it totally vanilla so far. We are going to upgrade to PI soon, also.

You mention filtering in R3 in idoc settings. Can you explain that more? Is there a way that we could make these idoc types only update the default ADRC record? If so, do you know the steps, at least to get started? I can talk to our ABAP programmers and maybe an EDI person who is more familiar with idoc settings, if you can give us a starting point.

Thanks again for your speedy response!

Steve

michael_theis
Active Contributor
0 Kudos

Hi Steve,

how do you send data from MDM to R/3? Which IDoc types do you use, especially which IDocs do you send from XI to R/3?

Cheers

Michael

Former Member
0 Kudos

Michael,

We use ADRMAS02, DEBMAS06, and CREMS04. Everything from the MDM XML doc through XI, to idocs, to the function modules that process them on R3, are all vanilla. We didn't change anything other than MDM repositories, and of course we created the maps we need from our MDM tables to the vanilla MDM XML syndication output format.

One of our ABAP programmers looked at the processing in R3 and said that the ADRMAS02 idoc is processed by function module IDOC_INPUT_ADRMAS which in turn calls the BAPI, BAPI_ADDRESSORG_SAVEREPLICA and the address version can be passed in E1BPAD1VL-ADDR_VERS segment and field. We found that field in the MDM XML format, and tried to map in a SPACE, since the ADRC record we want to update has NATION field blank. It looks like the idocs merely contain an "S" in that field when it hits SAP, truncating the word SPACE. Those idocs errored, so it didn't work.

If there is some way to map it from MDM into the XML via the map, that would be great. But it can be hard to map a blank. Normally the idocs just don't even contain that field E1BPAD1VL-ADDR_VERS in the idoc segment, since it is not mapped from MDM (except for our test). Fields that are null (blank) just don't get passed in the idoc.

And even if it did somehow pass a blank value, I'm not sure whether that would prevent deletion of the international address versions. I hope so, since that would be the simplest solution, by handling it in the map up front in MDM, rather than changing anything downstream.

Thanks!

Former Member
0 Kudos

Dear Steve,

You are already into advanced ABAP , playing with IDoc

However I seen that structure ADDR_VERS is made of Nation and date from. The Nation is having the true values which we have to consider. It has values I-International, C-Chinese etc. So if you are mapping S which doesnt exist, IDocs giving error. Mapping to some new value (may be M-mdm after creating in R/3) will solve the issue.

If I am correct you are able to map SPACE in MDM syndicator. Hope you tried mapping Null in MDM syndicatior.

+ An

Former Member
0 Kudos

An,

Thanks. The default Customer and Vendor addresses are stored in ADRC will Version (NATION field) blank (null).

M is already a version code (Traditional Chinese), but anyway, we cannot use any value for Version, it must be blank for the default address version.

Regarding mapping a null, how would I do that? We do basically need to map a null in the MDM map (to the XML format), so that the Address Version field gets passed in the idoc, but with a null value.

Unfortunately our main MDM expert is out on leave at the moment. I will try to discuss with someone else, see if they have an idea about how to map a null.

But, even if we can map a null through to the idoc, I am not sure that it will solve our problem. The current behavior updates the ADRC record with version null, but it deletes the others ADRC records. So it somehow does know already to update the blank version record, so the basic issue is not so much about telling it which record to update, it already does update the correct record. We just want it to stop deleting the other records.

Thanks,

Steve

Former Member
0 Kudos

Hi Steve,

This is going intresting. Unfortunately I wont be good help in R/3 until I have my hands on the code and debug.

However to pass NULL from MDM; there is custom item tab in syndication. Create a custom item there and enter null in the formula or leave blank as per your requirement.

Hope this will do the trick.

+ An

Answers (1)

Answers (1)

Former Member
0 Kudos

Steve,

I know this post of yours is 5 years old now, but we are experiencing the same deletion issue.  Do you remember how you overcame it?

Thanks,

Keith