Skip to Content
Product Information

SAP Cloud Integration – Custom Tags

Introduction

SAP Cloud Integration version 3.24.x comes with support to create custom tags. The idea behind custom tags is to support the people who are responsible to collaborate with different integration developers across different part of the organisation. People with such role often face the challenge to know who is the owner or author of a particular integration is scenario. Also, if they want to enforce integration developers to maintain some custom information, they don’t have any means in the tooling at SAP Cloud Integration package level, other than asking integration developers or themselves to maintain such information in spreadsheet or other documents.

Custom Tags

In one liner, this is a feature where you can maintain custom attributes in key-value pair format at SAP Cloud Integration package level.

Two personas, Tenant Administrator and Integration Flow Developer, are involved here.

Tenant administrator defines the custom tag names and informs integration developers to maintain the values for the same, without which, saving of an edited or newly getting created integration package fails – a means to enforce integration developers to maintain the values.

Tenant Administrator

Administrator will define the key names in Custom Tags section of Settings and selects the checkbox of Mandatory column if value for that tag name has to be maintained mandatorily by the integration flow developer. Sample screenshot below.

 

Edit the page, and add required key names.

 

After the settings are saved, administrator has to notify all the integration developers, e.g. via email. There is no automatic notification mechanism available in the tool.

Integration Developer

After receiving notification from Tenant Administrator, developer can go and edit the existing integration packages, go to the Tags tab integration package, provide the values for the keys which appear under Custom Tags section.

 

If you edit a package and try to save without providing values for mandatory custom tags, the save will throw an error.

 

Provide relevant values and save the integration package

 

Rename and Delete

The renaming and deletion behaviour are explained below

  1. Rename : Renaming of a custom tag name by tenant administrator is not possible after the save of settings and cancelling the edit mode (by clicking on Cancel button after Save). Once tenant administrator saves the Custom Tags Settings and clicks on Cancel button to exit the the edit mode, the row cell of tag name becomes read-only.
  2. Delete: Assume that tenant administrator have defined 2 custom tag names and  he deletes only one. In the package level Custom Tags section, the deleted custom tag name, along with value will be hidden, but custom tag name and value will be persisted, this is to bring back the custom tag value if custom tag name is re-introduced by tenant administrator. If all the custom tag names are removed by tenant administrator in the settings and saves them, upon edit and save of a package by integration developer, all the custom tag names and values will be  removed from the package persistence.

Transport

How about transport? Are these custom tags info provided at package level also get transported?

Yes, they are. For that, first tenant administrator has to export the Custom Tags settings (there will be a JSON file downloaded) and import them into target tenant. And then, trigger the transport (CTS+, TMS, MTAR or Zip Export of package).

Sample screenshot below for exporting and importing the Custom Tags settings.

 

APIs

There are OData v2 APIs available to fetch the information about Custom Tags. Through this, you can enquire about integration packages, to which the custom tag values are yet to be provided.

Example OData APIs signature below.

To read custom tags:

GET https://<tenant>/api/v1/IntegrationPackages('<package_id>')/CustomTags

Note: If there are multiple values maintained against a key name in the package for custom tags, the multiple values will be returned with | character as separator.

To provide values for the custom tags. This APIs comes handy if you want to provide values for large number of existing packages, where editing and updating the packages via UI becomes slow.

PUT https://<tenant>/api/v1/IntegrationPackages('<package_id>')/$links/CustomTags('Author')
Payload

{
"Value": "Deepak"
}

Note: You can provide multiple values with | as separator.

 

Summary

You now have option to add custom key-value paired info at SAP Cloud Integration packages. This feature works well for editable packages. But for configure-only package, the custom tags section still appears, with custom tag key names as defined by tenant administrator. But since editing of package is not allowed for configure-only package, integration developer will not be able to provide values for the same. We are working on APIs through which, integration flow developer can provide values in configure-only package’s custom tags.

6 Comments
You must be Logged on to comment or reply to a post.
  • Hello Deepak,

    This is a good addition to organize the packages. I really appreciate SAP has an API first approach for CPI and you make the APIs public as soon as they are ready. Combined with the fast release cycle future looks bright!

    I think the documentation will be updated here and the method will be under “Resources of Integration Flow”?

    Thanks for sharing & kudos to the team behind this!

    Best regards,
    Fatih

  • Hi Deepak,

    Thanks for the information, this is a great addition to CPI. One question though: What about configure-only packages? What if I have a mandatory parameter on my tenant for which the configure-only package will not have a value. Will that package still work and be updated?

    Kr.

    Ivo

    • Hi Ivo,

      Good catch 🙂

      For configure-only packages, they key name will still appear in Custom Tags section, but since package is not editable, you will not be able to provide values.

      We are working on enabling the option to provide values only via OData APIs. It’s a work in progress.

      The package will still work and would get updates as well. So, no issues in the usual life cycle of configure-only packages.

      I missed this information in the blog, I will update my blog with this information as well, thanks for pointing it out.

       

      Thanks

      Deepak

  • I wish the same feature is available in the iflow/artifact level along with package level!

    This is good, but still it will be great, if it was available at the artifact level. Also, this is extremely useful if one can search based on tags.