← Blog

Version update: Figaf PI to CPI migration tool

Updates to the Figaf PI to CPI migration tool from late 2021: RFC lookups, test case migration, WSDL support, licensing, migration logs and current features.

November 4, 2021 · 3 min read

Since our release of the Figaf SAP CPI migration tool in August 2021, we have been busy improving the tool together with partners and customers. It is one thing to build a migration tool for a fixed set of scenarios. And another is to build migrations for real-life scenarios where customers have 15-year-old integrations built in different ways. These are some of the cases we are resolving in the beta phase.

We do hope it will shave hours off the time you would be spending on a migration project. The short video below shows what the tool can do with its updates.

Watch on YouTube Figaf SAP PI to CPI migration Tool

Here are the recent updates.

Support of RFC lookup

In many cases, mappings are using RFC lookup. If the mapping contains RFC Lookup then the Figaf Tool will create a mock UDF for the migration. Then you can consider how to replace those lookups or you can even create RFC lookups and embed them into the skeleton. It is quite simple to add if you are on Cloud Foundry.

import com.sap.it.api.mapping.*;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoParameterList;
import com.sap.conn.jco.JCoRepository;


def void RFC_ZIS_EUCOUNTRY(String[] I_COUNTRYCODE, Output output, MappingContext context) {
   String RFCOutputFieldName = "O_IS_EU_COUNTRY";
   String RFCModuleName = "ZIS_EUCOUNTRY";
//Get RFC destination name from property (Content Modifier)
//Destination name can be found in Cloud Cockpit -> Subaccount -> Destinations
   JCoDestination destination = JCoDestinationManager.getDestination(context.getProperty("RFCDestination"));
   JCoRepository repo = destination.getRepository();
//Create connection to RFC module in question - in this case 'ZIS_EUCOUNTRY'
   JCoFunction RfcConnection = repo.getFunction(RFCModuleName);
//Build RFC Request.
   JCoParameterList imports = RfcConnection.getImportParameterList()
//setValue(<RFC Input field name>,<value>)
   imports.setValue("I_COUNTRYCODE", I_COUNTRYCODE[0]);

//Call/execute RFC.
   RfcConnection.execute(destination);

//Get RFCResponse fields.
   JCoParameterList exports = RfcConnection.getExportParameterList();
//Get <RFC output Field> = 'O_IS_EU_COUNTRY'
   String retValue = exports.getString(RFCOutputFieldName);
//Add RFC Value to output(mapping) Context
   output.addValue(retValue);

//Add lookup value to log - if logProperty is 'yes'
   String logMe = context.getProperty("logProperty")
   if (logMe.equalsIgnoreCase("yes")) {
       context.setProperty("RFC_" + RFCModuleName + ":" + RFCOutputFieldName, retValue);
   }

}

Migration of test cases

We have added support of test cases for iflows that have been migrated manually or changed a lot. This will enable you to still test those integrations.

Migrate Test Cases dialog mapping a PI receiver to a message flow ID in the target CPI iFlow test suite

WSDL support for message types

Message Types that use some global data types can refer to a huge number of objects. Earlier they were all included as XSDs. We are now using the WSDL for these objects since it simplifies the creation process.

The other types IDOC, RFC and External Definition are still used.

Improvements

We have made a number of improvements to make it easier to migrate with the tool and support cases that were not supported earlier like Context Objects and Receiver Objects. They will come up with a warning for the user to fill out the details.

License update

We have changed the licensing so you will only request a license once you have checked the preview of the migration.

Migration log

Migration log table listing manual actions and advice per stage, such as an RFC lookup mapping and an HTTP endpoint to update

Features of the Figaf Migration Tool

Here is an overview of the features of the Figaf Migration Tool.

Flows

The tool supports the following scenarios:

  • Migration of ICO and Classical Receiver Determination. Figaf supports migration from SAP PI 7.11 to 7.5, including dual-stack systems
  • Routing conditions are copied if possible from the configuration
  • A preview of the generated BPMN diagram is shown after the generation
  • A list of warnings is created to simplify the process

Mappings

For mapping, we can migrate all mappings even if they use:

  • Function libraries. Here the FL will be replaced with a Groovy script. There may be a little work involved in removing special functions like Container and Dynamic Properties.
  • Multi mappings are handled automatically
  • Support Message Types, External Definition, IDOC, and RFC mappings
  • RFC lookups are migrated and the user can then insert mappings themselves.

Adapter

  • To convert between a Communication Channel and an SAP CPI block it is possible to use some of the pre-delivered mappings or create your own mapping. It takes a few minutes to create your own custom mapping that matches your requirements.
  • You can find the templates in the git repository.

You can find the tool on the SAP Store or start a free trial.

This post covers these products

Capabilities covered

More from the blog

All posts →

See this working in your landscape

No credit card required.

Integration cost calculator →

Start your free trial

No credit card required

Try Figaf DevOps Suite free for 30 days. It takes less than an hour to get started, and we send everything you need by email.

Join our newsletter

Get the latest about Figaf, SAP and anything relevant to SAP integration, every week in Figaf Weekly.