GIS/SI maps – backward compatibility

If you work as a map developer, and your clients use different versions of GIS/SI (and different Sterling Integrator Map Editors), one day you might want to use a map from the higher version of GIS/SI in lower version. There is no problem for the opposite situation, but if you try to open a map created in Sterling Integrator Map Editor 6.4 in Sterling Integrator Map Editor 5.3 (for example), you’ll see something like this (“This map was saved by a newer version. You must upgrade in order to open this map.”):

Fortunately, there is a way to “downgrade” such maps. First of all, save your map as “{map name}.mxl” instead of “{map name}.map”. If you try to open this map in your “lower” Map Editor, you’ll see something like this (“Element content is invalid according to the DTD/Schema. Expecting: {}UseConfigurableTrimming”):

Ok, now try the following – create two the same empty maps in both Map Editors and save them as *.mxl. If your map to downgrade is X12 to IDoc, these empty maps should be the same. Maps in MXL format are just XML files, so you can open them in your text editor.

Open your empty maps in your “comparer/merger” (software to compare/merge text files. You have one, right? :))

You’ll see the differences between the maps. In my case, in 6.3 there are some additional fields:


and in my v5.3 map it’s <SerializationVersion>823</SerializationVersion> and in the 6.4 it’s <SerializationVersion>25088</SerializationVersion>

So, open your map to downgrade in the text editor and… remove these extra segments from it. And change the SerializationVersion to lower one (<SerializationVersion>823</SerializationVersion> in my case). That’s all! Now save it and try to open in your “lower” Map Editor – it should work.

Gennady Kim


2 thoughts on “GIS/SI maps – backward compatibility

  1. Your blog appeared to be close to what I need to do.. “save-as” a 5010 map to 4010. But apparently not so. I’m almost resigned to that fact, that I have to redo. 😦

    • “it depends”. It depends on the X12 structures you use in the map. If 5010 and 4010 use the same structures, you could try just to update min/max lengths (if necessary). I did such exercise long time ago – but I was sure that all I needed to update elements – no new loops/segments were used.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s