on 2007 Jul 10 6:44 AM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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!</i>
-
>
Refer this PDF which talks about retrieving data from MDM using small java code that you were looking for
Hope this helps
Hi everybody:
Thanks very much for all of your help!
alex zhang
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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&
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
75 | |
9 | |
9 | |
8 | |
8 | |
7 | |
7 | |
6 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.