Optimize your SAP PI/CPI development

Your SAP Integration development is not all about delivering interfaces fast. It is also about making sure that you do the proper Change Management for the interfaces. In all organizations, integration is playing a key role in the future of the organization. If you have SAP PI/PO or Cloud Platform Integration (CPI), then you probably have quite a number of projects to look at. It is difficult to get time to architecture, development, and QA because there are too many projects going on.

My presentation is built on a process like the following steps. And it is the same if you are using agile or waterfall. Sure there may be a difference in the step size, duration, and naming. But they will always be there. It is the following

  • Scoping
  • Development
  • Testing
  • Document
  • Transport
  • Validation
  • Go live
  • Support


The Figaf IRT tool allows optimize and automize the different steps in the process, so you don’t have to have all the manual paper tasks to fill in. You will get a much greater visibility in to what is developed of your SAP PI/CPI landscape. And then you are going to get just one landscape for handling all your developments since IRT support both PI/CPI in one common landscape.

In the webinar, I also get to show off the new data anonymization process that allows you to anonymize data, so you can do a good test with your HR data anyway.

You can watch the replay here. We did have some technical issues and the video did not turn out correct. So I had to create a new version of the video. I guess it is better because of the rehearsal.

You can start using Figaf IRT for free. We have a free package that allows you to test forever.


Anonymize your SAP PI Test data

With GDPR it is increasingly important to be able to mask or anonymize your test data. If I’m a customer at your company it would probably not be a good idea that you are testing with my order. But if you can anonymize it so nobody will know that I ordered it, you can do all the testing that you want. Normally it is something that takes a lot of time to do and then you don’t do it. We want to make testing easy so you will use it.

We can see at customers that it is a problem, and have now created a feature to you in 10 minutes can anonymize your data for test cases. Check the video below where I’ll create a new test data from my SAP PI system, convert it and then have my options.

After this conversion, you can run the data on all your systems when you have upgraded or someone is updating the mappings used.

We will add some more functionality to it. Like, have a names like first, lastnames, streetnames. It will be a list that you can edit and add names that makes sense in your organisation.

Also, I’m considering how to handle Service Interfaces with marked as sensitive data. I ‘m considering to set a flag that you cannot test with the data. And need to create an anonomized test case for it. And there could probably also be some user role that can view the un-anonymized data, and use the studio.

The flow of developing the test case could also be improved, but I guess we will take it with some real sceanrios.

You can start using Figaf IRT for free. There is a free package where you can get access to use it to test SAP PI/CPI test cases.


Generate Test data for your Groovy scripts in CPI

I wanted to develop some Groovy scripts but it is a little cumbersome to do it in CPI because you need to deploy, activate the script and the look at the trace. This takes quite a bit of time. I found Eng Swee Yeoh blog (How) do you test your Groovy Scripts. Here he shows how you can create a script to run your Groovy Scripts as on CPI, so you can do it in Eclipse or IntelliJ.

I just hate the manual job about setting up the correct content for a test case. So because we had the content needed in Figaf IRT we could automate the process.

We have added an implementation of the SAP CPI Camel Message class so users could create it. We have included it into the script, so you only need the public Camel Core. The implementation may not be fully complete but it is a lot faster than downloading all the required jar files as is described in Yeoh’s blog .

To view a demo of how this works check the following video


Download the libraries required:

If you use Eclipse you can create a Groovy Project, then add the above jars.  Then add the current groovy script and the generated to the project. You will need to change the location of the CPI grovy script so it matches. Once you save the payload in an Expression use the command ${bodyAs(String)}, then you will get access to the payload.


If you have ideas for improvement please share. 

Known limitations: For some headers/properties that are saved in org.apache.camel.converter.stream.InputStreamCache IRT cannot access the payload. You need to convert the payload to String before adding it as an attribute if it is binary.

Download the IRT application and try it out with your system. It is free for 10 Interfaces.

Test your SAP PI/PO transports

SAP PI/PO development is not just about creating interfaces, map the documents and configure the interface. There is the full change management part about ensuring you know what is transported and ensuring it is tested correctly. This is something that normally requires a lot of paperwork and manual steps. It is one of the critical things about the process, to ensure that nothing else is broken.

We have been working on a tool for making sure that the testing works better and is a lot faster to set up. We have now implemented a functionality that allows you to run the same test on your QA environment with a click of a button. We have had the option earlier but it required some manual work, now you can just select which system to run the test on and it will happen.  You can also run the tests with the key of your transports.

Check out the video on the tool and how easy it is to run the same tests again on your Test system.



The solution is designed to work together with the SAP Transport (CHARM) you just need to implement a call once the transport has been imported to ensure that the test is called with the correct system.

We have a free version that allows you to start testing your system really fast and then it has the option to also support in your development process.

It is really fast to implement the solution and get it up and run. It will probably take 15 minutes to get it running on your system.



Catch 22 for testing now fixed. Supporting test on all SAP PI/PO systems 7.31+

We got trapped in a Catch 22

We need a feature released 1½ year ago to be able to test SAP PI/PO system, without installing our modules. To upgrade customers need to test their system, but they will have to do the test manually. It would save them a lot of time to use our tool.

We can test the systems if they install one of our components, but it is not something all customers that can install non-SAP components on their PI system. That was the reason we were looking for alternatives. And to make it a lot easier to get to use our tool.

We found the web service was able to give us the payloads of the logs. We got the solution working on our development. When we tried to test it on the older PI system the web service method we wanted was not there. After some digging, we found the solution was released with a patch 1½ years ago. So we could not assist in upgrading without them having to install our component. 

I want to help the customers to use our tool, especially if they have not patched for 1½ year, so they can test better. Then it makes even more sense to test.

This is the screen we web scraping to get message payload

So now we have made an option to use a WebDynpro agent that is able to connect to the screen users are seen and downloading the messages. It will use this if the web service method for downloading content is not available. It is by no means the best solution but it is a way to solve a pressing issue.

The way we did it was to use the Chrome Developer tool to see the different request required to select the correct line, switch the tabs to the payload page and then download the message. Then find the output message and download it. There is a number of requests to view each different page, and we even had to scroll table of payload to view it all.

Check out the video on the topic.


If you want to try it out on your own system check http://figaf.com/irt . We even have free version so you can use it to test your systems from your laptop.

Other features added

We have been moving some functionality making the application run faster when you activate new recordings of test cases. So it should start a lot faster.

We have also been improving the functionality to recording/testing or bridges async/sync and sync/async for the Figaf IRT modules. We are also adding the function later to use the SAP logging module.