How to Create iFlow using Eclipse NWDS

With the launch of SAP Process Integration 7.31 SP2 and Process Orchestration 7.31 SP2, the Eclipse tool was introduced to build End to End (E2E) integration scenarios. At the time of publishing this post, the Eclipse tool is used with existing Swing tools. Although the new Eclipse iFlow tool makes the old Swing Integration Directory client obsolete, in order to build E2E integration scenarios with mapping, iFlows should be used in conjunction with Enterprise Service Repository (ESR) Swing client.

Eclipse iFlow tool has some functionality of ESR swing clients such as the creation of SWCVs, Message Types, Mapping, Service Interfaces, etc., but it lacks the mapping testing tool which is crucial for Development Unit Testing. In the future, we will be able to build complete End to End scenarios using only the Eclipse tool while Swing clients could become obsolete.

Before we start creating our first E2E scenario using iFlow, we need to install NWDS for PI/PO development.

SAP Versions used in the illustration:

  • SAP PO 7.5

Sample End to End Scenario Overview:

Let’s create an integration scenario to process Purchase Order XML sent from component ‘BC_TEST_SENDER’. If the ‘Destination_name’ in the XML file content is “AMAZON’, the message should be sent to BC_TEST_AMAZON in iDoc format. Else XML message should be forwarded to ‘BC_TEST_RECEIVER’.

Therefore, we require one Message Mapping between the sender XML format and Receiver iDoc format. But the creation of ESR objects will not be shown in the post as it is intended to illustrate how to create iFlows.

iFlow and Eclipse tool usage End to End Example Scenario Overview
End to End Scenario Overview

Step 1: Create Business Components in Eclipse NWDS PI Explorer.

For this scenario, we need to create three different Business Components. BC_TEST_SENDER, BC_TEST_AMAZON, and BC_TEST_RECEIVER. You can also use existing Business Systems or Business Components for your own scenarios.

Right-click on ‘Systems’ and select ‘New Business Component’ to create a new one.

Create new Business Component in NWDS PI Explorer
Create new Business Component in NWDS
Create new Business Component in NWDS Eclipse for iFlow
Create a new Business Component ‘BC_TEST_AMAZON’

Similarly, create other two Business Components BC_TEST_SENDER and BC_TEST_RECEIVER.

Step 2: Create Service Interfaces, Message Mapping and Operation Mapping.

Create ESR objects either using Swing client or Eclipse NWDS. We will have one Outbound Service Interface ‘PurchaseOrder_Out_Async’, and one iDoc receiver Inbound Service Interface ‘PORDCR1.FSHPORDCR’ for Amazon. Also, one dummy Inbound Service Interface for BC_TEST_RECEIVER since it’s a pass through without mapping.

Operation mapping between XML File sender Service Interface and iDoc Receiver Inbound Interface should be created. Message Mapping for XML sender format and iDoc message type should be created as well.

Step 3: Create XML File Sender, File Receiver and iDoc Receiver Communication Channels.

Create the Sender Communication channel by right clicking on the sender Business Component ‘BC_TEST_SENDER’. Configure the Communication Channel parameters.

Create Sender File Communication Channel in NWDS for iFlow
Create Sender File Communication Channel
Sender Communication Channel Name and Description for iFlow generation
Sender Communication Channel Name and Description

Save and activate.

Save and Activate Communication Channel in NWDS iFlow
Save and Activate Communication Channel

Similarly, create iDoc receiver channel for Business Component ‘BC_TEST_AMAZON’ and XML File Receiver Channel under ‘BC_TEST_RECEIVER’.

Step 4: Create New Integration Flow (iFLow) and Select iFlow Pattern.

Create new integration flow by right click NWDS
Create New Integration Flow

Select the appropriate Integration pattern and set the name and ID of the iFlow. Since example scenario involves one sender and multiple receivers, I have selected ‘Recipient List’ interface pattern.

Select integration scenario pattern, point to point, receiver list etc
Select integration scenario pattern

Step 5: Select Sender System and Receiver Systems of the Integration Flow.

Next step is to select all systems related to the integration scenario. Click ‘Browse’ and select the sender system and receiver systems from the drop down.

Select Sender and Receiver Systems related to iFlow
Select Sender and Receiver Systems related to iFlow

Go to tab ‘Receiver Systems’ and add both receiver systems.

Select all Receiver Systems from the drop down list
Select all Receiver Systems from the drop down list

Click Finish.

When you assign Business Systems and click “finish”, skeleton of the iFlow will be created. Your Next steps will be to fill the missing pieces of the iFlow such as Service Interfaces, Mapping, Communication Channels, Receiver Rules etc.

Initial status of the iFlow, skeleton of the iFlow is created
Initial status of the iFlow

Step 6: Assign Service Interfaces.

In this step, we’ll fill in all Service Interfaces related to each system. Sender Outbound interface, Receiver iDoc Interface and Dummy interface for the pass through without mapping.

Right click on Interface component and select ‘Assign Interface’. Select the correct interface from the drop down list. For sender ‘BC_TEST_SENDER’ I am assigning ‘PurchaseOrder_Out_Async’ Outbound interface.

Assign Sender Outbound Service Interface
Assign Sender Outbound Service Interface

Similarly, assign the iDoc Receiver Inbound Interface from drop down list.

iDoc Receiver Interface
iDoc Receiver Interface

Step 7: Assign Communication Channels.

Assign the Communication Channels created in Step 3 to the iFlow. Right click on ‘Channel Adapter’ arrow and select the option ‘Assign Referenced Channel’. Communication Channel can be selected from the list of Communication Channels in the next window.

We used ‘Assign Referenced Channel’ since we had created all Communication Channels previously in Step 3. But new Communication Channels can be created here using option ‘Configure Channel’.

Assign Communication Channel to iFlow
Assign Communication Channel to iFlow
Select Communication Channel from drop down list
Select Communication Channel from drop down list

Repeat the step to assign the rest of the Communication Channels to the iFlow. iDoc Receiver channel to BC_TEST_AMAZON and File Receiver Chanel to BC_TEST_RECEIVER.

Step 8: Define the Receiver Rule.

In this step, we will create the Receiver Condition based on Xpath of the XML to route message which should be send to Amazon. To insert a condition, right click on the ‘Condition’ arrow and select ‘Define Condition’.

Define Condition in iFlow
Define Condition
Define Xpath condition in iFlow. Select the Xpath
Define Xpath condition

Select the Xpath and define the condition as below. Condition is defined for field <Destination_name> and value ‘AMAZON’.

Xpath rule
Xpath rule

We can also use context objects instread of Xpath to define the same reciever rule.

Step 9: Add Mapping to iFlow.

Right click on the ‘Condition’ arrow and select ‘Add Mapping’ option from the list to add a mapping step to iFlow.

Add Mapping to iFlow
Add Mapping to iFlow

When you add a new Mapping to the iFlow, it will create a block named ‘Mapping’. Right click on the ‘Mapping’ and select ‘Assign Mapping’ option to choose the Operation Mapping created for XML sender to iDoc Receiver in ESR.

Assign Mapping program to iFlow
Assign Mapping program to iFlow

Step 10: Save, Activate and Deploy the iFlow.

If you completed all the steps and assigned the Service Interfaces, Mapping, Receiver Rule, Communication Channels successfully, you should be able to activate the iFlow after saving. If the Activation is successful, Deploy the iFlow.

Activate and Deploy iFlow
Activate and Deploy iFlow
Complete iFlow activated and deployed
Complete iFlow activated and deployed

Step 11: Check if iFlow is Successfully Deployed.

Go to Integration Directory and check if the iFlow is successfully deployed.

Once the iFlow is Activated and Deployed, corresponding Integration Directory objects, such as ‘Integration Flow’ and ‘Integrated Configuration Object (ICO)’, will be created.

Integration Flow in Integration Directory
Integration Flow in Integration Directory
Newly created iFlow in ID
Newly created iFlow in ID
Integration Configuration object created from iFlow
Integration Configuration object created from iFlow

Hope this article helps you to create your first iFlow and clarify any questions you have about iFlow creation steps. If you have more questions on how to use Eclipse based NWDS to create Integration Flows (iFlows), please leave a comment below.

11 thoughts on “How to Create iFlow using Eclipse NWDS

  1. Sai says:

    Great blog isurubl fernando…
    Please post any blogs on b2b scenarios
    Do u have any idea idoc acknowledgement scenarios what are the configurations required..

  2. Sri says:

    Fantastic one!! Thanks a lot.
    Please post another article with message mapping, how to import the structure, map the fields, using udfs etc.

    Regards,
    Sri

Leave a Reply

Your email address will not be published. Required fields are marked *