cancel
Showing results for 
Search instead for 
Did you mean: 

R3->MDM and MDM->R3 without XI

Former Member
0 Kudos
82

Hi gurus:

Now i need to do a Master Data Synchronization.when i update or change record in R/3,the record must be updated in MDM Immediately.In turn, is the same .And all these steps are without XI.

What can i do ,and how can i do ?

Thanks for advanced

alex zhang

Accepted Solutions (1)

Accepted Solutions (1)

alexander_gahr
Explorer
0 Kudos

Hi,

There can be a way using the MDM ABAP API on the side of the R/3.

I have seen people doing similar things with the JAVA API.

At the moment it is not possible to do synchronous transactions with MDM, as it was designed as asynchronous tool.

You can either set the syndication port to manual and the change will be syndicated but you still would need a way to get the data from the outbound port to the R/3

A better way would be to write a small java program which listens in a short time interval for changes on a specific field. If the change is detected then you do an RFC call to the R/3 to update the field.

It will still take some time that the change will be active in R/3.

But this is the only way I see and it only a very nasty workaround.

Former Member
0 Kudos

Hi Alexander:

Can you give me an example for how to write a small java program to listen for changes on a specific field . Whether ABAP API or JAVA API!

Thanks very much

alex zhang

Former Member
0 Kudos

Hi alex

<i>Can you give me an example for how to write a small java program to listen for changes on a specific field . Whether ABAP API or JAVA API&#65281;</i>

-


>

Refer this PDF which talks about retrieving data from MDM using small java code that you were looking for

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/421718aa-0501-0010-d3b0-de6...

Hope this helps

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi everybody:

Thanks very much for all of your help!

alex zhang

Former Member
0 Kudos

As others have said, using the API's can be very effective for this situation.

If a record is changed in MDM:

1. Syndicate record to outbound port

2. R/3 ABAP program reads file into SAP and updates records

If a record is changed in R/3:

1. MDM ABAP API updates MDM with new record information

I would take advantage of the MDM ABAP API before trying to use the Java API for this, because it's much easier to build into R/3 and trigger upon material change.

Former Member
0 Kudos

Hi Ethan West:

I am a greenhorn,I need an example for me to follow step by step, can you show me the end to end solution?

Thanks!

for example:when a record has been changed in R/3,how can MDM get the record by the ABAP API,and how can i change the record which is in R/3 to IDoc?

alex zhang

Former Member
0 Kudos

Hi Ethan West:

Can you give me your e-mail,I want to ask you some questions from this way,can you?

Thanks!

alex zhang

Former Member
0 Kudos

Alex,

I don't know of any blogs / tutorials that show you how to do this from end-to-end. However you could probably find some step by step guides that will teach you each part of this. For example, the first step would be to configure your Syndication. Here is a good blog on that process:

/people/harrison.holland5/blog/2006/11/27/mdm-syndication

The next step would be to write an ABAP program in your R/3 system to read your file in. This is not a simple process, and probably will require some programming experience.

I would check out the wiki for more information on the ABAP API

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/masterDataManagement&

Former Member
0 Kudos

Hello

When u change or update any feild in MDM it will come to MDM outbound folder.

You can do this by chnaging syndication settings.

Eg. Make a boolean feild (True or False) in MDM console after that whenever u cahnge any record and set status True in Data manager it will come to outbound folder of MDM .In this case u have to make "True" in free from search of MDM syndicator also so that it wil syndicate only those record which has status TRUE.

when it comes to Outbound folder , then ABAP program can pick that file and can create a material in R/3 side.

This can be a scenario when u r not using XI.

Regards

Himanshu

Please mark points foe helpful answer.

alexander_gahr
Explorer
0 Kudos

Hello,

be aware that when you syndicate on every change of an Object this will put heavy load on you system.

You will find toutourials how to use JAVA API here in SDN. Also when you download the java API there is a complete documentation.

As i stated before this is a workaround and not an easy solution. You have to be a java programmer to do this. The it is possible.

I cann't provide a demo program, because i would have o write a new one.

alexander_gahr
Explorer
0 Kudos

Sorry I do not have an example program.

But basically you write a small java executable program running on MDM server side.

In this java program you have a threat checking awaking every few minutes.

This threads checks if I certain value in an MDM field has been changed since the last time. You can design an own field for this in MDM.

If you detect a change in the value you let your java program post an update via RFC in the R/3 backend.

As I said before this only a workaround and it is very nasty. Normally MDM can not be used for synchronous time critical processes. The current design of the synchronization of MDM with backends is an asynchronous process.