TMS -Transport SAC Content with Transport Management Service (TMS) and Content Network Storage (CNS)

Estimated read time 14 min read

Series – TMS:

Transport Content Archives on Local File Systems with Transport Management Service (TMS)SAP CI/CD Integration with Transport Management Service (TMS)Transport SAP Cloud Integration (CI/CPI) Content with Transport Management Service (TMS) and Content Agent Service (CAS)Transport SAP Analytics Cloud (SAC) Content with Transport Management Service (TMS) and Content Network Storage (CNS)Use Transport Management Service (TMS) API

How Many Ways to Transport SAC Content between Tenants

Basically, there are three ways to transport SAP Analytics Cloud (SAC) content between tenants:

Method 1: Transporting Content Through Content Network Storage (Recommended)Method 2: Transporting Content Through SAP Cloud Transport Management Service and Content Network Storage (Recommended)Method 3: Transporting Content Through File System

Note, to enable content transfer between two tenants, the SAC versions at both ends must be compatible:

The source and destination systems need to be on the same quarterly version of SAP Analytics Cloud, or the following quarterly version. If the importing system is on an older version, the package won’t appear. If it’s two or more versions ahead of the exporting system, the package’s content may not be supported.You can now define a semantic version to the content packages as <major version>.<minor version>.<patch> Version value can be any numeric up to 4 digits.By default, the package has the version as 1.0.0 for any new export.

 

Comparisons between Method 1 and Method 2

Comparisons between Method 1 (Transporting Content Through Content Network Storage) and Method 2 (Transporting Content Through SAP Cloud Transport Management Service and Content Network Storage):

Centralized Management

Method 1: Does not offer centralized management.Method 2: Offers centralized management.

Setup Complexity

Method 1: Is simpler and more straightforward. However, each time a new package needs to be transported, the target SAC tenant must be set up.Method 2: Has higher setup complexity due to centralized management. However, once configured, it becomes easier to transport a new package by simply selecting the pre-configured node.

Approval Process

Method 1: Can be realized by manually triggering in the target SAC tenant via Transport -> Import to actually move the content into Files.Method 2: Allows for approval within TMS to determine whether the content will enter the target SAC. Once approved, it directly moves into Files. It supports either a manual process or automation via APIs.

Ideal Use Case

Method 1: Suitable for simpler environments needing manual control.Method 2: Ideal for complex environments with multiple tenants.

Special Note for SAC Tenants in China

Method 1: Only China’s landscape can be selected. Therefore, if both the source SAC and target SAC are located in China, you can directly use Content Network Storage.Method 2: If you need to transporting between SAC tenants in China and SAC tenants outside of China, you need to use the SAP Cloud Transport Management Service method.

 

How to Transport Content Through TMS and CNS

In this post, we will focus on how to configure and transport SAC content between tenants using TMS and CNS.

To provide a clearer and more effective illustration, we’ll use two SAC tenants as examples: one as the source tenant (e.g., for development purpose) and the other as the target tenant (e.g., for production purpose). If you have three or more SAC tenants, we only take the first SAC as your source SAC and all others as target SACs. Besides, we need a subaccount with one TMS tenant provisioned.

Step 1: Allow Download and Upload of Content Network Packages in All SAC Tenants

For all SAC tenants, go to System -> Administration -> System Configuration:

Enable the configuration of Allow Download and Upload of Content Network Packages:

Step 2: Create Service Instance and Key (in TMS Subaccount)

You need to make your TMS tenant accessible for the source SAC. To do that, you need to get the TMS credentials and configure them in the source SAC.

In the subaccount of TMS, create a TMS instance and service key, download the key:

Step 3: Upload TMS Service Key to Source SAC (DEV SAC)

In the source SAC, go to Transport -> Export -> My Content, click the configuration button, and the Upload JSON button:

Upload the JSON file you downloaded in the previous step, click the OK button:

Step 4: Create OAuth Client in Target SAC (PROD SAC)

TMS serves as a central hub for transporting SAC content from the source SAC to the target SAC. Therefore, we need to add a destination in the subaccount where the TMS tenant is located. Before that, we need to get credentials from the target SAC so that TMS can access it.

In the target SAC, go to System -> Administration -> App Integration, Click Add a New OAuth Client:

Provide a name, select the access of Analytics Content Network Interaction and choose the Client Credential as your authorization grant method, and click Add button:

Then, please record your client ID and client secret, which will be used in the next step:

Besides, find the Token URL from the following place, which will be used in the next step as well:

Step 5: Add Destinations for Target SAC Tenants (in TMS Subaccount)

Through the previous step, you have got the client ID, client secret, and token URL from the target SAC. Then, you need to add a destination in the subaccount where the TMS tenant is located.

If you have three or more SAC tenants, you need to configure one destination for each target SAC.

Open the TMS subaccount, go to Connectivity -> Destinations, click Create Destination button, and fill in with the following information:

FieldValueDescription

NameSAC_PROD_TENANTFor example.TypeHTTP URL<SAC-Tenant-URL>/api/v1/content/deploy/ AuthenticationOAuth2ClientCredentials Client ID<Client-ID> Client Secret<Client-Secret> Token Service URL TypeDedicated Token Service URL<Token-URL>?grant_type=client_credentials 

For example:

Step 6: Create Transport Nodes and Route in TMS Tenant

In TMS, transport nodes represent the source and target endpoints of a deployment process – for example, a Cloud Foundry subaccount, or an SAC tenant. Transports take place between transport nodes.

Make sure you have one of the roles Administrator or LandscapeOperator assigned to your user. Set it by creating a Role Collection and adding the Role of (for example) to it. And don’t forget to assign the Role Collection to yourself.

You have the following options to create transport nodes:

Choose Landscape Visualization from the navigation pane, and then click button + (Create a Node).

Choose Landscape Wizard from the navigation pane, then select a template for your landscape, and create your transport nodes as part of the process.

Choose Transport Nodes from the navigation pane, and click button + (Create a new node).

In this post, we create a node with the option Landscape Wizard.

Navigate to the Landscape Wizard, select the Two-Node Landscape:

Fill in with the following information:

Step 7: Test

Create an Export Package in Source SAC (DEV SAC)

In the source SAC, go to Transport -> Export -> My Content, click the add button:

Fill in with the following information, and note that leave the Destinations empty when you use TMS to transport content, click the Next button:

Click the Export button, note that since you left the Destinations as empty, the package would not be transported immediately:

Export SAC Package from Source SAC (DEV SAC)

Select the export package you created in the previous step, click the Upload to SAP Cloud Transport Management Node button and choose the node that represents your source end. for example:

Now your package has been uploaded and exported from the source node to the queue of the target node. You can check the status in the TMS tenant:

Transport to Target SAC in TMS Tenant

In the queue of the target node, select the package and click the Import Selected button:

Click the OK button:

It would take some time to finish the transport, which depends on how large your package is:

Once the transport is finished, you can find your content in the Files of the target SAC:

References

Transporting Content Through SAP Cloud Transport Management

Acknowledgments

Thanks help from Alan Han and Sam Sun.

 

​ Series – TMS:Transport Content Archives on Local File Systems with Transport Management Service (TMS)SAP CI/CD Integration with Transport Management Service (TMS)Transport SAP Cloud Integration (CI/CPI) Content with Transport Management Service (TMS) and Content Agent Service (CAS)Transport SAP Analytics Cloud (SAC) Content with Transport Management Service (TMS) and Content Network Storage (CNS)Use Transport Management Service (TMS) APIHow Many Ways to Transport SAC Content between TenantsBasically, there are three ways to transport SAP Analytics Cloud (SAC) content between tenants:Method 1: Transporting Content Through Content Network Storage (Recommended)Method 2: Transporting Content Through SAP Cloud Transport Management Service and Content Network Storage (Recommended)Method 3: Transporting Content Through File SystemNote, to enable content transfer between two tenants, the SAC versions at both ends must be compatible:The source and destination systems need to be on the same quarterly version of SAP Analytics Cloud, or the following quarterly version. If the importing system is on an older version, the package won’t appear. If it’s two or more versions ahead of the exporting system, the package’s content may not be supported.You can now define a semantic version to the content packages as <major version>.<minor version>.<patch> Version value can be any numeric up to 4 digits.By default, the package has the version as 1.0.0 for any new export. Comparisons between Method 1 and Method 2Comparisons between Method 1 (Transporting Content Through Content Network Storage) and Method 2 (Transporting Content Through SAP Cloud Transport Management Service and Content Network Storage):Centralized ManagementMethod 1: Does not offer centralized management.Method 2: Offers centralized management.Setup ComplexityMethod 1: Is simpler and more straightforward. However, each time a new package needs to be transported, the target SAC tenant must be set up.Method 2: Has higher setup complexity due to centralized management. However, once configured, it becomes easier to transport a new package by simply selecting the pre-configured node.Approval ProcessMethod 1: Can be realized by manually triggering in the target SAC tenant via Transport -> Import to actually move the content into Files.Method 2: Allows for approval within TMS to determine whether the content will enter the target SAC. Once approved, it directly moves into Files. It supports either a manual process or automation via APIs.Ideal Use CaseMethod 1: Suitable for simpler environments needing manual control.Method 2: Ideal for complex environments with multiple tenants.Special Note for SAC Tenants in ChinaMethod 1: Only China’s landscape can be selected. Therefore, if both the source SAC and target SAC are located in China, you can directly use Content Network Storage.Method 2: If you need to transporting between SAC tenants in China and SAC tenants outside of China, you need to use the SAP Cloud Transport Management Service method. How to Transport Content Through TMS and CNSIn this post, we will focus on how to configure and transport SAC content between tenants using TMS and CNS.To provide a clearer and more effective illustration, we’ll use two SAC tenants as examples: one as the source tenant (e.g., for development purpose) and the other as the target tenant (e.g., for production purpose). If you have three or more SAC tenants, we only take the first SAC as your source SAC and all others as target SACs. Besides, we need a subaccount with one TMS tenant provisioned. Step 1: Allow Download and Upload of Content Network Packages in All SAC TenantsFor all SAC tenants, go to System -> Administration -> System Configuration:Enable the configuration of Allow Download and Upload of Content Network Packages:Step 2: Create Service Instance and Key (in TMS Subaccount)You need to make your TMS tenant accessible for the source SAC. To do that, you need to get the TMS credentials and configure them in the source SAC.In the subaccount of TMS, create a TMS instance and service key, download the key:Step 3: Upload TMS Service Key to Source SAC (DEV SAC)In the source SAC, go to Transport -> Export -> My Content, click the configuration button, and the Upload JSON button:Upload the JSON file you downloaded in the previous step, click the OK button:Step 4: Create OAuth Client in Target SAC (PROD SAC)TMS serves as a central hub for transporting SAC content from the source SAC to the target SAC. Therefore, we need to add a destination in the subaccount where the TMS tenant is located. Before that, we need to get credentials from the target SAC so that TMS can access it.In the target SAC, go to System -> Administration -> App Integration, Click Add a New OAuth Client:Provide a name, select the access of Analytics Content Network Interaction and choose the Client Credential as your authorization grant method, and click Add button:Then, please record your client ID and client secret, which will be used in the next step:Besides, find the Token URL from the following place, which will be used in the next step as well:Step 5: Add Destinations for Target SAC Tenants (in TMS Subaccount)Through the previous step, you have got the client ID, client secret, and token URL from the target SAC. Then, you need to add a destination in the subaccount where the TMS tenant is located. If you have three or more SAC tenants, you need to configure one destination for each target SAC.Open the TMS subaccount, go to Connectivity -> Destinations, click Create Destination button, and fill in with the following information:FieldValueDescriptionNameSAC_PROD_TENANTFor example.TypeHTTP URL<SAC-Tenant-URL>/api/v1/content/deploy/ AuthenticationOAuth2ClientCredentials Client ID<Client-ID> Client Secret<Client-Secret> Token Service URL TypeDedicated Token Service URL<Token-URL>?grant_type=client_credentials For example:Step 6: Create Transport Nodes and Route in TMS TenantIn TMS, transport nodes represent the source and target endpoints of a deployment process – for example, a Cloud Foundry subaccount, or an SAC tenant. Transports take place between transport nodes.Make sure you have one of the roles Administrator or LandscapeOperator assigned to your user. Set it by creating a Role Collection and adding the Role of (for example) to it. And don’t forget to assign the Role Collection to yourself.You have the following options to create transport nodes:Choose Landscape Visualization from the navigation pane, and then click button + (Create a Node).Choose Landscape Wizard from the navigation pane, then select a template for your landscape, and create your transport nodes as part of the process.Choose Transport Nodes from the navigation pane, and click button + (Create a new node).In this post, we create a node with the option Landscape Wizard.Navigate to the Landscape Wizard, select the Two-Node Landscape:Fill in with the following information:Step 7: TestCreate an Export Package in Source SAC (DEV SAC)In the source SAC, go to Transport -> Export -> My Content, click the add button:Fill in with the following information, and note that leave the Destinations empty when you use TMS to transport content, click the Next button:Click the Export button, note that since you left the Destinations as empty, the package would not be transported immediately:Export SAC Package from Source SAC (DEV SAC)Select the export package you created in the previous step, click the Upload to SAP Cloud Transport Management Node button and choose the node that represents your source end. for example:Now your package has been uploaded and exported from the source node to the queue of the target node. You can check the status in the TMS tenant:Transport to Target SAC in TMS TenantIn the queue of the target node, select the package and click the Import Selected button:Click the OK button:It would take some time to finish the transport, which depends on how large your package is:Once the transport is finished, you can find your content in the Files of the target SAC:ReferencesTransporting Content Through SAP Cloud Transport ManagementAcknowledgmentsThanks help from Alan Han and Sam Sun.   Read More Technology Blogs by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author