Sap-skills sap-btp-cloud-transport-management

install
source · Clone the upstream repo
git clone https://github.com/secondsky/sap-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/secondsky/sap-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/sap-btp-cloud-transport-management/skills/sap-btp-cloud-transport-management" ~/.claude/skills/secondsky-sap-skills-sap-btp-cloud-transport-management && rm -rf "$T"
manifest: plugins/sap-btp-cloud-transport-management/skills/sap-btp-cloud-transport-management/SKILL.md
source content

SAP Cloud Transport Management Skill

Table of Contents

  1. Overview
  2. Quick Start: Initial Setup
  3. Landscape Configuration
  4. Destination Configuration
  5. Import Queue Operations
  6. Transport Request Statuses
  7. Troubleshooting
  8. Security
  9. Bundled Resources
  10. Integrations
  1. Reference Documentation
  2. Documentation Links

Overview

SAP Cloud Transport Management is a service on SAP BTP that manages software deliverables between accounts of different environments by transporting them across various runtimes. It provides transparency to the audit trail of changes and enables separation of concerns between developers and operations teams.

Supported Environments: Cloud Foundry, Kyma, Neo (deprecated)

Supported Content Types:

  • MTA (Multitarget Applications):
    .mtar
    files for Cloud Foundry deployments
  • BTP ABAP: References to ABAP objects in Git repositories
  • Application Content: Application-specific formats (
    .zip
    ,
    .rar
    )
  • XSC DU: SAP HANA XS classic delivery units

Quick Start: Initial Setup

Prerequisites

  • Global account administrator access
  • At least one SAP BTP subaccount
  • Cloud Foundry environment enabled

Setup Workflow

1. Configure Entitlements → 2. Subscribe to Service → 3. Set Up Roles → 4. Create Service Instance

Step 1: Configure Entitlements

Navigate to: Global Account > Entitlements > Entity Assignments > Add Service Plans

Select "Cloud Transport Management" and choose plans:

Plan TypePlans AvailablePurpose
Application
standard
,
free
,
build-runtime
UI access
Instance
standard
,
export
,
transport_operator
API/programmatic access

Instance plans require an active application plan. The

export
plan is for CI/CD pipelines.

Step 2: Subscribe to the Service

  1. Navigate to Services > Service Marketplace
  2. Search for "Cloud Transport Management"
  3. Select Create from the Actions menu
  4. Choose a subscription plan (
    standard
    ,
    free
    , or
    build-runtime
    )
  5. Verify status shows "Subscribed"

Step 3: Set Up Role Collections

Pre-delivered Role Collections:

  • TMS_LandscapeOperator_RC
  • TMS_Viewer_RC

Available Roles:

RoleCapabilities
AdministratorFull administration for all TMS tasks
LandscapeOperatorCreate/edit/delete nodes and routes
TransportOperatorManage import queues, forward, reset, schedule
ImportOperatorImport all transport requests
ImportSelectedOperatorImport selected transport requests
ExportOperatorAdd files, create modifiable requests
ViewerRead-only access

Assign roles: Security > Role Collections > [Collection] > Edit > Users

Step 4: Create Service Instance and Key

  1. Create a Cloud Foundry space in your subaccount
  2. Navigate to Services > Instances and Subscriptions > Create
  3. Select:
    • Service:
      Cloud Transport Management
    • Plan:
      standard
      (instance type)
    • Runtime:
      Cloud Foundry
  4. Create a service key - credentials structure:
{
  "uaa": {
    "clientid": "sb-xxxxxx",
    "clientsecret": "xxxxxx",
    "url": "[https://<domain>.authentication.sap.hana.ondemand.com"](https://<domain>.authentication.sap.hana.ondemand.com")
  },
  "uri": "[https://transport-service-app-backend.ts.cfapps.sap.hana.ondemand.com"](https://transport-service-app-backend.ts.cfapps.sap.hana.ondemand.com")
}

Landscape Configuration

Transport Nodes

Transport nodes represent source or target endpoints of deployment processes.

Node Types:

  • Physical Nodes: Actual deployment endpoints (e.g., Cloud Foundry spaces)
  • Virtual Nodes: Placeholders for aggregation/distribution without physical deployment

Key Configuration Fields:

FieldDescription
NameCase-sensitive identifier (must match
sourceSystemId
for Content Agent)
Allow Upload to NodeEnable file uploads for local archives
Forward Mode
Pre-Import
(default),
Post-Import
,
On Success
,
Manual
Content Type
MTA
,
BTP ABAP
,
Application Content
,
XSC DU
DestinationTarget deployment endpoint
Deployment Strategy
default
or
blue-green
(MTA on CF only)

Transport Routes

Routes connect transport nodes. Constraint: A node can be a target for only one route but can be a source for multiple routes.

Transport Landscape Wizard

Use for simple 2-3 node landscapes:

  1. Select template (number of nodes)
  2. Configure each node
  3. Customize route names
  4. Review and finish

Destination Configuration

All destinations require HTTPS. Configure in: SAP BTP Cockpit > Connectivity > Destinations

Destination to TMS Service (Source Environment)

Required for applications exporting content directly to TMS.

FieldValue
Name
TransportManagementService
(or app-specific name)
TypeHTTP
URLService key
uri
value
AuthenticationOAuth2ClientCredentials
Client IDService key
uaa.clientid
Client SecretService key
uaa.clientsecret
Token Service URLService key
uaa.url
+
/oauth/token
Additional Property
sourceSystemId
= source node name

MTA Deployment Destinations (Cloud Foundry)

Option 1: Basic Authentication (SAP ID users only)

FieldValue
URL (org/space)
[https://deploy-service.cf.<domain>/slprot/<org>/<space>/slp
](https://deploy-service.cf.<domain>/slprot/<org>/<space>/slp`)
URL (space GUID)
[https://deploy-service.cf.<domain>/slprot/<guid>/slp
](https://deploy-service.cf.<domain>/slprot/<guid>/slp`)
AuthenticationBasicAuthentication
UserPlatform user email with
SpaceDeveloper
role

Get space GUID:

cf space <space-name> --guid
URL-encode special characters in org/space names

Option 2: OAuth2Password (Custom IdP support)

FieldValue
URLSame as Basic Auth
AuthenticationOAuth2Password
Client ID
cf
Client Secret(leave empty)
Token Service URL
[https://login.cf.<domain>
](https://login.cf.<domain>`)

BTP ABAP Environment Destinations

FieldValue
URL
[https://<instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/
](https://<instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/`)
AuthenticationBasicAuthentication
UserCommunication user from
SAP_COM_0948

Import Queue Operations

Import Methods

MethodDescriptionAvailability
Import AllSequential import of all requests in queueAll content types
Import SelectedImport specific requests (may cause inconsistencies)Not BTP ABAP
Import UptoImport all requests up to selected oneBTP ABAP only

Importable Statuses:

Initial
,
Fatal
,
Repeatable

File Upload

  • Max file size: 1 GB (500 MB on free plan)
  • Storage quota: 50 GB standard, 500 MB free
  • Retention: 30 days (7 days free) after final status
  • Formats:
    .mtar
    (MTA),
    .tgz
    (XSC DU),
    .zip
    (Application Content)

Scheduling

  • Patterns: Daily (hourly, 4x/day) or Weekly (specific days/times)
  • Auto-deactivation: After 3 consecutive fatal failures over 3+ weeks

Automatic Import

Enable per node - immediately processes all importable requests and triggers on new arrivals.

Transport Request Statuses

Import Statuses

StatusDescription
InitialAdded but not imported
RunningImport in progress
SucceededImport successful
WarningCompleted with warnings
ErrorImport failed (retryable)
FatalImport failed (fatal error)
SkippedIntentionally skipped (virtual nodes)
RepeatableReset for re-import
DeletedRemoved from queue
TransientTested and released (modifiable requests)

Lifecycle Statuses

  • Modifiable: Request can be edited
  • Released: In at least one queue with non-archived status
  • Deleted: Deleted from all queues
  • Archived: Cleaned up by retention policy

Troubleshooting

Quick Reference: Common Errors

ErrorLikely CauseQuick Fix
Not Found
Wrong CF domainMatch domain to
cf api
output
Not Found
Unencoded special charsUse space GUID:
cf space <name> --guid
Forbidden
Missing SpaceDeveloperAdd role in BTP Cockpit or CF CLI
Forbidden
Wrong IdPUse OAuth2Password with
origin
property
Connection refused (ABAP)Wrong URL patternVerify
SAP_COM_0948
communication arrangement URL
Import stuckNon-final statusCheck Transport Action Logs for root cause

MTA Deployment Errors

Error:

Not Found
during deployment

Causes:

  1. Wrong Cloud Foundry domain in URL
  2. Special characters in org/space names not URL-encoded

Solutions:

  • Verify domain matches CF API endpoint:
    cf api
  • Use space GUID instead of names
  • URL-encode special characters (
    +
    %2B
    , space →
    %20
    )

Error:

Forbidden
during deployment

Causes:

  1. User lacks
    SpaceDeveloper
    role
  2. User from wrong identity provider

Solutions:

  • Verify user roles:
    cf space-users <org> <space>
  • Use OAuth2Password auth for custom IdP users

SAP Support

Component:

BC-CP-LCM-TMS
(Transport Management for application content)

Required for incidents: Region, subaccount ID, reproduction steps, transport action logs, screenshots

For detailed troubleshooting steps, error catalogs by content type, and support procedures, see

references/troubleshooting.md
.

Security

Service Plans for API Access

PlanAccess Level
standard
Full API access
export
Export actions only (CI/CD)
transport_operator
Import, reset, forward, delete only

Node-Specific Restrictions

Use attributes to restrict roles to specific nodes:

  • TmsNodesTransportOperator
  • TmsNodesImport
  • TmsNodesExport

Malware Scanning

TMS does not perform malware scans - target applications are responsible. Exception: MTA deployment descriptors are verified.

Integrations

CI/CD Integration

Use SAP Continuous Integration and Delivery or Project Piper with the

export
service plan.

Alert Notifications

Configure

ALERT_NOTIFICATION_SERVICE
destination for:

  • TmsImportFinished
    /
    TmsImportStarted
  • TmsTransportRequestAdded
  • TmsNodeImportJobDeactivated
  • TmsStorageQuotaUsage
    (85% threshold)

API Operations

  1. File Upload: Upload content archive
  2. Node Export: Attach file to new request, forward to target nodes
  3. Node Upload: Upload to specific node (CI/CD scenarios)
  4. Import operations: Async - monitor with Get transport action

Reference Documentation

For detailed configuration procedures, see the reference files:


Bundled Resources

Reference Documentation

  • references/initial-setup.md
    - Complete setup procedures
  • references/landscape-configuration.md
    - Nodes, routes, visualization, and wizard
  • references/destinations.md
    - All 8 destination types with configurations
  • references/import-operations.md
    - Import queue, MTA descriptors, modifiable requests
  • references/administration.md
    - Service plans, backup, storage, data export
  • references/troubleshooting.md
    - Error resolution guide
  • references/integrations.md
    - Integration scenarios and API operations
  • references/security-roles.md
    - Role and permission details

Documentation Links


Last Updated: 2025-11-22 Source: SAP-docs/sap-btp-cloud-transport-management