Skip to Content

PI/XI: PI 7.1 upgrade/migration – Message Mappings

Many of us already started working on PI 7.1 installations but for some of our clients starting to work on PI 7.1 means upgrading the old XI/PI (3.0/7.0) system first. There are a few articles and blogs that show how to deal with such an upgrade/migration. Some of the objects from older (3.0/7.0) versions like adapters, adapter modules, java proxies just won’t work with the PI 7.1 release but on the other hand we have a few objects that will work with PI 7.1 but in a different way. Judging from the PI/XI forum on SDN I believe it’s worth to mention that some of most popular message mapping functions may not work with PI 7.1 as they used to with 3.0/7.0. The funcitons that I refer to are – If, Ifwithoutelse and Context caching functions. As you can see from SAP OSS  Note 1264871 – Ifs,Ifswithout else, Context caching functions their behavior got changed a little bit with PI 7.1. Fortunately for us SAP prepared a nice help for correcting those mappings. As OSS Note 1264871 suggests aftr you import correct patch (SAPXIESR06P patch #16)  a new report will be available at :


This report lists all message mappings in which functions that got changed are being used. Sample output from the report can be seen in the screen below:  

There is one function migrated from PI 7.0 to PI 7.1 – ORDERS_to_MT_SalesOrder. As per OSS note mentioned in order to retain the old functionality we need to add one parameter to the init method of the Functions tab in our message mapping – retainlastValueofPreviousContext=true; as shown in the screen below.

Once you add this parameter you can run Message Mapping Upgrade report once more and you will see that the Retains Old Behavior column for our mapping got changed.


This way this mapping will work on PI 7.1 exactly as on PI 7.0 and XI 3.0 versions.

Hope this will info will help some of you and you won’t have to ask question on PI/XI forum why my mapping does not work after an upgrade.   

You must be Logged on to comment or reply to a post.
  • Really great blog Michal. I'm facing an upgrade to PI 7.1 at the moment & I was really stressing because I heard about the mapping saga after the upgrade...Now I can sleep better at night. Thanks!
    • Hi Trevor,

      >>Really great blog Michal. I'm facing an upgrade to PI 7.1 at the moment & I was really stressing because

      hope this wil lhelp a little bit
      It's common knowledge on PI/XI forum
      but since it was not posted oficially anywhere
      I thought of writing about it so everyone will know:)

      good luck with the upgrade:)

      Michal Krawczyk

  • Hello Michal,
    Nice to see you back in the current bloggers list after quite some time.
    This will surely help the consultant buried under upgrade jobs. 🙂

    Best Regards,

  • HI Mike

    Good one. Thanks for sharing this useful info. We can think of a plugin with Eclipse or NWDS for reporting Java change status 🙂


    • Hi Gaurav,

      >We can think of a plugin with Eclipse or NWDS for reporting Java change status 🙂

      I'm waiting for your blog about it then:)

      Michal Krawczyk

  • Hello Michal,
                   Good to see hoe to overcome for the error in mapping ,but do you know the reason behind this ?


    • This blog reads like that all mapping will fail after upgrade, that is not the case.

      In PI 7.1, PI 7.0 SP14 and XI 3.0 SP22 there was a bugfix which changed the handling of empty contexts to the correct and documented behavior.

      Mappings which are wrong designed based on the wrong behaviour will fail after the fix, but mappings which are designed correct will still work.

      If you are not sure, if your mapping is designed correct or not, you better use the parameter.


  • Michal
    Just wanted to comment on your observation about Java proxies not working in PI 7.1. Please note that interfaces that are XI3.0 compatible (an option to choose while creating an interface) will still support Java proxies. So any java proxies that are already being used don't have to have a code change. Library references have changed and hence they have to be redeployed after the changing the references. Any new interfaces though should follow the 'Outside in' approach, very similar to ABAP proxies where an integration with ESR is provided in NWDS as well.
    • Hi:)

      >> Library references have changed and hence they have to be redeployed after the changing the references

      that is exactly what I meant 🙂
      I didn't discuss it here as this info about redeployment is specified in migration pdf from SAP - so I just said in general they don't work out of the box

      but thanks for the comment anyway 🙂

      Michal Krawczyk

  • Hi Michal,

    Nice blog and good info...does removeContext node function behave differently after is behaving differently for us...all the maps involving it are failing...Any suggestion other than note, I will be looking at the note...



  • Michael,

    Thanks for the blog and information. I have quick question, let say I have 100 Message mappings, do I need to go and put the retainlastValueofPreviousContext=true in all my message mapping?

  • Thanks for the blog Michael (always 🙂 ). I was wondering if there is a way to export the mapping as a .mte   in 7.0 and importing it in 7.3 . I couldn't get the hidden tools menu to work in 7.3 the way you do it in 7.0(using ctrl + shift buttons)