Introducing iFlow in PI 7.31 Configuration
For sometimes now, customers have been asking for a graphical tool to configure integration scenarios. The swing tool used by the Integration Directory is considered too complicated to use during the configuration steps. SAP made improvements with the Integrated Configuration object, which combined many of the different configuration objects (e.g. Receiver Determination, Interface Determination, Sender and Receiver Agreements, etc.) into one configuration object. But, it is still not very transparent when one wants to know what the end-to-end scenario looks like.
As many of you may have seen at TechEd and other roadmap presentations, PI 7.31 introduces a graphical tool, iFlow (Integration Flow), in Eclipse. iFlow is based on BPMN, which is also used by NetWeaver BPM. Incidentally, with 7.31, PI, BPM and BRM are combined as a single product call Process Orchestration and can be installed in the same SID (this applies only to AEX). All the development and configuration tools for all the components are now available in Eclipse.
In this blog, I will just provide a brief overview of iFlow. A step-by-step guide using iFlow is available at http://scn.sap.com/docs/DOC-27342.
To use iFlow in NWDS:
Create an iFlow scenario:
Configure an Integration Scenario using iFlow:
As you can see, we can do almost everything within the graphical tool.
- Create or assign sender and receiver components. Business Systems can be assigned, but still have to be created in the SLD.
- Create or assign the sender and receiver interfaces.
- Add or remove the number of receivers.
- Specifying the routing rules based on XPath expressions.
- Select the mapping to be used for each receiver. The Operations Mapping has to be created in the ESR.
- Create the sender and receiver adapters.
As you can see, from iFlow, we can immediate see the complete end-to-end integration without having to drill down the Swing tool in the Integration Directory:
- Who is the sender, how many and who are the receivers.
- Interfaces used with the sender and receivers.
- The adapters used with the sender and receivers.
- The dynamic routing used.
- The mappings used.
With iFlow, we get a simplified configuration process with a much lower learning curve. But, in my mind, the most important benefit is that I can now see the end-to-end integration in one graphical view.
iFlow and Integration Directory share the same database. It creates the configuration object in the same database as the Integration Directory. As a result, we will be able to see the Integrated Configuration, Business Components, and communication channel objects in Integration Directory even when those objects were created in iFlow.
With PI 7.31, there are still some gaps between iFlow and the Swing tool of the Integration Directory. These gaps are being closed with future SPs and EhPs. For example, we still need to assign the Business Systems in the Integration Directory from the SLD. The dynamic routing is only based on XPath; the extended feature using Operations Mapping is not yet available. The communication channel must be created in iFlow. We cannot yet assign existing communication channels iFlow; this will be available in the next SP.
Very Interesting feature !!!
This will save hell lot of time 🙂 .
Is there any plan for SAP to extend this option to ESR also?
The Eclipse tool for ESR is there also, since CE 7.2. Should I have a blog on this feature also?
I am working on creating an iflow for File-PI-Proxy based scenario
There are few concerns:
1. The final channel name that is generated is the Channel ID which has a prefix of the source and target system. Is there an option to disable the channel id? so that we can have the channel name as the one we mention.
2. Also it is observed that an Integrated configration is created in ID for the iflow thats created in NWDS.Now for eg. if the channel from that Integrated Configuration is modified, its not reflecting in iflow. could u pls advise on this.
3. Also i have multiple iflows to be implemented that would be using same receiver channel. Is there an option to reuse the channel which has been created in one iflow in other iflows?
Here are replies for your questions. (Incidentally, very good observation!)
Thank you for the detailed response 🙂
Regarding channel name we have observed that it is by default prefixed with the IFLOW name. As the reuse of the channel option is not available yet we can go ahead with the prefix.
I believe SP06 for PI 7.31 is already available. Refer to this link for further information.
There is a requirement to implement a prepackaged scenario for SRM-MDM catalogue using an single IFLOW.
This requires to configure multiple operational mappings for a single receiver.
However IFLOW allows multiple receivers but the functionality for multiple mappings for single receiver is unavailable.
Request you to suggest an solution
As far as I know, in PI, you can have only 1 operation mapping, but you can have multiple mapping steps in the operation mapping.
Are you refering to the use of "Extended Receiver Determination" using multi-mapping?
I am refering to case, where we have several receiver interfaces belonging to the same software component.
When we try to assign multiple receiver interfaces belonging to the same software component its not allowed in IFLOW giving error as "This system is already assigned as a receiver. Select a different system"
Regarding point 2 that you mentioned in earlier reply to Nilambari
Is this still not fixed? Any update from SAP on this?
Hi William Li
Thanks for the nice blog. I just come acrss an issue while using standalone Business system in iFlow and had raised in our forum too.
How do you select outbound/Inbound service Interface for the business system in Integration flow (NWDS) which is defined as standalone in SLD?
My understanding is that we cannot add any product/SWCV from ESR for standalone business system. if we don't have any service interface assigned for standalone business system, then we cannot use them in iFlow. Is this correct? Or is there a workaround ?
Dear William Li,
Your blog are very good but my problem is not solved.
As you told me SP6 will be right option for my scenatio (n:1) , i couldn't find any proper mapping functions in BPM as lookups, remove context,udfs, splitbyvalue ....????
Can i create multi-mapping (n:1) scenario from iFLOW ?
Source side i am getting two conditional messages ,i have done all mappings in ESR but iFlow is not supporting this scenario with SP4 ? Is there any changes in new SP ?
The mapping in BPM is not a duplicate of PI mapping capabilities. However, BMP can use mapping developed in PI. Please take a look at:
I have implemented parameterised mapping using the swing client for an interface in PI7.31. In the swing client i assign the value to the parameter under the "Receiver Interface" tab of the ICO.
However when i am trying to implement the same using IFLOW, i am able to add the parameter under message mapping and operational mapping, however i am unaware where to add the value for the variable in IFLOW. Request your assistance.
Are BPM and BRM components of PO 7.31 required for this or can one still use the eclipse tool with PI 7.31 without BPM and BRM installed?
To use the Eclipse tool, the PI 7.31 must be installed as a java-only stack. Dual-stack PI 7.31 will not work with the Eclipse tool. BPM and BRM are not required.
I have an NetWeaver 7.4 PO System and there are no PI Perspectives in my NWDS.
It is a Single-Stack Installation, I use the newest NWDS and Java SDK 1.6.45.
Is it a known problem or am I doing something wrong here?
Are you sure you have the latest NWDS?
You can download it at:
yes, absolutely, I downloaded it last friday.
Version: SAP NetWeaver 7.3 SP10 PAT0001
and there are no Updates to Install
Looks like you downloaded the 7.3 version, not 7.31. iFlow started with 7.31. Please try the link in my previous response to download the 7.31 version.
You are right!! what a stupid mistake 😥
Thanks for providing very informative details about IFlow Scenarios.
It is very useful and I will try to implement in our project too. 🙂
I have a scenario File-PI-File. The requirement is to simply transfer the file.Message transformation is not required. So plan not to create any object in ESR.
1. Is it possible to create IFLOW without ESR object. I tried creating a IFlow without ESR objects and i get an error for Sevice Interface, as i have not assigned any service interface to Sender and Receiver system. I do not have an option to assign Dummy to these values.
2. what should be the patter for IFlow ? ( i have selected Recipient List patter. Please advice if it is correct.)
When you right-click to create the interface you should see a selection "Define Dummy Interface":
I am using NWDS 7.31 SP4. Later versions also works. Have not looked at earlier versions.
Maybe you can help out with a question regarding the usage of NWDS with respecting to building iFlows. We have installed the B2B add-on in our 7.4 system but when we use the Integration Designer aspect we only get this view in the module configuration:
I did find this in the preferences but I cannot find any documentation on how to use it:
Any ideas on what we can do to use the B2B adapters within this view?
I have Eclipse Kepler installed on my Mac, you can install the iFlow by eclipse? Where do you find it to install?
I regret to say Mac is not a supported OS. There are dependencies on Windows DLL in some of the plugins.
Supported operating systems are:
For more information, see the product availability matrix (PAM) at: http://service.sap.com/pam.
Your blogs around these topics are very informative and helpful.
With HCI, pre-packaged iFlows are being delivered for various scenarios. Are these compatible with SAP PI or for PI we need to use the pre-delivered ESR content and then create iFlows.
Can you please let us know when the "extended feature using Operations Mapping" will be available.
I believe those gaps in this blog have been closed in the latest release. Here is a blog containing the differences between the different versions:
Thanks for your so many wonderful blogs.
The blogs that you put up are really very unique and just what we need.
Regarding the extended receiver determination I am facing a few challenges which I have explained in the thread below :
Dynamic Routing in SAP PI 7.31
Can you please help me to use this extended receiver determination feature.
I am not able to see the operation mapping in the list.
First, click on the blank part of the canvas in iFlow, in the Properties tab, you can select the routing behavior: (select Dynamic Message Router)
Then, in your flow, click on "Recipient List", in the Properties tab, you can enter the Operations Mapping:
Thanks for your quick reply.
When i click browse for the "Name" field in the last screenshot you mentioned, i get a list which is blank. So I cannot see the operation mapping that I created in IR in that list. This is where I am facing the problem.
Hope you can help by indicating what am I missing here!!
Sorry, I do not have a scenario which I can test for you. You can verify that the Operations Mapping can be selected in ICO. If it can, then create a customer message for support.
Yes, I can select it in ICO. So, I know now that I have to raise a customer message.
Many thanks for investing your valuable time on my issue.
Sorry I have a question regarding the NWDS development which is not relates to this one, could you pls help to shed some light on that?
Thanks a lot!!!
Very informative, saves lot of time for developers.. 🙂
I wantto take a zipped file . So I did not use the enterprise service builder. I could do transporting of file directly.SO I used dummy interface in ICO. Then I unzipped and merge 3 files. But I want to bind these processes as transporting the zipped file and merging these unzipped file.. But I don't know how can I use processes without ESR in NWDS BPMN processes.
How can I bind the transporting file and merging 3 files?
Am creating data type in IFLOW ( SAP NetWeaver Developer Studio 7.3 SP19 PAT0007), but not able to find HIGHER/LOWER option post creation of structure/elements in order to generate structure in required hierarchy. The same is available in SAP Pi ESR while creating data types.
Please suggest if my approach is correct.