Posts

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.

Migrate from Seeburger to SAP PI B2B Addon webinar

Yesterday I hosted a webinar where we covered how to migrate from Seeburger on SAP PI to B2B Addon on SAP PO.

In the webinar, I covered some of the biggest challenges with migration.

  • How to create a business case for it. This is one of the challenges that I cannot help that much with, the main reason would be to the Seeburger Licensing. I’m unclear what it would mean.
  • How to convert the mappings. The message structures have changed, so you will need to update the schemas. It is not much but you need to do it correctly to ensure nothing is changed.
  • How to get rid of the seeburger User-Defined functions. The B2B Add-on have some different approaches to variables and counters, you probably need to upgrade the mappings to ensure that it works smoothly.
  • How to ensure everything is tested correctly. You don’t want to coordinate a migration with your partners more than necessary. So you just want to move the mappings and then ensure you have tested enough in the process.

I have two products that work to improve such a migration

Seeburger Migration Tool to migrate your mappings from the old format to the new. https://figaf.com/SMT

Figaf SAP PI testing tool IRT  https://figaf.com/IRT

To learn more have a look at the webinar replay.

Or have a look at the slides from the presentation

 

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.

IRT 2.1 released for SAP PI/PO including Change Tracking and Manual Upload

Proud of the team to deliver the IRT 2.1 release today for SAP PI. We have now added some features to make it easier to testing SAP PI/PO.

Testing normally requires a lot of manual work it is also the case when you want to test SAP PI/PO. I wanted to make it faster and easier for users to perform testing because I hate testing but it is one thing that you must ensure is performed.

View the video below hear about the different functions and learn what they mean to you. Or read the overview under the video.

 

The main things for users are the following:

  • CTT (Change Tracking Too) is a tool that allows you to see how made which changes to directory objects/trading partner management objects and assign it to an issue/ticket number. So you get a better visibility to when something has been changed. This will be something we will expand to the repository to automatic test what has been changed.
  • Manual Test upload allows you to create a zip file with payloads that you can use to upload your test cases. This is really useful if you have migration from dual to a single stack or from another tool to PI.
  • Audit log to see how made changes to objects and see what is going on on the system.
  • Transfering from 1.4/1.5 for existing customers
  • Included a global splitter configuration if you are testing the EDISeperator file.
  • Help is now provided at https://figaf.com/help/irt/

You can learn more about IRT and download IRT for free for your SAP PI/PO system here.

Why our testing is different than most test systems for SAP PI

In a recent podcast with one of Figafs IRT customers Mark Oshifeso from Anadarko Petroleum about testing SAP PI/PO we covered how they used the tool. We get a lot of praise from Mark for what we are able to do with the testing.

One of the things is that we cover is the Workflow vs Record Replay testing.

Mark created the following slide to explain the difference. You can view the full slide deck at SlideShare.

The Workflow approach to setting up testing is the to create programming that allows users to set up all test cases. This is really a powerful approach you can set up all kinds of integration. It will allow you to program everything like place a fine in this location or login to the SAP application and trigger a Sales order. And you can also make all kinds of validation of results.

The bad things about the workflow are that it requires a lot of work to set up test cases. So you need to be able to call the adapter in the correct way or you need to be able to check the file is placed correctly.  Some validation can be pretty difficult to check if you need to call some third party system to get some status.  You need to make every test different cases where you cover different so it adds to the complexity. And Labour intensive to set up. So you will most of the time end up with a limited number of test cases.

Record/Replay: This approach is the new way of creating tests. It requires that you set some boundaries to limit what you are able to do in an integration. So you will only be able to test a subset of the integration. The boundaries enable you to collect test data automatically if the system allows for some sort of extraction of the data. This extraction will then give an input file, and expected output. The input file can then be processed again and output should be close to the expected output. With this approach, you can set up test 100 test cases for an ICO in the amount of time it takes to collect test data. For IRT you can select many different ICOs at the same time

It also mean that the learning curve for picking up how to use the tool is much easier.