SAP Cloud Transport Management Skill
Table of Contents
- Overview
- Quick Start: Initial Setup
- Landscape Configuration
- Destination Configuration
- Import Queue Operations
- Transport Request Statuses
- Troubleshooting
- Security
- Bundled Resources
- Integrations
- Reference Documentation
- 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): files for Cloud Foundry deployments
- BTP ABAP: References to ABAP objects in Git repositories
- Application Content: Application-specific formats (, )
- 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 Type | Plans Available | Purpose |
|---|
| Application | , , | UI access |
| Instance | , , | API/programmatic access |
Instance plans require an active application plan. The
plan is for CI/CD pipelines.
Step 2: Subscribe to the Service
- Navigate to Services > Service Marketplace
- Search for "Cloud Transport Management"
- Select Create from the Actions menu
- Choose a subscription plan (, , or )
- Verify status shows "Subscribed"
Step 3: Set Up Role Collections
Pre-delivered Role Collections:
Available Roles:
| Role | Capabilities |
|---|
| Administrator | Full administration for all TMS tasks |
| LandscapeOperator | Create/edit/delete nodes and routes |
| TransportOperator | Manage import queues, forward, reset, schedule |
| ImportOperator | Import all transport requests |
| ImportSelectedOperator | Import selected transport requests |
| ExportOperator | Add files, create modifiable requests |
| Viewer | Read-only access |
Assign roles: Security > Role Collections > [Collection] > Edit > Users
Step 4: Create Service Instance and Key
- Create a Cloud Foundry space in your subaccount
- Navigate to Services > Instances and Subscriptions > Create
- Select:
- Service:
Cloud Transport Management
- Plan: (instance type)
- Runtime:
- Create a service key - credentials structure:
json
{
"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:
| Field | Description |
|---|
| Name | Case-sensitive identifier (must match for Content Agent) |
| Allow Upload to Node | Enable file uploads for local archives |
| Forward Mode | (default), , , |
| Content Type | , , , |
| Destination | Target deployment endpoint |
| Deployment Strategy | or (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:
- Select template (number of nodes)
- Configure each node
- Customize route names
- 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.
| Field | Value |
|---|
| Name | TransportManagementService
(or app-specific name) |
| Type | HTTP |
| URL | Service key value |
| Authentication | OAuth2ClientCredentials |
| Client ID | Service key |
| Client Secret | Service key |
| Token Service URL | Service key + |
| Additional Property | = source node name |
MTA Deployment Destinations (Cloud Foundry)
Option 1: Basic Authentication (SAP ID users only)
| Field | Value |
|---|
| 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`) |
| Authentication | BasicAuthentication |
| User | Platform user email with role |
Get space GUID:
cf space <space-name> --guid
URL-encode special characters in org/space names
Option 2: OAuth2Password (Custom IdP support)
| Field | Value |
|---|
| URL | Same as Basic Auth |
| Authentication | OAuth2Password |
| Client ID | |
| Client Secret | (leave empty) |
| Token Service URL | [https://login.cf.<domain>
](https://login.cf.<domain>`) |
BTP ABAP Environment Destinations
| Field | Value |
|---|
| 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/`) |
| Authentication | BasicAuthentication |
| User | Communication user from |
Import Queue Operations
Import Methods
| Method | Description | Availability |
|---|
| Import All | Sequential import of all requests in queue | All content types |
| Import Selected | Import specific requests (may cause inconsistencies) | Not BTP ABAP |
| Import Upto | Import all requests up to selected one | BTP ABAP only |
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: (MTA), (XSC DU), (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
| Status | Description |
|---|
| Initial | Added but not imported |
| Running | Import in progress |
| Succeeded | Import successful |
| Warning | Completed with warnings |
| Error | Import failed (retryable) |
| Fatal | Import failed (fatal error) |
| Skipped | Intentionally skipped (virtual nodes) |
| Repeatable | Reset for re-import |
| Deleted | Removed from queue |
| Transient | Tested 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
| Error | Likely Cause | Quick Fix |
|---|
| Wrong CF domain | Match domain to output |
| Unencoded special chars | Use space GUID: |
| Missing SpaceDeveloper | Add role in BTP Cockpit or CF CLI |
| Wrong IdP | Use OAuth2Password with property |
| Connection refused (ABAP) | Wrong URL pattern | Verify communication arrangement URL |
| Import stuck | Non-final status | Check Transport Action Logs for root cause |
MTA Deployment Errors
Causes:
- Wrong Cloud Foundry domain in URL
- Special characters in org/space names not URL-encoded
Solutions:
- Verify domain matches CF API endpoint:
- Use space GUID instead of names
- URL-encode special characters ( → , space → )
Causes:
- User lacks role
- User from wrong identity provider
Solutions:
- Verify user roles:
cf space-users <org> <space>
- Use OAuth2Password auth for custom IdP users
SAP Support
Component:
(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
| Plan | Access Level |
|---|
| Full API access |
| Export actions only (CI/CD) |
| Import, reset, forward, delete only |
Node-Specific Restrictions
Use attributes to restrict roles to specific nodes:
TmsNodesTransportOperator
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
service plan.
Alert Notifications
Configure
ALERT_NOTIFICATION_SERVICE
destination for:
- /
TmsNodeImportJobDeactivated
- (85% threshold)
API Operations
- File Upload: Upload content archive
- Node Export: Attach file to new request, forward to target nodes
- Node Upload: Upload to specific node (CI/CD scenarios)
- 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