Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Karthik-Thiru
Product and Topic Expert
Product and Topic Expert

Goal

Call an Integration Flow of SAP Integration Suite from SAP Build Process Automation via Actions.

 

Prerequisites

  • Subscription to SAP Integration Suite
  • Subscription to SAP Build Process Automation

 

One time Setup

Refer to this help page to perform initial setup to connect SAP Build tenant to SAP Integration suite tenant:

https://help.sap.com/docs/build-process-automation/sap-build-process-automation/initial-setup-for-ac...

In summary, 2 destinations need to be setup in the SAP Build Process Automation sub account. One is needed to fetch available Iflows in an Integration Suite tenant and another to call any Iflow.

Service instances of "Process Integration Runtime" with plan "API" and "Integration-flow" are created. Then a service key for each service instance provides the authorization details to be used in the 2 destinations.

 

Build a sample Integration Flow

Since our focus in this blog is to connect SAP Build to SAP Integration Suite, lets build a very simple Iflow. An Iflow with just one step that returns a fixed JSON payload representing Product data.

Open the Integration suite tenant and create a new Integration flow with sender channel as HTTPS and connection address as "/product". Uncheck CSRF Protected to simplify testing.

 
01.png

Add a Content Modifier step that returns Body as below JSON:

{

    "Product": "21",

    "ProductType": "SERV",

    "CreationDate": "2016-10-17",

    "CreationTime": "00:00:00",

    "CreationDateTime": "2016-10-17T00:00:00Z",

    "CreatedByUser": "CB9980000160",

    "LastChangedByUser": "CB9980000160",

    "IsMarkedForDeletion": false,

    "CrossPlantStatus": "",

    "GrossWeight": 0,

    "WeightUnit": "KG",

    "WeightISOUnit": "KGM",

    "ProductGroup": "P001",

    "BaseUnit": "H",

    "BaseISOUnit": "",

    "ItemCategoryGroup": "PSTE",

    "NetWeight": 0,

    "Division": "00"

}

0202

Now deploy the Iflow. Switch to Monitoring option and check that the Iflow is in Started state and an Endpoint is assigned to the Iflow. Note: It takes a few minutes after deployment for the Endpoint to become visible.

03.png

 

Discover and test the Iflow from SAP Build Actions

Open SAP Build Lobby. In Connectors tab create a new Action. Choose Integration Suite > Integration Flow

04.pngIf the design time destination was setup correctly, you can now see list of Iflows deployed in the connected Integration Suite tenant.

Choose an Iflow and create a new Action Project. If there are existing Action projects created from the same integration suite tenant then you can also add to an existing Action project.

05.png

Now Action Editor is launched with Name, description and the URL of the Iflow auto filled.

Note the inputs and outputs of the Action are empty, this is because the Integration Flow with https sender channel does not define any API specification.

06.png

Input

In this particular example there is no input needed so input tab can be skipped. But normally Input fields can be generated using the Add from Sample JSON option. If you have tested the Iflow before then you may already have the sample input payload. Sample payloads can also be retrieved from the payload trace available in Integration Suite monitoring section if the Iflow has been called previously.

Output

Output fields can be easily generated by making a test call in the test tab. Switch to the Test tab and choose the destination ( Runtime destination created earlier) and click on Test. If the destination was setup correctly, you can see a success 200: OK message with the API tab showing the received response. In our example a Product JSON is received.

07.pngClick on the Generate Output button to generate the Output fields from the received response. Switch to the Output tab and choose output to 200 to see the output fields that have been generated.

08.pngAfter this the standard procedure of Release and Publish of Action from Action Editor and then consumption of the Action in SAP Build Process Automation can be followed. Part 2 of this Blog can be used for reference on consumption of an Action in a Process.

Conclusion

  • SAP Build Actions can natively discover all deployed Iflows(https sender channel) from an SAP Integration Suite tenant.
  • Https Iflows do not usually provide an API Specification, however the Actions editor can be used to easily generate the Input and output fields using sample JSON or by making a test call to the Iflow.
  • Once an Action is created based on an Iflow, it can be consumed in SAP Build Process Automation just like any other Action created from a REST or OData API.