Skip to Content
Product Information
Author's profile photo Deepak G Deshpande

SAP Cloud Integration – Transport at Artifact Level

Introduction

SAP Cloud Integration version 5.23.**/6.15.** comes with enhancement in transport, where in you can transport single or multiple artifacts rather than the entire integration package.

Note:

  • The forecasted SAP Cloud Integration customer tenant software updates/availability of this version is planned for calendar week 27/28’ 2021 as per the phased tenant update procedures, which may be subjected to change.
  • Know-how of SAP Cloud Integration Transport is required to get insights of this blog.

Transport in SAP Cloud Integration is one of the basic needs to move the integration content between different tenants, mostly marked as development, testing and/or production tenants. Till date, the transport of integration content was at the integration package level. So, even if you change/update one or few integration artifacts, then it was required to transport the entire integration package.

With introduction SAP Cloud Integration Transport at Artifact level, no need to transport the entire package, you can now transport only changed/updated artifact(s).

This blogpost covers only the enhancement, and not the complete transport story, especially the configuration part of it, which you can find in the document https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/Cloud/en-US/e3c79d65aa604b80992e20609881ad7a.html and blogs like https://blogs.sap.com/2018/04/10/content-transport-using-cts-cloud-integration-part-1/ and relevant. The setup(for the different transport modes like MTAR Download, CTS+ Direct and TMS) remains same as for the package level transport.

Single artifact Transport

The Transport action is now introduced at artifacts list viewer of the integration package, sample screenshot below

Transport action at the single artifact level

 

Transport dialog with description and artifact getting transported

 

Multiple artifacts Transport

If you have more than one changed/updated artifacts, you can use multi-select option and the transport action as showcased below.

Transport action at multiple selected artifacts

 

Transport%20dialog%20with%20description%20and%20artifacts%20getting%20transported

Transport dialog with description and artifacts getting transported

As you might have noticed the description text of the transport dialog, though the transport is happening at the artifact(s) level, underneath the package information is captured and created/updated accordingly in the target tenant, because, artifact on its own can’t sit in a tenant and it needs integration package (as container) in the tenant. Transport of artifact(s) in DRAFT state is/are not supported.

Next Steps:

  1. Access Policies : If an artifact is protected with access policies in source tenant, then transport of such artifact is not possible.  Update : access policy checks are not done during the transport at target tenant hence the line -> And at target tenant, other artifact(s), which is different from artifact getting transported from source, is/are protected with access policies in target tenant, then the transport of such artifact would not succeed. We will be addressing this issue in our next releases. <- are not relevant. To know more about access policies, you can check blog at https://blogs.sap.com/2021/06/07/access-policy-for-securing-design-artifacts-and-control-access-to-integration-flow-in-the-sap-cloud-integration/

Summary

This enhancement in transport, the overhead of transporting the entire package for the changes in one or few integration artifacts gets reduced. You can only transport the artifact in need.

Assigned Tags

      20 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Nagesh Rao
      Nagesh Rao

      Much needed and a long awaited enhancement !
      Thank You

      Author's profile photo Keith Mark
      Keith Mark

      I really appreciate your help. Thank you sir .

       

       

      www.skylightpaycard.com

      Author's profile photo Vijayaprabakaran S
      Vijayaprabakaran S

      Hi Deepak,

       

      Much awaited one, thank you 😊

       

      Regards,

      Vijay

      Author's profile photo Andrzej Zmuda
      Andrzej Zmuda

      Great news.

      Does it support neo environment? Is it already on closed entry in roadmap for neo SAP CPI?

      @Deepak G Deshpande can you answer

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi,

      Yes, it is available for both Neo and Cloud Foundry environments of SAP Cloud Integration

       

      -Thanks

      Deepak

      Author's profile photo Brendan Szefinski
      Brendan Szefinski

      Hi Deepak, great to see this functionality.  If there is a new version of the artifact being transported, does this process overwrite the artifact in the destination tenant or does it preserve the version history?

      Regards,

      Brendan

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi Brendan,

      Though the transport overwrite the artifact in destination, but the configurations and also the previous version would be preserved. You can check the version history by clicking on the version number.

       

      Thanks

      Deepak

      Author's profile photo Brendan Szefinski
      Brendan Szefinski

      Thank Deepak,

      So in the destination system you could revert back to a previous version of that artifact?

      Would the artifact's version history be of the versions on the destination tenant or from the source tenant?

      Regards,

      Brendan Szefinski

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi Brendan,

      >>So in the destination system you could revert back to a previous version of that artifact?<< Yes, you can.

      >>Would the artifact's version history be of the versions on the destination tenant or from the source tenant?<<  The version would be of destination tenant.

      Thanks

      Deepak

       

      Author's profile photo Nityananda Reddy Kondreddy
      Nityananda Reddy Kondreddy

      Hi  Deepak,

       

      Is there any prerequisites to enable the transport option at iflow level?

      Since for our tenant it is not enabled.

      Our's is Neo environment with build version 5.27.11.

      Thanks & Regards,

      Nityananda Reddy

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi Nityananda,

      If you/user have relevant transport related roles and transport mode is set in the tenant settings by tenant administrator, transport option at iflow level would start appearing.

       

      Thanks

      Deepak

      Author's profile photo Nityananda Reddy Kondreddy
      Nityananda Reddy Kondreddy

      Hi Deepak,

       

      Thanks for the reply. Presently in our tenant we have configured transport mode as "none".

      But we are in process of implementation of CTS+. But mean time we want to enable the option of  iflow level transport for manual transport mechanism.

      So please let us know what options do we want to enable for this.

       

      Thanks & Regards,
      Nityananda Reddy

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi Nityananda,

      Having transport mode set to none will not enable the transport action. So you need to have one mode set for transport.

      And I don't understand what you mean by >>transport for manual transport mechanism<<, if I understand correctly that you want to manually transport it, then download action of integration flow, which downloads the integration flow zip file may come handy. And you can upload the downloaded integration flow zip in another tenant.

       

      Thanks

      Deepak

      Author's profile photo K Nityananda Reddy
      K Nityananda Reddy

      Hi Deepak,

      Re: Updating the existing artifact version through manual transport mechanism.

      Yes you are correct, I am able to download the required integration flow and saved into my local drive from development tenant.

      But If I want to upload the same zip file into production tenant I am not able to find the option of upload or import inside the package to update the existing package with the new integration flow or update the existing integration flow with the new enhancements done in the development tenant.

      Package%20Level%20Options

      Package Level Options

       

      Iflow%20Level%20Options

      Iflow Level Options

       

      My main intention is to transport the integration flow which is already exist in the production tenant which has received some changes and now we need to update the integration flow in the production with the new changes by using manual transport option that is importing and exporting zip file.

      Thanks

      Nityananda Reddy

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi Nityananda,

      For the very first time, you can upload the integration flow downloaded zip via the steps = In the integration package Artifacts tab (click on Edit on top right corner) -> click on Add dropdown -> Integration Flow -> select Upload radio button and then upload the zip.

      For the next time onwards, assuming you have updates to the same integration flow and version increments, you need to select the same integration flow -> click on Actions table column action icon -> View metadata -> click on Edit and then Browse, upload the newer downloaded zip of same integration flow.

      Hope this helps

       

      Thanks

      Deepak

      Author's profile photo Alexander Aigner
      Alexander Aigner

      Hello Deepak G Deshpande

      thanks for the Blog. This looks very good and we would like to enable this in our tennant. Unfortunately, we dont seem to find a way how.

      Main question: Is it possible to combine the "Transport at Artifact Level" with  export/import transport mode?

      All information i can find in regards to this topic points to this Blog.

      I have had a look at 2651907 - Content transport between tenants in SAP Cloud Integration and SAP Help https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/e3c79d65aa604b80992e20609881ad7a.html but i am not able to find information with which transport mode it is possible and when it isn't.

      Also, in the note it is menntioned that "Transport Settings option is available only if you have the role "IntegrationContent.Transport" assigned to your user."  I assume this is the reason, why i am not able to change the Transport Mode settings in our CPI Tennant. But, I was looking in our tennant (BTP Cockpit - Security - Roles) and we dont seem to have this role and i cant assign it to a user.

      Also in this help page https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/fda781c59e4b46a390ce5b409f60365e.html it is noted, that this role is actually deprecated?

      Could you maybe let me know if and how this can be enabled for "Export/Import" Transports as well?

      Thanks and best regards,
      Alex

      EDIT: I just found a comment in help that IntegrationContent.Transport is only used in Neo and that WorkspacePackagesTransport is the replacement for CF. I assume that this role is only relevant if you use any specific transport mode besides export/import? I assigned it to a custom role collection, as it seems to be not assigned to any existing one and assigned it to the user. no change in the behaviour.

      Author's profile photo Deepak G Deshpande
      Deepak G Deshpande
      Blog Post Author

      Hi Alexander,

      Yes, the role is only for transport modes. And for export/import it is not related.

      And with your question >>Could you maybe let me know if and how this can be enabled for "Export/Import" Transports as well? <<, are you looking for "Export/Import" at Artifact level? If so, you can download and upload the integration flows directly.

       

      Hope this information helps

      Thanks

      Deepak

      Author's profile photo M. van Dooren
      M. van Dooren

      Hi Deepak,

      Export and Import of specific artifacts in an Integration Package directly gives a warning that the artifact won't receive any future updates (see screenshot below). This means you won't be able to import an new version of the Integration Package anymore.

      Even worse when you try to import a newer version of the Integration Package, CPI even gives an uniqueness conflict (see screenshot below). Deleting the IFlow artifact and reconfiguring the Iflow after import of the Integration Package seems to be to only solution.

      In my opinion it should be possible to export/import a whole Integration Package and it should be possible to export/import a specific artifact of an Integration Package without touching the other artifacts. And it should be possible to mix these approaches in one environment. As far as I can see mixing these Export/Import approaches is still not possible.

      Do you know whether it is possible to use both approaches without getting conflicts and using reconfigurations? Would this be somethng for the roadmap of SAP?

      Kind Regards,

      Mark

      Author's profile photo Kamlesh Zanje
      Kamlesh Zanje

      Dear Mark,

      Regarding the uniqueness conflict issue, below is my observation. There are two ways to experience this error.

      Case 1: Conflicted artifact in integration packages having different technical pkg name across tenants

      Tenant - T1

      Package  - P1
      Artifact - a1
      Artifact - a2

       

      Tenant - T2

      Package  - P2 
      Artifact - a1(Artifact ID of a1 in P1 and P2 is same)
      Artifact - a3
      Artifact - a4

      Export P2 from T2 and import in T1 will result into uniqueness issue.

      Case 2: Conflicted artifact in integration packages having same technical pkg name across tenants

      Tenant - T1

      Package  - P1
      Artifact - a1
      Artifact - a2

       

      Tenant - T2

      Package  - P1
      Artifact - a1 ( GUID/Resource ID of a1 in P1 and P2 is different although artifact Id is same)
      Artifact - a3
      Artifact - a4

      Export P1 from T2 and import in T1 will result into overwrite dialog and then uniqueness issue.

      Kindy elaborate which situation you had experienced. However, your expectation is that conflicted artifacts can be ignored and remaining artifacts should be imported along with integration package in the target tenant. If this expectation is correct, I would take this as a feedback and groom the case.

       

      Your second issue where update will be lost if artifact is edited will be experienced if user edits the pre-packaged integration content or custom integration content. If this warning appears on edit of pre-packaged content then it is the correct behavior, however experiencing the same warning on edit of custom integration content is a bug and there is as backlog for the correction.

      But you mentioned, this issue is experienced on export/import of specific artifacts and this is outside the purview of my understanding. I would request you to provide some more details or report a ticket on LOD-HCI-PI-WT-IFL or setup a call with me (kamlesh.zanje@sap.com).

      Apologies for late in replying to your mail. Nevertheless, looking forward for your reply.

      Thanks & Regards,

      Kamlesh.

      Author's profile photo Alexander Aigner
      Alexander Aigner

      Hello, we experienced the same issue as mentioned by Mark.

      Szenario:

      1. Create package with some flows (P1).
      2. Transport package to next tennant (P1 from T1 -> T2).
      3. Create new flow in T1 in P1
      4. Export / Import the new Flow of T1 to T2 into P1

      Now if you want to update the flow, you will have to repeat step 4, but you cannot import the flow again. as it already exists. you will have to delete it.

      A cloeague uses the option "View Metadata" in T2. Then click Edit and you can reupload the Integration Flow (exported file from T1). This will make an update of the Flow in place, without loosing the Configuration.

      But: if you should decide to Transport the complete package P1 again from T1 to T2 you will get first a warning (that the content will be overwritten) and second the error posted by Mark.

      The only solution is to delete the manually imported flows. Then the Transport of the Package is working. Interestingly, when deploying the IFlows after deleting and reimporting the Package, it correctly identified the deleted IFlow as the same as the newly imported one and updates it instead.

      Best regards,
      Alex