Do you open iPhone/Android apps that have not been updated for 1 year. I have 3 apps on my phone not updated in 2018. Yet most companies do not upgrade vital systems for years. This post is around updating your SAP PI/PO system.
Your SAP Integration
In all organization is Integration really important. It must run 24/7 without interruptions or problems to ensure that your IT systems function optimally. The integration layer connects everything and is therefore critical in all processes.
As developers, we have to be at agile and develop integration today so the business can start using it and get the benefit of it today. This contradicts normal system development because the amount of paperwork and testing can take a lot of time.
I hope this post will give you some insight into how to keep your SAP PI/PO system update and what is really useful in that case.
What is the current status
If you are on SAP PI/PO 7.5 SP 8 or above you are probably one of the few companies that keep the system updated to the latest release. In the survey from 2016, there was a large number of users still on releases prior to 7.31. The number adds up to some strange percentages but it shows that a lot of users still use the old platforms. SAP PI 7.31 is from around 2011 so it is pretty old in a world that change so much. 7.5 is from fall 2015. You would probably not start an iPhone/Android app that has not been updated for 2 years.
The two main reasons why companies are not using the latest release is the following
- It is too difficult to get the system upgraded. This document covers this part
- They are licensed differently
The difference with the license is that SAP Process Integration was licensed pr number of GB traffic sent to Non SAP systems. Process Orchestration is licensed based on the number of cores in your system so it may be a little strange converting the two and many have found it expensive.
There are some ways you can reduce the price by limiting the number of cores.
- There may be a saving in the number of cores if you move to a newer processor architecture so it can reduce the new price.
- You can also run the database on a separate system, so you are not paying for cores only used for database activity.
- Setup message prioritization so you have batch messages being processed slower.
Why Update the SAP PO system
- SAP Bugs: It has the potential to backfire when implementing new scenarios you could run into problems bugs in the software that you need SAP to fix. So once you find bugs report them to SAP you are asked to upgrade to a new patch. And if you just patch are you then sure nothing else is broken in the process. See the section on update types and patches.
- Security: All systems have security bugs that are fixed from time to time. There has not been that many security problems in SAP PI/PO system. It would still be an important target for hackers to get access to. So if something critical is found it should be fixed fast.
- Latest release: You want to be on the latest release to be able to get the new functionality so it can be used to enhance your scenarios. Most features will come in the newest Support Pack that way you can start using it without having to do any workarounds. This is true if you want to run Cloud Integration Content locally, where there is a lot of work going on.
- Continued support: SAP has a limit on how long time they will be supporting each release and if you get too close to the limit you will have to pay a higher maintenance cost.
- SAP Support cost: What would happen if SAP only had to support tools 1 year back, then it would be much easier to maintain the code and ad new functionality.
The cost involved with updating the systems
Each time you must perform an upgrade or update of the systems there is a number of the cost associated with it. I have tried to list them below at a high level.
- Installation cost of installation of the new software on all SAP PI systems can take time. SOLMAN should help to make the installation process easier
- Testing of the installed system can be a rather big process. It often requires the developer, business experts to do a lot of testing to ensure that it works. This is probably the most costly part of all the upgrade.
- Downtime for the upgrade. Near Zero Downtime is a hot topic at SAP and it makes it easier to do different types of upgrade without affecting the business. It is also a costly procedure and many organization may skip it so they PI systems can be down for up to a weekend. This always causes problems.
- Developers may not be able to develop or deliver new functionality while the upgrade is in progress
- Then there the once that fit into your organization.
Different update types
So there’s a couple of different updates types that you can use whenever you are doing SAP PI development. I will cover them in this section.
- Patch: a patch fixes barks in the current release and it’s not adding new features. It is a cumulative patch so once it is applied it will include all other bug fixes found in the support pack. So you don’t really know what changes are made to the code in the period. Many upgrades also have dependencies to other components so you may have to upgrade may different components to get one updated correctly. This could then lead to other problems.
- Support package: a support package add new functionality to the system to follow customer requirements. It also contains some patches of the previous release to fix the bugs in it.
- Release: a release is adding new functionality but most important other deployment options like new java versions or support for other databases. It may add new functionality, not in previous releases and contains an updated Support Pack. There has not been any talk on any new version above 7.5.
- Migration: one of the upgrades that a lot of people are doing is immigration from a dual stack system to a single stack system this is not really an update but it also counts as a major change in your environment. Most customers would use a new system to do this migration and then move all the different countries that have over to it.
What can go wrong with an upgrade
There is a number of things that can go wrong with an update to the standard components. I have seen the following things happen in my time applying patches or support packs. This is the things that should be found in your testing.
Message mapping is changed. This is the most common change. The message mapping framework is complex and rather delicate, so once something is changed it affects other processes. It could be the way User Defined Function is evaluated for complex queues or how it is evaluated if a node is correct.
In this occasion, the problem may only be affected by the few elements where you use a specific function of the framework in the mapping. I have seen four different cases of those changes, where it sometimes only is seen in production because the testing was not complete enough. So some messages failed in production, while a solution should be created. And what happens if the messages do not fail but just give a different output.
Adapters are changed. New functionality has to be added to an adapter so it may behave differently in the scenario that you are using. Sometimes there has been changed to the adapter specific attributes. This will mean that the adapter does not function as you expect and the integration will not work.
Modules are changed. The SAP is providing a number of different modules and they may change. This is not often they are changed, but I would expect that the B2B modules could be a little fragile and when combined with custom content for flat file conversion.
Your own code could change. If your code relies on any SAP or Java libraries the functionality may change in the process.
Something else there is room for other problems to occur like routing or use of Trading Partner Management functionality.
How to test?
There are different ways that you can test your SAP PI/PO solution and they all have advantages and disadvantages. The more you are able to test fast the better because then you don’t have to worry about the changes.
End to end test
An end to end test that you test all components in the flow. You start with the sending system to create the document that you are looking to use, the document is processed in the SAP PI/PO system and delivered to the receiving system.
This is a very time-consuming process to set up and ensures it works. You can either automate it with scripts or just make it manually. In both cases, it takes a lot of effort to create, maintain or execute.
The unit test allows you to test just the part that is changing. You are just testing the SAP PI/PO system it is only that part you want to test. Most would just test the message mapping, or just run it to see that it functions. Or you can send in the message in using the test tool in SAP PI and download the response. It is a way to test, though not optimal.
Automated Unit testing
Both of the options for testing is too time-consuming. It takes much time to perform the test each time you upgrade, or just to setup the test cases. That is why I created the Figaf IRT tool for SAP PI. It is a tool that simply allows you to collect a bunch of test data and you can use to test your interface.
So we are narrowly focused on testing just the SAP PI/PO interface, that mean you just select which ICO’s you want to do testing on. Then the system automatically fetches test data from your production system, which is then used as a baseline. To run a test it sends this set of recorded messages into the test SAP PI system and gets a result. The two output message is then compared to ensure they are identical.
A customer has reported they were able to set up test cases 300 ICOs in just 3 weeks. So it is something that is fast to setup compared to a normal End to End test.
The best tool on the market to make it easy to test the things is Figaf IRT, a tool build around optimizing the SAP PI/PO test to be done fast.