Posts

Update to testing on SAP Cloud Platform Integration (CPI)

We just released IRT 2.3. That had two big additions. One was our ability to monitor your full SAP PI/PO/CPI development process. In this post, I’ll share the other which is much better support for cloud integration.

In 2.2 we add the first option to run cloud integration tests. We were able to use the new trace functionality for cloud integration to get messages at all stages. This made our test easy to perform without any changes to the setup.

In this, we have added some more functionality

  • We can run regression test for both HTTP and now SOAP adapter. This means that it will use your existing iflow to process the test message in.
  • If you use other adapters or scheduled tasks IRT is able to create a new flow that looks like the original one, except it starts with an HTTP adapter. IRT can record the message from the existing flow.

We have an oss note with SAP that the latest release meant we were getting some problem when setting an iflow into Trace mode.

You can watch the demo video here.

It is pretty simple to setup. Just signup at http://figaf.com/irt then login with the password you will get. Here you can also find the manual. Download the jar file, start it. In the configuration enter your host url, Suser and password, then you can synchronize the list of iflows and start setting up test cases.

 

 

IRT 2.2 Release notes Testing of SAP PI, Cloud Integration and Changemanagement

Yesterday we release the IRT 2.2 to make testing even easier. This release contains a lot of new functionality that makes it a lot easier to test your system.

One of our visions is to make an all round change management tool that allow you to find errors, fix them, document the changes, and test it. We have added the first part of this which is to support the change management, this will allow you to document what is going on in the landscape.  So now we have a link form ICO all the way to message mapping. This will allow us to ensure that you test the interfaces before you make any release.

You can see the video for a presentation here.

 

Cloud Integration. We have now added the option to start testing SAP Cloud Integration (CPI aka HCI) . It is made possible by the new option to trace information so we don’t need to make modifications to your iflows to test it. We can do a regression test with the HTTP adapter now, and hopefully will be able to add some more adapters in next release. For other messages, you need to use the baseline testing, where you will be sending the same message again. We will add more functionality to this testing to make it easier to do regression test for all adapters.

Baseline test cases. This is to make integration with Workflow tools like HPE UFT that already creates a set of number of messages to the SAP PI/PO system. So instead of IRT is sending test messages the sending system is creating the messages. The test would then compare that the same messages are sent and compare that they are processed in the same order. This is also a function we are using when testing with SAP Cloud Integration.

Change Tracking Tool. In the change tracking tool we have added the ability to see all repository objects and what is changed. So you can see where in an object it changed, we will add the option also to do a comparison in UDF and Message mapping in a future version. The cool thing is that you now can see where a message mapping is used and in which ICO/iFlows it is used. This will give users the option to run test report that covers the things that have been changed. We still have to add a few links.

 

If you are ready to start testing your SAP PI/PO/CPI solutions better then have a look at the Figaf IRT tool that allow you much better testing.

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.