cancel
Showing results for 
Search instead for 
Did you mean: 

Syndicate vendors to different ERP R/3 systems

Former Member
0 Kudos

Hi,

Could someone please explain to me how I get a vendor record syndicated to two or more ERP systems?

I'm using the SAP content vendor repository and IDOC CREMDM04, ADRMAS and CREMAS.

SAP told me that it is not possible to map to segment EDI_ DC40 and then I got the following instruction:

You mentioned in your message, that you need to map the remote system into the field RCVPRN.

Actually you don't have to do this, because this syndication is going toa specific remote system, which is SAP ERP Remote System.

You can check it in the "Map Properties" tab.

And also Syndicator gives the possibility to override it, there is an option in the Map Properties tab called "Remote Key Override".

So it means, that you do not need to map the remote system at all.

And this is how Syndicator was designed.

I have created key mappings for two remote systems and in "Map Properties" "Remote Key Override" I have filled in the two remote systems. But when I execute the syndication I'm asked to fill in the file path on the server and the file name, so I only get the IDOC send to one system. We use the FTP and File Network shares (File Adapter) integration to PI.

Kind regards

Jonna

Accepted Solutions (1)

Accepted Solutions (1)

michael_theis
Active Contributor
0 Kudos

Hi Jonna,

usually PI fills the EDI_DC40 segment - that's why it is not really needed in NW MDM.

If you want to send data into various ERP systems, you need to create these as remote systems in ERP. If you do not do this, you cannot maintain different remote keys for your systems. This would mean that e.g. the Vendor has the same ID in each of your system. Is this really the case in your system landscape?

On PI, you have to setup the routing to the systems independently, too. Each "system" needs to listen for a specific FTP path (where MDM's syndicator puts the files).

Best regards

Michael

Answers (4)

Answers (4)

Former Member
0 Kudos

hi.

just make things simple and see if it works , then make it the state of art solution.

make 2 ports - 1 for each remote system

make 2 identical maps - and use them for each port / each system

do the syndication TWICE, using map1/port 1 and map2/port2 and see if 2 files are placed in 2 diff ready folders for PI to pick up !

in the PI, have dedicated ftp paths for each port / each remote sys . ie one to one mapping.

- now your true problem , of having the same record twice in the fsame file seems to be a bug to me ... not sure why that is happening , but get rid of the remote key mapping completely to see if that is solved (the above setting would not require a key mapping i believe.)

thanks

-Adrivit

Former Member
0 Kudos

Hi Jonna,

You need 2 maps to syndicate to 2 different systems. You should check the Map Properties tab and make sure that the Remote Key Override field is set to the appropriate remote system for that map. There should be only 1 remote system listed in the Remote Key Override field. So, your first map will have remote system 1 in the Remote Key Override field. The second map will have remote system 2 in the Remote Key Override field. The maps are assigned to the appropriate port. If the ports are set to Automatic then MDSS will syndicate to both ports.

Former Member
0 Kudos

Hi Michael and Aamir,

Thank's for your replies. Unfortunately It still doesn't answer my question though I think it's quite simple.

I have a vendor record in MDM, I change some fields and need this changes to be updated in two remote systems.

Those two remote systems are maintained in the key mapping.

I know, if I can syndicate this one vendor record to two ports in MDM, then it will work, but I do not know how to do this.

I also think there should be another way to pass on information about the two remote systems from key mapping to PI.

Kind regards

Jonna

michael_theis
Active Contributor
0 Kudos

Hi Jonna,

Ports are being defined in MDM Console - similar to the definition of the Remote Systems. As soon as you've created the port for each Remote System, you can select the correct port in Syndicator.

Best regards

Michael

Former Member
0 Kudos

Hi Michael,

I do have the ports created. My problem is When I do the syndication I have one file with the same vendor twice and I can only place it in one port, which means the two identical records will be distributed to one ERP system

Kind regards

Jonna

Former Member
0 Kudos

Hi Michael,

Thank's for your reply, but unfortunately it doesn't answer my question. I do have created the 2 remote systems and the connection to PI is also working. My problem is that I have an update to a vendor which I need to distribute to 2 different remote systems. The key mapping has been filled for both remote systems, but when I execute the syndication I'm asked to fill in the file name and port, from where PI takes the CREMDM. My problem is that when I place my syndication file in one port, PI will send the update twice to the same system.

Kind regards

Jonna

Former Member
0 Kudos

>>but when I execute the syndication I'm asked to fill in the file name and port, from where PI takes the CREMDM

If you are manually triggering syndication so that PI should pick up, it will not ask you for FileName.

Here is the way to do it

Login to Syndicator, open the map and select File->Port, then execute the syndication, file will automatically go to Ready folder from where PI will pick up.

>>PI will send the update twice to the same system.

PI, by default will not do this, there is an issue somewhere in the configuration.

To me , it looks like a simple PI interface with multiple receivers.

PI will get a single file from MDM, it will have details of both the remote systems. in the configuration of PI, configure 2 receiver Business systems (one for each remote system). configure receiver adapter (and other PI objects) for these receivers.

This will take care of your interface.

A Single messages comes out of MDM and is routed to 2 Receiver systems.

Thanks

Aamir

michael_theis
Active Contributor
0 Kudos

Hi Aamir, Jonna,

I'm afraid that Aamir's description won't work as expected. A port in MDM is always defined for a single, specific remote system. Syndicator will send the remote system specific keys for the chosen remote system only, but not the keys for the second remote system.

If you have different keys in remote systems, you have to execute the syndication twice, one time for each remote system. If this is the case in your scenario, you have to copy the syndication maps and port for each remote system, too. Additionally you need two different connections from MDM to PI so that PI is able to differentiate who has to be the receiver of the current file.

Aamir's suggestion can work, if you always have the same remote keys in your system landscape. This must be valid for both customizing values as countries, regions, company codes, and so on and the actual object IDs. If everything is completely identical, you can send a single message from MDM to PI and let PI do the routing to your different ERP systems.

Best regards

Michael

Former Member
0 Kudos

Hey Michael,

>>If you have different keys in remote systems, you have to execute the syndication twice, one time for each remote system

I beg to differ here.I believe, we can use "Remote Key Override" property in syndication map, it will syndicate records to single port for multiple remote systems.

i just tried and it works fine.

@Jonna

>>which means the two identical records will be distributed to one ERP system

No this will not happen, you can easily filter this in PI Message mapping.

I recently did a similar interface. get one big file with records for multiple remote systems in one port, in PI filter the record and send only specific records to target systems(as per their remote systems).

Thanks

Aamir

Former Member
0 Kudos

Hi,

I would like to go with Aamir's view of using Ovirride property for syndicating single records to two different remote systems.

Generally syndicator outputs remote key's only for the remote system named in the map's remote system property, but there may be ocassions where you want to include key for remote systems in addition ot or other than the maps named remote system. The map property "Remote Key Override" overrides map's remote system property in determinning which remote systems keys is output during syndication. When we use this property syndicator adds an extra copy of each record to the syndication file for each remote system named in the property. If a record has more than one remote key value for an overriding remote system, an extra record is added to the syndication file for each additional key value.

The Remote key override property requires the current table's Remote system and Value source to be mapped or else no additional records will be added to the syndication file.

Thanks and Regards

Praful.

Former Member
0 Kudos

Hi Praful,

I think you are close to a solution of my problem when you write

When we use this property syndicator adds an extra copy of each record to the syndication file for each remote system named in the property. If a record has more than one remote key value for an overriding remote system, an extra record is added to the syndication file for each additional key value.

What I want and expect the system to do is as described in the first sentence but what I obtain is what is described in the second sentence, but unfortunately I do not understand how I get the first result. Are you able to explain this in more details?

Kind regards

Jonna

Former Member
0 Kudos

Hi,

The problem is that I do not have any information in my syndication file of CREMDM04 which will tell PI which remote systems to send to and therefor PI can not do the filtering. It was here my problem started.

Kind regards

Jonna

Former Member
0 Kudos

>>I do not have any information in my syndication file of CREMDM04 which will tell PI which remote systems to send

Seems like MDM/PI integration is giving you lots of issues

Well you can follow either of the 2 approaches:

1. Enable Remote Key for your table, develop single syndication map and use the Remote Key Override property, add Remote System names of all the ERP systems to which you want to send the data, when syndicator generates the file for this, it will automatically add "Remote Key" and "Remote System" in the file. In console, you can define to Port under any remote system.

PI will develop 1 interface and will pick files from this Port, it can use "Remote System" attribute to send messages pertaining only to that specific ERP system.

2. Develop multiple syndication maps, one map for each Remote System, in the remote Key override property, just give that remote system for which you are developing the map. So lets say you want to send data to 3 ERP systems, then you will develop 3 syndication maps, all of them will be same except that they will be under different Remote system, now configure 3 separate ports as well.PI need to configure 3 separate interfaces to pick files from 3 ports, no filtering is required on PI side for this.

If i was to design the scenario, i would follow approach 1, it has less development time and it easier to enhance if we want to enable syndication to more ERP/non-ERP systems in future.

You can make the choice as per your business needs

Thanks

Aamir

Former Member
0 Kudos

Hi Aamir,

I'm using approach 1, but I do not get any information in my syndication file aboute remote system. I'm using the SAP map CREMDM04.

Kind regards

Jonna

Former Member
0 Kudos

>>I'm using the SAP map CREMDM04.

Are you using standard map provided by SAP? If yes, i doubt you will all the remote systems under it. You will have to tweak the standard map as per your need.

Anyways, can you tell us how you have done the syndication map, what are your map properties, how the port is configured and what file output you get?

Screenshots would be more helpful.

Thanks

Aamir

Pl: If you are giving screenshots, you can't post them on SDN, you need to upload them on some website (picasa, flickr etc) and then provide the link here.