Posts

Updating a SAP PI/PO system, what to think about.

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.

Takeaway

To make the upgrade/update easier, ensure you have automated your testing. Have a look at Figaf IRT to improve the test

 

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

  1. It is too difficult to get the system upgraded. This document covers this part
  2. 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

There is a number of benefits of having an updated system at your disposal.

  • 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.

Unit test

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.

Which Enterprise software is easy to learn but also has the complexity?

For my tool to SAP PI/PO testing system, I was asked how much training you need. My thought was one hour, a client said 4 hours. That is a big difference than learning SAP PI/PO that will take days/months.

With all tools, there is the trade-off to make something simple that can do one thing VS something that can do everything. The simple is a Stopwatch app. A complex is a Java framework like Spring that allows you to do everything. And then you have everything in between.

But it got me thinking about how we learn software. You can view the video here

Please share below if you have found any good tools that we can learn from. 

So a good example of a software that is good to use from the gaming world is the simulation games. Here you get information that now clicks this icon, then do this and now you can build a farm. It is a bit frustrating because you cannot explore the application. If they do not have this guide it will be difficult to have users figuring out how to use the system.

I have not seen that strong guides for anything in the Enterprise world. Our installation is taking longer than installing an App from your favorite app store. And probably there are too many steps involved to just discard a project the moment you first run into a problem.

In the SAP world it is also difficult you have SAP ERP and creating a Purchase Order takes some time to learn. I know there are Screen Personas ( or what current name may be) and Fiori that may simplify some of the normal POs created. But it still a different approach and will allow a limited functionality. If users should do something more or create a more complicated PO it cannot be done without a lot of custom development.

Our current approaches to simplify the user experience is:

  • Add a free video course that covers the different scenarios that you would have. So a way to get the user started.
  • We are also working on embedding the documentation tighter into the application.
  • We have tried to make it as simple as possible to set up the test case with the tool.

I’m not sure if we could make some guides that helped people selecting a good interface to start testing with. But there could be some pointers what people should be looking at and for.

Please share if any good ideas to look for ways to get people using complex enterprise software. 

 

IRT 2.0 released you can now test SAP PI/PO for free

Ever since I started with developing SAP PI/PO testing was a big thing. There has not been any tool provided by SAP for it.

Over the last two years, we at Figaf has been working on creating a testing tool for testing SAP PI/PO. We got some customers using it, and it is improving their operations. Both when applying support packs or when checking that their new transports work as expected.

I thrilled to announce that we now support a free version of our testing tool. I guess it is also kind of scary to give away something that has cost this much to develop for free. There is some limitation on this free version but you will be able to test some of your interfaces and ensure they work. You can only test 10 ICO(Integration Objects) and save 100 test cases.

IRT is a tool that allows you to collect messages from your productive SAP PI/PO system and then process them on your development system. This is the fastest way to create a validation that your scenarios work.

See a short demo of IRT below.

It is fairly simple to install and run IRT. Install an SCA file on the SAP PI/PO system, create a user and you are ready to run it.  You can get it working in 1 hour if you got the access required.

Download IRT today and start testing your SAP PI/PO systems.

 

IRT 2.0 Release event. Taking SAP PI/PO Testing to the next level

If I had a big marketing department this invitation would probably look like the unveiling of the new Samsung phone. But since I’m the marketing department it is just some fact. And no cool graphics. I do hope you want to join anyway.

Testing SAP PI/PO is not really fun. It takes way too much time and is challenging. That is the reason I created Figaf IRT. I got the idea for IRT two years and it is time for a new release. We are ready to IRT 2.0 Simpler, Easier and Everywhere.

One of the big challenges has been the deployment of the IRT testing application and the difference between different Java and Netweaver that gave different results. We have therefore spent 3 months planning and rewriting the application to be able to run standalone so customers will be able to run IRT if they have 7.31+.

This enables us to create different models for deployment and license options.

We have a release party on February 8 ( which coincidently also is Daniels birthday).

I will be sharing some of the new features and what it means for licensing models.

You can join by clicking the button below.

And as with all good events, there is a surprise. I’m burning to share this with you also but want to keep the suspense.

How to ensure quality from your SAP consultants

I was talking about the talking about the future of consulting/freelancing at my disruption training. One thing that we got to talk about was recommendations like as on TripAdvisor.

If you are going to hire a consultant or employee (for that matter), you just have to hope that your skills as judging the person are correct. And also their CV is accurate and has the skills to solve your problems. I’m sure there are some are terrific interviewer, but it may be challenging to find the best person for a job.

If you were going to hire me you would make obvious like to see that somebody has said something nice about me. I’m charging a premium rate compared to what is typically requested via requiters.

I have only been hired once where the recruiter asked for references from two previous clients. I’m not sure what is the normal way to be checking what is going on. The way this normally has happened is. I have asked “Hey John, I have a new project going on will you give a reference for me.”
He will then write few words of recommendation. Like “Daniel has been really helpful in our SAP PI project. He has been taking the lead and ensured our systems is update. ”

The problem with such a review is that my clients may like me for the person that I’m and how I’m helping them. The solutions that I’m providing may not be optimal and not live up to the promise that I gave or is telling them. In some cases where I’m helping with skills that are outside their expertise, they will not be able to tell if I did a good job.

There is the third party review as a second approach. Here either I or future clients need to pay another consultant to review the work that I did. He would need same skills as I have to be able to verify what I have done. It would probably to be the most reliable sources of review because it is judging the work.

Though it may have some challenges. How am I suppose to give third party access to what I have done and shown it the best way? In most contracts, I’m not allowed to share confidential data with outsiders. I have made some solutions that are not optimal if you look at them from an end perspective, but there may have been changes during the development that meant we ended up with some crap data.

A solution: Another way could we agree on two rates a normal and one for good work. For the first period, I’m at the standard rate. Then after two-three months, my client get a third party reviewer to go thru the content that I have made. And if it is okay I got the premium rate (paid back for the 3 months) otherwise we go for the normal rate. And the contact may end.
With this latter approach, I’m giving the client some risk reversal to ensure they only pay the premium if I’m really good. And most consultants would be able to wait for it.
The only price for this would be the third party review, which anyway would be an excellent way to ensure that you are making good quality.

I guess the topic of judging Quality will be in a separate post later. Be sure to connect or follow to hear about it.