cancel
Showing results for 
Search instead for 
Did you mean: 

losing all syndication maps

Former Member
0 Kudos

Hi All

Each time we extend the xsd schema all maps are lost and we have to recreate the syndication maps.

Even if we add 1 more field the whole schema needs to be updated & reloaded in MDM.

Is there no other option for extendig the existing schema without losing or reworking on all maps.

regards

Ravi

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi! Ravi,

You have to create the MAP again if you change XSD,there is no other option.

If you are afraid of losing MAP information and then making some error while creating new one.

Then best way is to create new map with different name and copy other properties from old map

and then delete old map.This is cumbersome but this is what i do in case of making change in a big map.

Regards,

Mandeep.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Ravi,

We faced the same problem..

This issue is same when you work with XML schemas either with Importing or Exporting scenario.

The simple reason being when you are using an XML schema This structure is saved in your MDM console and is assumed to have all the necessary segments and fields required while mapping.

Any change in the schema the smallest of which even if the order of the fields get interchanged your map will fail to work correctly.

Though it is evident that this is a very difficult task of mapping to redo everytime the schema changes,it is maintained to keep a consistency of mapping.

The XML schema is an initial step that needs to be taken before you go for importing or syndication and changes in this initial step will ask for all the following steps to be redone.

In our case we followed the below link to solve the problem in case of importing XML.

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/80ad0cff-19ef-2b10-54b7-d4c7eb43...

Hope SAP is taking note of this suggestion and will come up with some solution.

Hope It Helped

Thanks & Regards

Simona Pinto

michael_theis
Active Contributor
0 Kudos

Hi Simona,

the document you've pointed to explains how-to create a value mapping template for MDIS. First this won't help in this case as MDIS/Import Manager behave differently compared to Syndicator/MDSS when you enhance an XSD. Second, regarding your comment "Hope SAP is taking note of this suggestion and will come up with some solution.", I just can say that we've taken note of your suggestion but there is not much we can do. Customizing values can be changed, enhanced, deleted by customers. Surely we could provide some value mapping for import, but we cannot guarantee that this SAP value mapping would exactly fit to the customer values. So we decided not to delivery any value mappings for import so that customers can do this according to their specific values.

Best regards

Michael

Former Member
0 Kudos

Hi Michael,

Firstly I would like to appreciate SAP's prompt response and reply to the Query from you.

Good to know that SAP is closely monitoring the Partners and customers issues and coming up with quick responses and solutions.

The point that i was trying to convey to the User of this post was that whenever you make any change in the XSD and upload the same in console for use, it will impact the Import as well as the syndication mapping.As the Schema definition has changed and so the overall mapping will definitely get impacted.

We faced a similar problem at the import side when our schema fields and values were changed and so used a template for importing.

Thanks & Regards

Simona

michael_theis
Active Contributor
0 Kudos

Hi Simona,

I try to have a look into the forums here at least once a day. Most of the time there's no need for posting as your and other answers are really good and helpful! But I surely take some notes and try to improve the software (as far as I'm able to do) based on your suggestions & feedback.

The point that i was trying to convey to the User of this post was that whenever you make any change in the XSD and upload the same in console for use, it will impact the Import as well as the syndication mapping.As the Schema definition has changed and so the overall mapping will definitely get impacted.

Yes, that's true. You know, I'm facing exactly the same challenges when I'm working on the predefined SAP Standard Repositories. Changing the repositories means a lot of manual work. The reason is that MDM internally uses IDs that are hidden to the user. So if you delete a field an re-add it with the same name and code, the new field will have a new ID. This impacts the import and syndication maps as you have to re-map the new field... This behaviour is a leftover from the very beginnings of MDM - and unfortunately it's not this easy to change as the internal IDs are used basically everywhere in MDM. Nevertheless, the situation is getting better in 7.1. Import Manager is now using the currently stored XSD when opening a map, so that enhancing a Import Map is quite easy. Syndicator requireds a bit more manual work as described above.

We faced a similar problem at the import side when our schema fields and values were changed and so used a template for importing.

I really like the idea of using a template. But it's impossible for me to predict all the values that could occure on customer side. Nevertheless I think I'm going to add a short "Tip" to our Repository notes for the next release.

Best regards

Michael

Former Member
0 Kudos

Thanks Michael

The workaround suggested by you will definitely resolve the problem.

I am trying this in MDM 5.5, will confirm back if this works at this version.

One more suggestion:

So if you delete a field an re-add it with the same name and code, the new field will have a new ID. This impacts the import and syndication maps as you have to re-map the new field...

This is true even when we rearrange the fields in Console. All field IDs are lost and the mappings are gone too. Ideally Map should contain an ID which is not impacted even by rearranging the fields.

Best Regards

Ravi

Former Member
0 Kudos

Hi Ravi,

Whenever you are importing in the XML format you need a XSD structure to support.If you do not have a supporting XSD MDM Import manager will not be bale to under the incoming XML file.

The XSD describes the structure and format of the incoming source file .Therefor every deatil in the XML structure should match with the XML source not just the presence or abssence of fields but also the order of fields matters.

If you are making any changes in the XML file the same has to be reflected in the xsd.There is no exception to this.

A simpler way could be to edit the XSD under teh xml editor if the chnages are small and minor. and then sue the updated XSD.

Hope It Helped

Thanks & Regards

Simona Pinto

Former Member
0 Kudos

Thanks for replies.

Simono, I was asking for syndication maps.

Idea was that when we change the xsd and upload in MDM with same name it could be used with the old maps and we map the changed fields. But thats not possible as syn map also stores the xsd.

regards

Ravi

Former Member
0 Kudos

Hi Ravi ,

You can export old maps to a local folder & reimport the same after schema modifications are done.But make sure you crosscheck the mapped fields & map the additional fields to be mapped if any.This will save your time.

Thanks,

Anand K

Former Member
0 Kudos

I am running into the same situation. The export and import does not work. As soon as you import the old map, the new segments and fields in the new schema are automatically removed.

I hope SAP can do something about this because it is a terrible design to tightly couple the schema with a syndication map. It makes future schema extensions very difficult. We have over 200 fields mapped in MATMAS IDoc schema. It's very time consuming and prone to errors to remap these fields over and over again.

michael_theis
Active Contributor
0 Kudos

Hi Kenny,

at least for MDM 7.1 there's a small workarround available using the export / import map functionality in syndicator. If you have enhanced a XSD you can do the following:

1) Export your old (the one you want to add new field mappings) syndication map in XML format.

2) Open the map.xml with a common text/xml tool (notepad, altova, whatever)

3) Have a look at the structure of the XML. You'll recognize some main segments like Remote Systems, SourceSequence, Properties, Destination and Mapping. Interesting ones are Destination and Mapping.

4) To enhance the target structure you can manually add your field(s) to the Destination items. Note that the destination items reflect the structure of your desired output message. Each "field" has a id of its own. When adding fields you have to ensure that a) you use a valid id (whereas the id is simply a counter) and b) you add the field at the correct position according to your XSD.

Sample:

I have to enhance my syndication map CREMDM04 (Vendor distribution). I need to add some elements in segment <E1BPAD1VL> (that is a child of the <E1ADRMAS> element). This is how the <E1BPAD1VL> segment looks like before the change:


<Item id="217" name="E1BPAD1VL1" output-type="XMLElement">
 <Item id="218" name="ADDRESS_ID" output-type="XMLElement"/>
 <Item id="219" name="LANGU_CR" output-type="XMLElement"/>
 <Item id="220" name="LANGUCRISO" output-type="XMLElement"/>
 <Item id="221" name="COMM_TYPE" output-type="XMLElement"/>
 <Item id="222" name="ADDR_GROUP" output-type="XMLElement" static-text="BP"/>
 <Item id="223" name="HOME_CITY" output-type="XMLElement"/>
 <Item id="224" name="HOMECITYNO" output-type="XMLElement"/>
 <Item id="225" name="DONT_USE_S" output-type="XMLElement"/>
 <Item id="226" name="DONT_USE_P" output-type="XMLElement"/>
 <Item id="227" name="SEGMENT" output-type="XMLAttribute" required="true" static-text="1"/>
</Item>

I have to add three more fields/elements:


<Item id="217" name="E1BPAD1VL1" output-type="XMLElement">
 <Item id="218" name="ADDRESS_ID" output-type="XMLElement"/>
 <Item id="219" name="LANGU_CR" output-type="XMLElement"/>
 <Item id="220" name="LANGUCRISO" output-type="XMLElement"/>
 <Item id="221" name="COMM_TYPE" output-type="XMLElement"/>
 <Item id="222" name="ADDR_GROUP" output-type="XMLElement" static-text="BP"/>
 <Item id="223" name="HOME_CITY" output-type="XMLElement"/>
 <Item id="224" name="HOMECITYNO" output-type="XMLElement"/>
 <Item id="225" name="DONT_USE_S" output-type="XMLElement"/>
 <Item id="226" name="DONT_USE_P" output-type="XMLElement"/>
 <Item id="NEW" name="PO_BOX_LOBBY" output-type="XMLElement"/>
 <Item id="NEW" name="DELI_SERV_TYPE" output-type="XMLElement"/>
 <Item id="NEW" name="DELI_SERV_NUMBER" output-type="XMLElement"/>
 <Item id="227" name="SEGMENT" output-type="XMLAttribute" required="true" static-text="1"/>
</Item>

Of course, I cannot give the id NEW. Now I locate the currently highest destination item id in my map: 780. I just add 1 for my new ids:


<Item id="217" name="E1BPAD1VL1" output-type="XMLElement">
 <Item id="218" name="ADDRESS_ID" output-type="XMLElement"/>
 <Item id="219" name="LANGU_CR" output-type="XMLElement"/>
 <Item id="220" name="LANGUCRISO" output-type="XMLElement"/>
 <Item id="221" name="COMM_TYPE" output-type="XMLElement"/>
 <Item id="222" name="ADDR_GROUP" output-type="XMLElement" static-text="BP"/>
 <Item id="223" name="HOME_CITY" output-type="XMLElement"/>
 <Item id="224" name="HOMECITYNO" output-type="XMLElement"/>
 <Item id="225" name="DONT_USE_S" output-type="XMLElement"/>
 <Item id="226" name="DONT_USE_P" output-type="XMLElement"/>
 <Item id="781" name="PO_BOX_LOBBY" output-type="XMLElement"/>
 <Item id="782" name="DELI_SERV_TYPE" output-type="XMLElement"/>
 <Item id="783" name="DELI_SERV_NUMBER" output-type="XMLElement"/>
 <Item id="227" name="SEGMENT" output-type="XMLAttribute" required="true" static-text="1"/>
</Item>

5) Save the map.xml and re-import it into your repository. You'll see the newly added fields in the destination items pane. You can now map the fields.

Best regards

Michael

Former Member
0 Kudos

Michael,

Thanks for your reply. Unfortunately we are using 5.5 SP06. But it's good to know that there is a workaround in 7.1.

Regards,

Kenny