Skip to Content

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

 

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

Currently externalization in the Web is supported for only a few adapters and flow steps and that too only for string fields, integer fields & scheduler. Support for additional data types like text area, help service, etc would be enabled in the forth coming months. In addition, we will also add option to “remove unused parameters” from the “Externalized Parameters” view.

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

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. SaravanaPerumalRaj Chandrabose

    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

    (0) 
  2. 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!

     

    (0) 
    1. Finny Babu Post author

      Externalization in the WebUI currently supports only string fields and scheduler.

      Enabling externalization of table (and fields within it) are currently in development and will be rolled out in the coming months.

      So if you need to externalize Content Modifier, it is currently possible only via Eclipse.

      (0) 

Leave a Reply