Why have a full SAP PI/PO regression test case is needed

Do you have a full set of regression test cases of your SAP PI/PO system and can run them when needed to ensure that nothing is broken.

This week I was talking with a potential customer about our testing tool and the newest feature where they did not need to install anything on the PI system. They did, unfortunately, have a too old version of one of the components to allow us to read the log messages. It was added with OSS 2437778.

It is the standard way out to add new features to patches or service packs to give customers there the features which are required. Most of all the time you want to be able to leverage the new functions in some scenarios to solve a business need.

With the way SAP is delivering the Java code is it cumulative patches. This mean that patch 3 contains updates from patch 2 plus some more changes. So you cannot just get the fix you want as you can with ABAP.

They are also linked with dependencies so if you upgrade one, some part will stop function because it is missing a dependent library. So most of the time you have to update quite a bit of component and you have no idea about how this will affect everything else. You can read the release notes, but it is difficult or close to impossible to predict how this will impact your system.

And to make matters even worse, you probably need to upgrade all components to the latest to ensure all dependencies are met.  

In a normal company it will take a long time to validate these things, so if you’re just adding a simple feature it is really a no go to do this. The business case is difficult to explain, we want this feature to do X, but it will cost a lot of testing. So you have to wait for the business to ask for a new feature and then that project would have to pay for the upgrade/patch.

That’s the reason why I want to have a full set of regression test cases that you can just run whenever there is any patch or an upgrade that you have to ensure that everything works as expected without involving people in the testing of the new features.

The price for an upgrade is a partial basis to get them to upgrade the system and then a part to test the component. The biggest cost is the tests that you need to perform to ensure that everything works as expected. It makes, therefore, sense that to be able to automate that part if it is possible.

With most test tools that take a long time to set up these the test cases and that’s why we’ve created a tool to enable you to set up these test cases fast.  We had a customer Anadarko Petroleum Corporation that could set up 300 test cases in just 3 weeks.

Since then we have optimized the process a lot making it a lot faster to set up test cases. So I would assume you will be able to set up test cases a lot faster than now.

The cost of running the test for the full system is close to zero, so you can run them daily to get information about how the system performs or if anything is broken.

So you can apply the latest support packs if you want to have an updated system with the latest features and fixes.

You can download Figaf IRT tool and use the tool for free upto 10 ICO’s to test on your own SAP PI/PO system. You can request a trial license to get more tests done. If you already have the patch mentioned then you don’t need to install anything on your system and in many cases use your own use for the testing.

 

Migrating Seeburger to SAP B2B Add-on the fast way

We have lately seen a large interest in the Seeburger to B2B Migration because SAP PI/PO customers are seeing as a way to bring down cost and optimize. There is a number of factors that allow users to achieve this

  • The new solution from SAP has a lot of advantages making it a lot more flexible and supports the newest schemas. It includes all EDIFACT, X12, Tradacom and EANCOM messages that you want to be using, so you don’t need to pay for each message.
  • It is also simpler to transport since they don’t require the use of the BIC to make the one to one mappings
  • It contains all the same adapters with some new features
  • The price of the solution is also included in your standard SAP PI price so you don’t need extra licenses to make sure you can communicate with EDI for your partners. So you can save money on the maintenance of the Seeburger solution.
  • You have the option to use the Trading Partner Management solution making it a lot easier to maintain many partners and the information from them.

When facing the migration there are some challenges that you must figure out how to solve.

  1. Schemas are different so everything needs to be remapped
  2. Test nothing happens with the output messages.
  3. Budget and planing

1) Schema changes update from Seeburger

One of the issues is the schema structure between the Seeburger and the SAP PI B2B Add-on is different on some different levels. The root element is different but there is also some different naming of groups and fields. In the Swing tool you have the option to remap some fields, but then you need to take manually account of all the fields in all mappings. And if it is not done consistently then you can end up with problems.

I always want to optimize as much manual labor as possible as that is what we are doing with our Seebuger Migration Tool. Simply select the message mapping and the new target XSD and it will convert it for you.

We currently have the free introduction package that contains 10 mappings for free. It is normally 100 USD pr mapping. So it is a really good way of getting started with the migration. That way you can prepare your self for the migration project and understand the complexity and what you otherwise need to move.

In the video below you can see how to get started, requesting licenses that you get to select 10 off for free. Then run the migration. Running the migration for a message mapping takes a few seconds.

 

2) Testing the migration

For any migration, it makes sense to test that nothing vital has changed. It is really crucial for EDI because the importance for the business, you cannot afford to be down for a period of time.

Even if the mappings are validated there is still a lot of components that you need to ensure is not messing up the flow. We recommend using the Figaf IRT SAP PI/PO test tool. You can use it for free for up to 10 Interfaces, so you can use it to validate the migration tool work. The Figaf Testing tool is build to make it really easy to fetch test messages from your production system, and then be able to use them on your development system for testing with. If there is any difference you know there could be something wrong. IRT has support comparing XML, EDIFACT, X12 and other formats.

If you purchase the migration tool for your full conversion we can find a good offer on the test tool.

 

3) Budget and planning

It is pretty difficult to get any budget for a migration project. In most cases, you will halt development for a period of time to perform the migration. It is more fun to spend the money o new development that helps the business. The biggest reasons for a Seeburger to B2B add-on from a financial perspective is that you can avoid the maintenance of the Seeburger application and use the license you already have. The support and maintenance of the new system may also be faster but it will not likely be something that will make it selling criteria.

I have created some blog post that covers more details on how to perform migrations in and make it easiest. They are focused on general migration but it will be the same concepts that are required for the other migration.

 

The Goldilocks Zone of Change management for SAP PI

Setting the correct change management procedure can be challenging. You need to capture the right things and not too much.

For one SAP PI/PO client, I just had to do development in Dev, and then move to production to test. I was really uncomfortable doing this.
Another client requires a lot more effort to do the transportations needed. Here is multiple checks and validations to do transports. Here it takes too long time to do something.

That is the reason I believe there is a Goldilocks zone for change management you need to do not too little and not too much.

In many places, people are just trying to implement the same changes that they have to do ERP changes. Which is probably not ideal for transporting SAP PI/PO objects. I have been spending a lot of time making documentation that was not ideal.

In my example where I had to change a field in the XML formats it would be nice if I could mark the changes and then use it. The more manual work you are going to do the more difficult it will be to make the documentation and ensure it is correct. And how do you find it when it is necessary. So at the client, I worked where we had a lot of documentation we could just capture a few lines text about what we had done on the interface. Finding it again would be difficult because how did you find the message mapping information.

 

For SAP PI/PO we are working to improve our Change Tracking tool that allows you to do better change management on your landscape. We have currently been looking at just directory objects, but in the next, release we will also have documentation of repository objects. This will allo you to assign a ticket and a description of why something was changed. You can then see for a message mapping when something was changed in it and why. You can also do an easy comparing between the versions to find the differences.

Read more at http://figaf.com/ctt

 

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.