Skip to Content
Author's profile photo Finny Babu

Externalizing parameters using SAP Cloud Platform Integration’s Web Application

Introduction

Integration Developers build their integration flows using the SAP Cloud Platform Integration tools on  their development systems and once the development is complete, they move them to the test and production systems. During this development phase, they realize that the same integration flow may not work as is, across different systems and would require changes in the configurations of adapters or flow steps. To overcome this situation, they use the externalization feature offered by SAP Cloud Platform Integration tools.

Externalization feature enables an integration developer to define parameters for certain configurations of adapters or flow steps of an integration flow, whose values can be provided at a later point in time, without editing the integration flow.

Till now externalization was available only from Eclipse tooling, but now this has been offered also via the Web Application. In this blog, I will be sharing information on how this feature can be used and what is covered with the first increment of externalization feature in the Web.

 

Externalization Editor

Open an existing integration flow and select either adapters or flow steps from the Web editor to load the respective configuration in the bottom pane. If externalization is supported for that component, you will find a new “Externalize” button on the right corner.

 

Image 1: SOAP adapter’s configuration with “Externalize” button

 

On clicking the “Externalize” button, the Externalization Editor is launched which has all the configurations of the selected component that can be externalized. This view is divided into 3 columns – field name, parameter and value.

 

Image 2: Externalization Editor for SOAP adapter

 

Creating New Parameter

To externalize a field, you can create a new parameter in the parameter column using the format {{<parameter_name>}}.

 

Image 3: Creating a new parameter for Address field

 

Once you tab out of the parameter column, a token is created in the value column corresponding to the new parameter.

 

Image 4: New parameter and its token with empty value

 

Click on token in the value column, which opens a “Define Value” dialog, to provide a value for this newly created parameter.

 

Image 5: Providing a value to the newly created parameter

 

Image 6: Parameter and its associated value

 

Reusing Existing Parameter

It is also possible to reuse existing parameters across adapters or flow steps within the same integration flow. As soon as you start typing two curly braces (“{{“) in the parameter column, the auto-suggest kicks in and provides you with a list of all existing parameters and its associated values, which can be selected and reused.

 

Image 7: Reusing an existing parameter using auto-suggest

 

You can update the value of an existing parameter by clicking on the token in the value column, but be careful as this will also change in all the other places the same parameter is used within the integration flow.

 

Image 8: Parameters and its associated values

 

Using Multiple Parameters

Many times, integration developers combine multiple parameters to form a single value within a field. This is possible by creating or reusing more than one parameter in the parameter column and use the combination of tokens in the value column.

You can also add text before and after the token, which will not be externalized, but will be concatenated along with the values of the parameter during runtime.

 

Image 9: Multiple parameters and its associated tokens

 

Image 10: Additional text before and after the tokens

 

Removing Externalization

You can also remove externalization of a field by deleting the parameter from the parameter column. On tab, the value of the parameter is retained in the value column, but since there is no parameter available, the field will not be externalized.

Removing externalization of a field doesn’t delete the parameter as it is possible that the same parameter is used somewhere else within the integration flow.

 

Visualization of Externalized Fields in the Configuration

The fields that are externalized will be disabled in the configuration view of the component and you can see the token with its value there. To change the value of the parameter or to remove externalization of the field, you must click on “Externalize” button and perform these changes from the Externalization Editor.

 

Image 11: Externalized fields in the configuration view

 

Managing Externalized Parameters

You can manage all externalized parameters from the “Externalized Parameters” view which was added as part of the Integration Flow Configuration. This view provides a list of all parameters used in the integration flow and allows you to provide values or update existing values of parameters from a central place. But be careful while updating parameter values from here, since it will replace the updated value in all the places the same parameter is used in the integration flow.

 

Image 12: Externalized parameters view

 

In addition, it is also possible to remove unused parameters using the button “Remove Unused” from the “Externalized Parameters” view.

 

Configuring Externalized Parameters

After you have externalized all the required fields of the components and saved the integration flow, it is now ready to be moved across systems. You can provide values to these externalized fields, without editing the integration flow, using the “Configure” option and then deploy the integration flow on the required system.

Image 13: Configuring the externalized parameters

 

Conclusion

Externalization in the Web is supported for adapters, flow steps, integration flow configuration, integration process and local integration process components. The supported controls for externalization are string, integer, checkbox, drop down, scheduler, help service, text area and individual cells of a table.

I hope this blog is useful and helps you to consume externalization feature offered in the Web.

Assigned Tags

      16 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Amuktha Mallepula
      Amuktha Mallepula

      Thank you for the information. It is very helpful.

      Author's profile photo Former Member
      Former Member

      Hi Finny,

      Is it possible to extrenalize parameters for multiple iflows which has same configuration

      Ex : I have nearly 10 iflows connecting system A and B , with almost similar adapter configuration.

      Is there any way i could update single place which updates adapter configuration in all iFlows.

      Thanks!!

      Regards

      Saravana

      Author's profile photo Sven Huberti
      Sven Huberti

      Hi Saravana,

      did you look at the Prtner Directory feature? It may be helpful in your scenario:

      https://blogs.sap.com/2017/07/25/cloud-integration-partner-directory-step-by-step-example/

      https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/Cloud/en-US/e7fa1e2cd16049b7bfefe938355a574c.html

      HTH!

      Sven

      Author's profile photo Krish Ellath
      Krish Ellath

      We are not able to create an external parameter for the Content modifier exchange property through the WebUI.  It is greyed out.  We did this in Eclipse and transported but it still does not show up.  How can we do this?  Can you please that information?

       

       

      SAP has stated that this feature should be available past version 2.29.  We are on version 2.32.10 but it is not working.

      SAP has written – The feature of externalizing parameters in WebUI is provided since CPI version 2.29, but this is not the case.

      Thanks!

       

      Author's profile photo Finny Babu
      Finny Babu
      Blog Post Author

      Externalization of tables are now supported.

      Author's profile photo Former Member
      Former Member

       

      Very Nice Blog,

      Very Helpful , Thanks Finny.

      Author's profile photo Ibrahim Khaleel
      Ibrahim Khaleel

      Hi Finny,

       

      Is it possible to replace the value of token from UI5 application and then deploy the IFlow with changed token?

       

      Regards,

      Khaleel

      Author's profile photo Finny Babu
      Finny Babu
      Blog Post Author

      Are you looking for an API to update the value of the parameter? If yes, this is not yet available but is part of our road map.

      Author's profile photo Williams Jason
      Williams Jason

      Has this happened yet? This is important to enable some automated testing.

       

      Thanks,

      Jason

      Author's profile photo Florian Guppenberger
      Florian Guppenberger

      Hello,

      thank you for this helpful blog. I have just tried to externalize parameters for a SOAP receiver channel, but get the following message:

      "No properties are available for externalization".

      Is externalizing SOAP receiver channel parameters still not possible via WebUI? if not, is it known by when this feature is planned?

      Thank you!

       

      Author's profile photo Finny Babu
      Finny Babu
      Blog Post Author

      Hi Florian,

      The externalization of SOAP Receiver Adapter is possible and when you click on the "Externalize" link, you will be able to externalize fields which are part of the "Connection" tab.

      If you are looking to externalize the "WS-Security" settings, then this is not yet available as externalization of drop downs and check boxes are not yet enabled. This will come in the next months.

       

       

      Author's profile photo Aswini Alapati
      Aswini Alapati

      Informative Blog!

      Author's profile photo Alexander Parr
      Alexander Parr

      Hi Finny Babu
      thanks for writing this great post!

      Do you know if it is on purpose that parameters of the exporting system overwrites parameters of the importing system? I would love to see that parameter values of the importing system are not touched when importing a new version.

       

      Best
      Alex

      Author's profile photo Anurag Garg
      Anurag Garg

      As correctly prompted by Finny Babu, even, I would like to know, how to retain externalized parameters values on re-import of CPI Package to Production after cosmetic changes in iflow on Dev.

       

      Best Regards,

      Anurag

      Author's profile photo anton kopylov
      anton kopylov

      Same issue....

      Author's profile photo Sudeep Menakuru
      Sudeep Menakuru

      Hello

      Can you explain how can we nullify the externalized property value at the end of current execution?