Initial commit
This commit is contained in:
356
references/administration.md
Normal file
356
references/administration.md
Normal file
@@ -0,0 +1,356 @@
|
||||
# SAP Cloud Transport Management - Administration Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/50-administration](https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/50-administration)
|
||||
|
||||
---
|
||||
|
||||
## Administration Tasks Overview
|
||||
|
||||
Account administrators perform the following ongoing tasks:
|
||||
|
||||
1. Configure transport landscape (destinations, nodes, routes)
|
||||
2. Grant user roles
|
||||
3. Configure archiving settings
|
||||
4. Set up notifications (via Alert Notification Service)
|
||||
5. Plan backup strategy
|
||||
6. Manage storage space
|
||||
7. Update service plan
|
||||
8. Monitor service activities
|
||||
|
||||
---
|
||||
|
||||
## Monitoring
|
||||
|
||||
### Home Screen Dashboard
|
||||
|
||||
Provides overview of:
|
||||
- All imports (pie chart with selectable time intervals)
|
||||
- Pending transports (Top n Nodes with importable requests)
|
||||
- Storage usage (capacity and consumption)
|
||||
- Deactivated import schedules
|
||||
|
||||
### Activity Logs
|
||||
|
||||
| Log Type | Purpose |
|
||||
|----------|---------|
|
||||
| Transport Action Logs | Track all transport operations |
|
||||
| Landscape Action Logs | Detect configuration changes |
|
||||
| Audit Logs | Security monitoring |
|
||||
|
||||
### Alert Notifications
|
||||
|
||||
Configure SAP Alert Notification Service for:
|
||||
- Service actions (import start/finish, request added)
|
||||
- Storage threshold warnings (85% quota)
|
||||
|
||||
### API-Based Monitoring
|
||||
|
||||
**API Endpoint**: [https://api.sap.com/api/TMS_v2/overview](https://api.sap.com/api/TMS_v2/overview)
|
||||
|
||||
Use for:
|
||||
- Custom monitoring scripts
|
||||
- Automated transport log retrieval
|
||||
- Integration with external monitoring tools
|
||||
|
||||
### Recommended Practices
|
||||
|
||||
Regularly review:
|
||||
1. Home screen dashboard
|
||||
2. Transport action logs
|
||||
3. Landscape action logs
|
||||
4. Audit logs
|
||||
5. Storage quota
|
||||
|
||||
---
|
||||
|
||||
## Service Plan Updates
|
||||
|
||||
### Supported Upgrade Paths
|
||||
|
||||
| Current Plan | Target Plan | Prerequisite |
|
||||
|--------------|-------------|--------------|
|
||||
| `free` | `standard` | `standard` application plan entitlement |
|
||||
| `build-code` | `build-runtime` | `build-runtime` application plan entitlement |
|
||||
| `free` | `build-runtime` | `build-runtime` application plan entitlement |
|
||||
| `standard` | `build-runtime` | `build-runtime` application plan entitlement |
|
||||
|
||||
### Update Procedure
|
||||
|
||||
1. Navigate to **BTP Cockpit > Subaccount > Services > Instances and Subscriptions**
|
||||
2. Expand Cloud Transport Management row (arrow control)
|
||||
3. Select three-dot menu next to **Go to Application**
|
||||
4. Choose **Update**
|
||||
5. In **Update Subscription** dialog:
|
||||
- Select target application plan
|
||||
- Click **Update Subscription**
|
||||
|
||||
### Reference
|
||||
|
||||
Service plans: SAP Discovery Center Service - Cloud Transport Management
|
||||
|
||||
---
|
||||
|
||||
## Customer Data Export
|
||||
|
||||
### Built-In Export Functions
|
||||
|
||||
Three download capabilities in TMS UI:
|
||||
|
||||
| Export Type | Description |
|
||||
|-------------|-------------|
|
||||
| Transport Action Logs | Download transport-related logs and archived logs |
|
||||
| MTA Extension Descriptors | Download `.mtaext` files |
|
||||
| Landscape Configuration | Export nodes, routes, and properties |
|
||||
|
||||
### Data Handling
|
||||
|
||||
- Service does not modify uploaded content
|
||||
- Content persisted only for deployment/import tasks
|
||||
- Content removed after operations complete
|
||||
- **Recommendation**: Maintain independent content repositories
|
||||
|
||||
### Decommissioning Export
|
||||
|
||||
For service termination, formal customer data export process available.
|
||||
|
||||
**Requirements**:
|
||||
- Export must occur before purging phase
|
||||
- Review Terms and Conditions for timeline
|
||||
- Submit incident via component: `BC-CP-LCM-TMS`
|
||||
- Subject prefix: `Customer Data Export Request`
|
||||
|
||||
---
|
||||
|
||||
## Backup Configuration
|
||||
|
||||
### Data Storage Locations
|
||||
|
||||
| System | Contents |
|
||||
|--------|----------|
|
||||
| PostgreSQL | Landscape configuration, transport requests, log files |
|
||||
| Object Store | Uploaded files (MTAs), archived transport action logs |
|
||||
|
||||
### Automatic Backup
|
||||
|
||||
**PostgreSQL**:
|
||||
- Retention: 14 days
|
||||
- Restore: Datacenter level only (not individual customers)
|
||||
|
||||
**Object Store**:
|
||||
- No backup/restore functions
|
||||
|
||||
### Manual Backup Options
|
||||
|
||||
When automatic backup insufficient:
|
||||
|
||||
1. **Transport logs**: Download from system
|
||||
2. **MTA extension descriptors**: Download available
|
||||
3. **Landscape configuration**: Export function
|
||||
|
||||
**Note**: Recreation of MTA from specific commit is typically feasible; accessing uploaded files post-transport usually unnecessary.
|
||||
|
||||
---
|
||||
|
||||
## Transport Action Log Archiving
|
||||
|
||||
Configure archiving settings for transport action logs.
|
||||
|
||||
### Access
|
||||
|
||||
Transport Action Logs > Settings (gear icon) > Configure Archiving Settings
|
||||
|
||||
### Default Settings
|
||||
|
||||
- **Archiving Frequency**: Every 13 weeks (quarterly)
|
||||
- **Data Retention**: 7 years (actions older than this are archived)
|
||||
- **Archived Location**: Archived Logs tab in Transport Action Logs
|
||||
|
||||
### Configuration Options
|
||||
|
||||
| Setting | Options | Default |
|
||||
|---------|---------|---------|
|
||||
| Mode | Archive, Delete | Archive |
|
||||
| Retention Period | 1-7 years | 7 years |
|
||||
| Archiving Schedule | Adjustable intervals (weekly to 52-week) | 13 weeks |
|
||||
| User Anonymization | Checkbox | Disabled |
|
||||
|
||||
**Mode**:
|
||||
- **Archive**: Moves older actions to secondary storage, then removes from database
|
||||
- **Delete**: Permanently removes actions without archival
|
||||
|
||||
**User Data Anonymization**:
|
||||
- Replaces usernames and email addresses with `***<anonymized>***`
|
||||
- **Irreversible** once applied
|
||||
|
||||
### Implementation
|
||||
|
||||
1. Navigate to Transport Action Logs
|
||||
2. Select settings (gear) icon
|
||||
3. Adjust parameters in dialog
|
||||
4. Save changes
|
||||
|
||||
**Note**: Archiving runs as background jobs, logged in Landscape Action Logs.
|
||||
|
||||
---
|
||||
|
||||
## Storage Management
|
||||
|
||||
> **Cross-reference**: For storage capacity impact on import operations, see `import-operations.md` → Storage Capacity section.
|
||||
|
||||
### Capacity Limits
|
||||
|
||||
| Plan | Total Capacity | File Limit | Default Retention |
|
||||
|------|----------------|------------|-------------------|
|
||||
| Standard | 50 GB | 1 GB | 30 days |
|
||||
| Free | 500 MB | 500 MB | 7 days |
|
||||
|
||||
### Partner-Managed Edition (China/US Gov)
|
||||
|
||||
| Plan | Total Capacity | File Limit | Default Retention |
|
||||
|------|----------------|------------|-------------------|
|
||||
| Standard | 10 GB | 400 MB | 30 days |
|
||||
| Free | 500 MB | 400 MB | 7 days |
|
||||
|
||||
### Retention Configuration
|
||||
|
||||
- **Standard**: Configurable 1-30 days
|
||||
- **Free**: Configurable 1-7 days
|
||||
- Access via **Settings > File Retention Time**
|
||||
|
||||
### Automatic Cleanup
|
||||
|
||||
Files deleted when:
|
||||
- Transport requests reach final status (Deleted, Error, Skipped, Succeeded, Warning)
|
||||
- Retention period elapsed since last action
|
||||
|
||||
Files **NOT** deleted if status is: Fatal, Initial, Repeatable, Running
|
||||
|
||||
### Capacity Alerts
|
||||
|
||||
- **Warning**: 85% capacity threshold
|
||||
- **Blocked**: No uploads when maximum reached
|
||||
- Enable notification via **Settings > My File Quota > Enable Notification**
|
||||
|
||||
### Freeing Space
|
||||
|
||||
- Delete unnecessary transport requests
|
||||
- Reduce retention time
|
||||
- Upgrade service plan
|
||||
|
||||
---
|
||||
|
||||
## Transport Action Logs
|
||||
|
||||
### Access
|
||||
|
||||
Home Screen > Transport Action Logs
|
||||
|
||||
### Logged Actions
|
||||
|
||||
- Import to Node
|
||||
- File Upload
|
||||
- Upload to Node
|
||||
- Delete Queue Entry
|
||||
- Repeat Queue Entry
|
||||
- Export to Node
|
||||
- Add Queue Entry
|
||||
- Forward Queue Entry
|
||||
|
||||
### Information Columns
|
||||
|
||||
| Column | Description |
|
||||
|--------|-------------|
|
||||
| Node | Transport node name |
|
||||
| Action Type | Operation performed |
|
||||
| User | User who executed action |
|
||||
| Status | Result status |
|
||||
| End Time | Completion timestamp |
|
||||
|
||||
### Filtering
|
||||
|
||||
- Node
|
||||
- Action Type
|
||||
- User
|
||||
- Status
|
||||
- End Time (date picker)
|
||||
|
||||
### Additional Features
|
||||
|
||||
- **Include Archived**: Show archived actions
|
||||
- **Refresh expired actions**: Manually refresh running import statuses
|
||||
- **Download**: Plain Text or CSV (selected or all)
|
||||
|
||||
### Archiving
|
||||
|
||||
- Default: Archive actions older than 7 years every 13 weeks
|
||||
- Configure via gear icon
|
||||
|
||||
---
|
||||
|
||||
## Home Screen Features
|
||||
|
||||
### Import Overview
|
||||
|
||||
- Pie chart with import data
|
||||
- Selectable time intervals
|
||||
- Direct navigation to Transport Action Logs
|
||||
|
||||
### Top n Nodes
|
||||
|
||||
Lists nodes with highest importable requests (Initial, Fatal, Repeatable).
|
||||
Click to navigate to import queue.
|
||||
|
||||
### Storage Usage
|
||||
|
||||
Displays maximum capacity and current consumption.
|
||||
|
||||
### Import Schedules
|
||||
|
||||
Lists queues where scheduled import failed 3+ times consecutively over 3+ weeks.
|
||||
Schedules auto-deactivated; requires manual reactivation.
|
||||
|
||||
---
|
||||
|
||||
## Settings Menu
|
||||
|
||||
### File Quota
|
||||
|
||||
- Storage information
|
||||
- 85% capacity threshold notification option
|
||||
|
||||
### File Retention Time
|
||||
|
||||
- View/adjust retention period
|
||||
- Based on service plan
|
||||
|
||||
### About
|
||||
|
||||
- Current version information
|
||||
|
||||
---
|
||||
|
||||
## User Profile Options
|
||||
|
||||
### Language
|
||||
|
||||
- Chinese
|
||||
- English
|
||||
- Browser default detection
|
||||
|
||||
### Appearance Themes
|
||||
|
||||
- Horizon (default)
|
||||
- Belize
|
||||
- Standard Light
|
||||
- Standard Dark
|
||||
- High Contrast Black
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Administration: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/administration-1fe3030.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/administration-1fe3030.md)
|
||||
- Storage Capacity: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/background-information-storage-capacity-e8d5187.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/background-information-storage-capacity-e8d5187.md)
|
||||
- Backup: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/configuring-backup-8d15541.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/configuring-backup-8d15541.md)
|
||||
- Service Plan Update: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/updating-the-service-plan-1717e87.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/updating-the-service-plan-1717e87.md)
|
||||
- Data Export: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/customer-data-export-11365bf.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/customer-data-export-11365bf.md)
|
||||
289
references/destinations.md
Normal file
289
references/destinations.md
Normal file
@@ -0,0 +1,289 @@
|
||||
# SAP Cloud Transport Management - Destination Configuration Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/20-configure-landscape](https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/20-configure-landscape)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Transport destinations contain the connection details for remote communication. They are created in the SAP BTP Cockpit of the subaccount where you subscribe to SAP Cloud Transport Management.
|
||||
|
||||
**Important**: SAP Cloud Transport Management only supports **HTTPS** destinations.
|
||||
|
||||
**Location**: SAP BTP Cockpit > Connectivity > Destinations > Create > From Scratch
|
||||
|
||||
---
|
||||
|
||||
## Destination Types
|
||||
|
||||
### 1. Destination to TMS Service (Source Environment)
|
||||
|
||||
Required when applications export content directly to TMS.
|
||||
|
||||
**Purpose**: Enable source environment to call TMS export API
|
||||
|
||||
**Fixed Names by Application**:
|
||||
- SAP Cloud Integration: `TransportManagementService`
|
||||
- SAP Build Work Zone: `ctms_destination`
|
||||
- Other applications: Check specific documentation
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | `TransportManagementService` | Application-dependent fixed name |
|
||||
| Type | HTTP | |
|
||||
| Description | Optional | |
|
||||
| URL | Service key `uri` value | Addresses TMS instance |
|
||||
| Proxy Type | Internet | |
|
||||
| Authentication | OAuth2ClientCredentials | Required |
|
||||
| Client ID | Service key `uaa.clientid` | |
|
||||
| Client Secret | Service key `uaa.clientsecret` | |
|
||||
| Token Service URL Type | Dedicated | |
|
||||
| Token Service URL | Service key `uaa.url` + `/oauth/token` | Authentication service endpoint |
|
||||
|
||||
**Additional Properties**:
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| `sourceSystemId` | Source transport node name |
|
||||
|
||||
---
|
||||
|
||||
### 2. MTA Deployment on Cloud Foundry - Basic Authentication
|
||||
|
||||
**Identity Provider Support**:
|
||||
- **Default**: Authenticates against SAP Identity Service (SAP ID users only)
|
||||
- **Custom IAS Tenant**: Can be enabled by SAP upon request
|
||||
- When enabled: Supports only **local IAS-managed users**
|
||||
- Does **NOT** support federated users (users from corporate identity providers)
|
||||
- Contact SAP Support to enable custom IAS tenant authentication
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | User-defined | |
|
||||
| Type | HTTP | |
|
||||
| Description | Optional | |
|
||||
| Proxy Type | Internet | |
|
||||
| Authentication | BasicAuthentication | |
|
||||
| User | Platform user email | Must have SpaceDeveloper role |
|
||||
| Password | User's password | |
|
||||
|
||||
**URL Options**:
|
||||
|
||||
**Option A - Using Organization and Space Names**:
|
||||
```
|
||||
[https://deploy-service.cf.<domain>/slprot/<myorg>/<myspace>/slp](https://deploy-service.cf.<domain>/slprot/<myorg>/<myspace>/slp)
|
||||
```
|
||||
- `<domain>`: From Cloud Foundry API endpoint (subaccount Overview)
|
||||
- URL-encode special characters:
|
||||
- Space → `%20`
|
||||
- Comma → `%2C`
|
||||
- Plus → `%2B`
|
||||
- Slash → `%2F`
|
||||
|
||||
Example:
|
||||
```
|
||||
[https://deploy-service.cf.eu10-004.hana.ondemand.com/slprot/TestOrg/TestSpace/slp](https://deploy-service.cf.eu10-004.hana.ondemand.com/slprot/TestOrg/TestSpace/slp)
|
||||
```
|
||||
|
||||
**Option B - Using Space GUID** (Recommended):
|
||||
```
|
||||
[https://deploy-service.cf.<domain>/slprot/<my-space-guid>/slp](https://deploy-service.cf.<domain>/slprot/<my-space-guid>/slp)
|
||||
```
|
||||
- Retrieve GUID: `cf space <my-space-name> --guid`
|
||||
- Benefits:
|
||||
- GUIDs follow standard formatting
|
||||
- HTTP-compatible (no encoding needed)
|
||||
- Stable even if org/space names change
|
||||
|
||||
Example:
|
||||
```
|
||||
[https://deploy-service.cf.eu10-004.hana.ondemand.com/slprot/977a24d6-2eaf-432d-a3e1-5294451551a3/slp](https://deploy-service.cf.eu10-004.hana.ondemand.com/slprot/977a24d6-2eaf-432d-a3e1-5294451551a3/slp)
|
||||
```
|
||||
|
||||
**User Requirements**:
|
||||
- Valid Cloud Foundry environment user
|
||||
- `SpaceDeveloper` role in target space
|
||||
- Platform user (required for multi-content deployment)
|
||||
- Not subject to Data Protection and Privacy requirements
|
||||
- Technical user recommended (avoids password rotation)
|
||||
|
||||
---
|
||||
|
||||
### 3. MTA Deployment on Cloud Foundry - OAuth2Password Authentication
|
||||
|
||||
**Use when**: Custom identity provider for platform users
|
||||
|
||||
**Authentication Flow**: UAA returns JWT token, used for Cloud Deployment Service API calls
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | User-defined | |
|
||||
| Type | HTTP | |
|
||||
| Description | Optional | |
|
||||
| URL | Same as Basic Auth options | |
|
||||
| Proxy Type | Internet | |
|
||||
| Authentication | OAuth2Password | |
|
||||
| User | Platform user email | SpaceDeveloper role required |
|
||||
| Password | User's password | |
|
||||
| Client ID | `cf` | Fixed value |
|
||||
| Client Secret | (empty) | Not required |
|
||||
| Token Service URL | `[https://login.cf.<domain>`](https://login.cf.<domain>`) | Replace `api` with `login` from API endpoint |
|
||||
|
||||
**Custom Identity Provider**:
|
||||
- Add `origin` property in Additional Properties
|
||||
- Custom provider must be registered
|
||||
- Automated logon must be enabled
|
||||
|
||||
---
|
||||
|
||||
### 4. SAP Content Agent Service Destination
|
||||
|
||||
**Use when**: Transporting SAP Cloud Integration or API Management content together
|
||||
|
||||
**Prerequisites**:
|
||||
- Service instance and key created in target subaccount
|
||||
- SAP Content Agent service deployed
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Name | User-defined |
|
||||
| Type | HTTP |
|
||||
| URL | Content Agent service URL from service key |
|
||||
| Proxy Type | Internet |
|
||||
| Authentication | OAuth2ClientCredentials |
|
||||
| Client ID | From service key |
|
||||
| Client Secret | From service key |
|
||||
| Token Service URL | From service key + `/oauth/token` |
|
||||
|
||||
---
|
||||
|
||||
### 5. BTP ABAP Environment Destination
|
||||
|
||||
**Prerequisites**:
|
||||
- Communication scenario `SAP_COM_0948` instance in target ABAP environment
|
||||
- Communication system with inbound communication user
|
||||
- "User ID and Password" authentication configured
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | User-defined | |
|
||||
| Type | HTTP | |
|
||||
| Description | Optional | |
|
||||
| Proxy Type | Internet | |
|
||||
| Authentication | BasicAuthentication | |
|
||||
| User | Inbound communication user from `SAP_COM_0948` | |
|
||||
| Password | Communication user password | |
|
||||
|
||||
**URL Pattern**:
|
||||
```
|
||||
[https://<service-instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/](https://<service-instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/)
|
||||
```
|
||||
|
||||
**Trust Settings**:
|
||||
- Use default client truststore (SAP-provided certificates)
|
||||
- Alternative: Custom certificates via destination certificate configuration
|
||||
|
||||
**API**: Uses `MANAGE_SOFTWARE_COMPONENTS` API with `SAP_COM_0948`, supports import of all transport requests.
|
||||
|
||||
---
|
||||
|
||||
### 6. XSC Delivery Unit Destination
|
||||
|
||||
**Use when**: Transporting SAP HANA XS classic delivery units
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | User-defined | |
|
||||
| Type | HTTP | |
|
||||
| Proxy Type | Internet | |
|
||||
| Authentication | BasicAuthentication | |
|
||||
| User | Platform user | Deployment operations user |
|
||||
| Password | User password | |
|
||||
|
||||
**URL Pattern**:
|
||||
```
|
||||
[https://<host>/sap/hana/xs/lm/slp/slp.xsjs](https://<host>/sap/hana/xs/lm/slp/slp.xsjs)
|
||||
```
|
||||
|
||||
**Example**:
|
||||
```
|
||||
[https://demoabcd12345.hana.ondemand.com/sap/hana/xs/lm/slp/slp.xsjs](https://demoabcd12345.hana.ondemand.com/sap/hana/xs/lm/slp/slp.xsjs)
|
||||
```
|
||||
|
||||
**Host Discovery**: Find host in SAP HANA Cockpit or Web-based Development Workbench
|
||||
|
||||
---
|
||||
|
||||
### 7. Application Content Destination
|
||||
|
||||
**Use when**: Transporting application-specific content formats
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | User-defined | |
|
||||
| Type | HTTP | |
|
||||
| URL | Application-specified | Check application documentation |
|
||||
| Authentication | OAuth2ClientCredentials | Typical; varies by application |
|
||||
| Client ID | From target service instance | |
|
||||
| Client Secret | From target service instance | |
|
||||
| Token Service URL | Example: `[https://ts.authentication.sap.hana.ondemand.com`](https://ts.authentication.sap.hana.ondemand.com`) | |
|
||||
|
||||
**Note**: URL and authentication vary by application. Consult specific application documentation.
|
||||
|
||||
---
|
||||
|
||||
### 8. Neo Environment MTA Deployment (Deprecated)
|
||||
|
||||
> **⚠️ Legacy Only**: SAP BTP Neo environment is end-of-life (EOL). Use only for existing Neo environments still in operation. **Cloud Foundry is the standard platform for all new implementations.** Plan migration to Cloud Foundry for long-term support.
|
||||
|
||||
**Use when**: Transporting MTAs to existing SAP BTP Neo environments (legacy systems only)
|
||||
|
||||
| Field | Value | Notes |
|
||||
|-------|-------|-------|
|
||||
| Name | User-defined | |
|
||||
| Type | HTTP | |
|
||||
| Proxy Type | Internet | |
|
||||
| Authentication | BasicAuthentication | |
|
||||
| User | Neo platform user | Must have Operating Solutions roles |
|
||||
| Password | User password | |
|
||||
|
||||
**URL Pattern**:
|
||||
```
|
||||
[https://slservice.<landscape-host>/slservice/slp/basic/<Neo-subaccount-technical-name>/slp](https://slservice.<landscape-host>/slservice/slp/basic/<Neo-subaccount-technical-name>/slp)
|
||||
```
|
||||
|
||||
**Example**:
|
||||
```
|
||||
[https://slservice.eu1.hana.ondemand.com/slservice/slp/basic/a123c4567b/slp](https://slservice.eu1.hana.ondemand.com/slservice/slp/basic/a123c4567b/slp)
|
||||
```
|
||||
|
||||
**User Requirement**: Must be valid Neo environment user with roles per "Operating Solutions" documentation.
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
Use **Check Connection** to validate URL accessibility.
|
||||
|
||||
**Important**: Successful connection check doesn't guarantee deployment success. Conduct test deployments to confirm full functionality.
|
||||
|
||||
---
|
||||
|
||||
## Common Configuration Errors
|
||||
|
||||
| Error | Cause | Solution |
|
||||
|-------|-------|----------|
|
||||
| `Not Found` | Wrong CF domain | Match domain to CF API endpoint |
|
||||
| `Not Found` | Special characters not encoded | Use space GUID or URL-encode |
|
||||
| `Forbidden` | Missing SpaceDeveloper role | Add role to user |
|
||||
| `Forbidden` | Wrong identity provider | Use OAuth2Password with correct origin |
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Create Transport Destinations: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-transport-destinations-c9905c1.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-transport-destinations-c9905c1.md)
|
||||
- TMS Service Destination: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-destinations-to-sap-cloud-transport-management-service-795f733.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-destinations-to-sap-cloud-transport-management-service-795f733.md)
|
||||
- Basic Auth: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-using-sap-cloud-deployment-service-with-basic-authentication-6b7c9d8.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-using-sap-cloud-deployment-service-with-basic-authentication-6b7c9d8.md)
|
||||
- OAuth2Password: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-using-sap-cloud-deployment-service-with-oauth2password-authenticati-a26a721.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-using-sap-cloud-deployment-service-with-oauth2password-authenticati-a26a721.md)
|
||||
- Content Agent Service: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-using-sap-content-agent-service-3f895ed.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-using-sap-content-agent-service-3f895ed.md)
|
||||
- ABAP Environment: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-for-deployment-of-references-of-sap-btp-abap-environment-3014453.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/creating-destinations-for-deployment-of-references-of-sap-btp-abap-environment-3014453.md)
|
||||
608
references/import-operations.md
Normal file
608
references/import-operations.md
Normal file
@@ -0,0 +1,608 @@
|
||||
# SAP Cloud Transport Management - Import Operations Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/30-using-import-queue](https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/30-using-import-queue)
|
||||
|
||||
---
|
||||
|
||||
## Import Queue Overview
|
||||
|
||||
The import queue is the primary interface for managing transport requests in a transport node.
|
||||
|
||||
### Access Methods
|
||||
|
||||
1. **Via Home Screen**: Transport Nodes > Select node
|
||||
2. **Via Landscape Visualization**: Select node > "Go to this node's import queue"
|
||||
|
||||
### Queue Interface Components
|
||||
|
||||
**Header Section**:
|
||||
- Transport node name and description
|
||||
- Forward Mode assignment
|
||||
- Content Type (if assigned)
|
||||
- Destination (if assigned)
|
||||
- Application Type and Region Key (from destination)
|
||||
|
||||
**Tabs**:
|
||||
- **Import Queue**: Transport requests with search/filter/actions
|
||||
- **Node Details**: General node information and scheduling
|
||||
- **Transport Routes**: Associated routes
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Action | Required Role(s) |
|
||||
|--------|-----------------|
|
||||
| Import all requests | ImportOperator |
|
||||
| Import selected requests | TransportOperator OR ImportSelectedOperator |
|
||||
| Add files | Administrator OR ExportOperator |
|
||||
| Forward requests | Administrator OR TransportOperator |
|
||||
| Reset requests | Administrator OR TransportOperator |
|
||||
| Schedule imports | TransportOperator |
|
||||
| Enable automatic import | Administrator OR TransportOperator |
|
||||
|
||||
---
|
||||
|
||||
## Adding Files to Import Queue
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or ExportOperator role
|
||||
- "Allow Upload to Node" enabled on transport node
|
||||
- Supported content types: MTA, XSC DU, or Application Content
|
||||
- **Not supported**: BTP ABAP manual uploads
|
||||
|
||||
**Constraints**:
|
||||
- Maximum file size: 1 GB (500 MB on free plan)
|
||||
- Subscription-level quota applies
|
||||
- Automatic deletion: 30 days after import completion (unless Initial, Repeatable, or Fatal)
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Select **Add** in the import queue
|
||||
2. Complete the dialog:
|
||||
|
||||
| Field | Details |
|
||||
|-------|---------|
|
||||
| Transport Description | Describes the upload |
|
||||
| Content Type | Auto-selected if destination exists; otherwise select |
|
||||
| File | `.mtar` (MTA), `.tgz` (XSC DU), `.zip` (Application Content) |
|
||||
|
||||
3. Select **OK**
|
||||
4. Monitor progress via upload indicator
|
||||
5. Transport request automatically added to queue
|
||||
|
||||
---
|
||||
|
||||
## Import Methods
|
||||
|
||||
### Import All
|
||||
|
||||
Executes all transport requests sequentially as they appear in the queue.
|
||||
|
||||
**Note**: Includes requests not visible due to filter settings.
|
||||
|
||||
**Eligible Statuses**: Initial, Fatal, Repeatable
|
||||
|
||||
**Result**: Succeeded status (or error status if failed)
|
||||
|
||||
### Import Selected
|
||||
|
||||
Import specific transport requests.
|
||||
|
||||
**Availability**: All content types **except** BTP ABAP
|
||||
|
||||
**Warning**: May cause inconsistencies if dependent requests aren't imported.
|
||||
|
||||
### Import Upto (BTP ABAP Only)
|
||||
|
||||
Imports all requests up to a specific transport request.
|
||||
|
||||
**Behavior with identical software component references**:
|
||||
- Only selected request content imports
|
||||
- Previous requests receive Skipped status
|
||||
|
||||
**Error**: Displayed if relevant requests hidden by filters
|
||||
|
||||
---
|
||||
|
||||
## Forward Transport Requests
|
||||
|
||||
Manual forwarding of requests to target nodes.
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or TransportOperator role
|
||||
- Forward Mode set to **Manual** on transport node
|
||||
- Archive attached to transport request
|
||||
- Status: Error, Skipped, Succeeded, or Warning
|
||||
|
||||
**Selection Order**: Requests forward in selection order, influencing target queue order.
|
||||
|
||||
### Status Transitions Upon Forwarding
|
||||
|
||||
| Original Status | New Status |
|
||||
|-----------------|------------|
|
||||
| Initial | Initial |
|
||||
| Deleted, Error, Fatal, Skipped, Succeeded, Warning | Repeatable |
|
||||
| Repeatable | Repeatable |
|
||||
|
||||
**Note**: Forwarding requires intact archive; retention periods vary by plan.
|
||||
|
||||
---
|
||||
|
||||
## Reset Transport Requests
|
||||
|
||||
Reset requests to repeat imports.
|
||||
|
||||
**Eligible Statuses**: Error, Skipped, or Succeeded
|
||||
|
||||
**Result**: Status changes to **Repeatable**
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Select transport requests in import queue
|
||||
2. Select **Reset**
|
||||
3. Requests now have Repeatable status, available for re-import
|
||||
|
||||
---
|
||||
|
||||
## Schedule Imports
|
||||
|
||||
Automate imports at defined intervals.
|
||||
|
||||
**Prerequisites**:
|
||||
- TransportOperator role
|
||||
- Regular import allowed in queue
|
||||
- Access from import queue or Landscape Visualization Properties panel
|
||||
|
||||
### Import Patterns
|
||||
|
||||
**Daily Pattern**:
|
||||
- Select time interval: "Every hour", "Four times per day", etc.
|
||||
|
||||
**Weekly Pattern**:
|
||||
- Select weekly interval: "Every week", "Every second week", etc.
|
||||
- Set Execution Time (start time)
|
||||
- Choose specific days
|
||||
|
||||
### Activation
|
||||
|
||||
- Schedules are **inactive** by default
|
||||
- Select **Active** checkbox to enable
|
||||
|
||||
### Visual Indicators
|
||||
|
||||
- **IMPORT SCHEDULE DETECTED** button in queue header
|
||||
- Shows job status and next execution time
|
||||
|
||||
### Auto-Deactivation Rule
|
||||
|
||||
Schedules automatically deactivate after:
|
||||
- 3 consecutive fatal failures
|
||||
- Over a period of at least 3 weeks
|
||||
|
||||
Affected nodes appear in **Import Schedules** section on home screen.
|
||||
|
||||
---
|
||||
|
||||
## Enable Automatic Import
|
||||
|
||||
Immediate processing of all importable requests when new requests arrive.
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or TransportOperator role
|
||||
- Importing not disabled in node
|
||||
|
||||
**Warning**: Activating immediately processes all requests with Initial, Fatal, or Repeatable statuses.
|
||||
|
||||
### Effects When Enabled
|
||||
|
||||
**Visual**:
|
||||
- "AUTOMATIC IMPORT ENABLED" label in node header
|
||||
|
||||
**Functional**:
|
||||
- Existing importable requests processed immediately
|
||||
- New requests trigger automatic background imports (Import All)
|
||||
- Failed imports retried when new requests arrive
|
||||
- Manual importing removed from queue
|
||||
- Enable button converts to disable
|
||||
|
||||
**System**:
|
||||
- Existing import schedules become inactive
|
||||
- Action logged as "Automatic Import Enabled" = true
|
||||
- Landscape Visualization shows "Import Automatically" = Yes
|
||||
|
||||
---
|
||||
|
||||
## Transport Request Statuses
|
||||
|
||||
### Import Statuses (in Import Queues)
|
||||
|
||||
| Status | Description | Importable |
|
||||
|--------|-------------|------------|
|
||||
| Initial | Added but not imported | Yes |
|
||||
| Running | Import in progress | No |
|
||||
| Succeeded | Import successful | No |
|
||||
| Warning | Completed with warnings | No |
|
||||
| Error | Failed due to error | No |
|
||||
| Fatal | Failed due to fatal error | Yes |
|
||||
| Skipped | Intentionally skipped | No |
|
||||
| Repeatable | Reset for re-import | Yes |
|
||||
| Deleted | Removed from queue | No |
|
||||
| Transient | Tested modifiable request, then released | No |
|
||||
|
||||
### Lifecycle Statuses (in Transport Requests Overview)
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| Modifiable | Request can be edited |
|
||||
| Released | In at least one queue with non-archived/deleted status |
|
||||
| Deleted | Deleted from all queues |
|
||||
| Archived | Cleaned up by retention policy |
|
||||
|
||||
### Lifecycle Status Transitions
|
||||
|
||||
```
|
||||
┌─────────────┐
|
||||
│ Modifiable │ ← Created
|
||||
└──────┬──────┘
|
||||
│ Test (optional)
|
||||
▼
|
||||
┌─────────────┐
|
||||
│ Released │ ← After Release or direct export
|
||||
└──────┬──────┘
|
||||
│ Delete from all queues
|
||||
▼
|
||||
┌─────────────┐
|
||||
│ Deleted │
|
||||
└──────┬──────┘
|
||||
│ Retention period expires
|
||||
▼
|
||||
┌─────────────┐
|
||||
│ Archived │
|
||||
└─────────────┘
|
||||
```
|
||||
|
||||
**Key Points**:
|
||||
- Modifiable → Released: Occurs on **Release** action or when first exported via API
|
||||
- Released → Deleted: Only when removed from **all** import queues
|
||||
- Deleted → Archived: Automatic after retention period (7-30 days)
|
||||
|
||||
---
|
||||
|
||||
## Transport Request Details View
|
||||
|
||||
### Header Section
|
||||
|
||||
- Lifecycle status indicator
|
||||
- Transport request ID
|
||||
- Creation date and user
|
||||
- Content type
|
||||
- File size
|
||||
- Testing status (modifiable requests)
|
||||
- "Imports Failed" link (navigates to affected nodes)
|
||||
|
||||
### Tabs
|
||||
|
||||
**Tracking Tab** (default):
|
||||
- Landscape canvas with nodes and routes
|
||||
- Color-coded import status indicators
|
||||
- Node info: ID and forward mode
|
||||
- Context menu for node actions
|
||||
- "Test Nodes" frame (modifiable only)
|
||||
|
||||
**Action Logs Tab**:
|
||||
- Reverse chronological action listing
|
||||
- Fields: node name, action type, user, status, last changed
|
||||
- Anonymized users for archived actions
|
||||
- Clickable rows open detailed logs
|
||||
- Covers deleted nodes
|
||||
|
||||
**Content Tab**:
|
||||
- File details: URI, name, version, filename
|
||||
- Add/remove content (modifiable requests)
|
||||
- Rearrange files (multiple files)
|
||||
- Click file row to display MD5 hash
|
||||
- Module listing for `.mtar` files
|
||||
- Object metadata (software component, commit ID, branch)
|
||||
|
||||
### Display Options in Import Queue
|
||||
|
||||
**Request Fields Displayed**:
|
||||
- Transport Request ID
|
||||
- Mode (Final or Test)
|
||||
- Description
|
||||
- Owner
|
||||
- Status
|
||||
- Entry Node
|
||||
- Timestamp
|
||||
|
||||
**Icons**:
|
||||
- **Paperclip**: Shows attached file names; for `.mtar` shows modules
|
||||
- **Log icon**: Opens log for request in current node
|
||||
|
||||
**MTA Operation Logs**:
|
||||
- For MTA on Cloud Foundry: logs link to MTA deploy operation logs
|
||||
- **Expiry**: 3 days (no CF CLI access needed)
|
||||
|
||||
---
|
||||
|
||||
## Modifiable Transport Requests
|
||||
|
||||
Allow efficient management of multiple files in a single request.
|
||||
|
||||
### Create Modifiable Request
|
||||
|
||||
**Prerequisites**:
|
||||
- Access to transport requests overview
|
||||
- ExportOperator role for source node
|
||||
|
||||
**Procedure**:
|
||||
|
||||
1. Select **Create** from overview
|
||||
2. Complete dialog:
|
||||
- **Source Node**: Choose from nodes with uploads enabled
|
||||
- **Upload in Source Node**: If checked, imports to source; if unchecked, exports to follow-on nodes
|
||||
- **Content Type**: Must match source node
|
||||
- **Description**: Request details
|
||||
3. Select **Create** (creates empty request)
|
||||
|
||||
### "Upload in Source Node" Decision Table
|
||||
|
||||
| Scenario | Upload in Source Node | Result |
|
||||
|----------|----------------------|--------|
|
||||
| Need to deploy in DEV first, then promote | ✓ Checked | Content imports to DEV, then forwards to TEST/PROD |
|
||||
| Content already deployed in DEV, need to sync TEST/PROD | ☐ Unchecked | Content skips DEV, goes directly to follow-on nodes |
|
||||
| Hotfix that needs to reach production ASAP | ☐ Unchecked | Bypasses source node; use with caution |
|
||||
| Standard development flow (DEV→TEST→PROD) | ✓ Checked | Full pipeline deployment |
|
||||
| CI/CD pipeline deploying pre-tested artifacts | ☐ Unchecked | Artifacts already validated; direct promotion |
|
||||
|
||||
**Important**: When unchecked, the source node serves only as the entry point; no import occurs there.
|
||||
|
||||
### Add Files
|
||||
|
||||
1. Click transport request row
|
||||
2. Navigate to **Content** tab
|
||||
3. Select **Add**
|
||||
4. Browse and select file (must match content type)
|
||||
5. Choose **Upload**
|
||||
|
||||
**Capabilities**:
|
||||
- Multiple files without limit
|
||||
- Remove and rearrange before testing
|
||||
- Request invisible in import queues until Test mode
|
||||
|
||||
### Test Modifiable Requests
|
||||
|
||||
**Prerequisites**:
|
||||
- Access to modifiable transport request detail view
|
||||
- ImportOperator role for all target nodes
|
||||
|
||||
**Test Scope** (via Tracking tab):
|
||||
- If "Upload in Source Node" selected: source + first-level follow-on nodes
|
||||
- If not selected: only first-level follow-on nodes
|
||||
|
||||
**Modify Test Scope**:
|
||||
- Add nodes via context menu (in-between nodes auto-included)
|
||||
- Cannot select final production node
|
||||
- Remove nodes via delete in context menu
|
||||
|
||||
**Procedure**:
|
||||
1. Choose **Test** to open dialog
|
||||
2. Optionally select "Import Automatically" checkbox
|
||||
3. Execute **Test** and refresh
|
||||
|
||||
**Results**:
|
||||
- Request enters queues in Initial status, Test mode
|
||||
- Forward mode governs subsequent routing
|
||||
- Failed imports show "Imports Failed" link
|
||||
- Request remains modifiable during testing
|
||||
|
||||
### Release Modifiable Requests
|
||||
|
||||
**Prerequisites**:
|
||||
- TransportOperator role minimum
|
||||
|
||||
**Procedure**:
|
||||
1. Select **Release**
|
||||
2. Confirm dialog
|
||||
|
||||
**Results**:
|
||||
- Status transitions to **Released**
|
||||
- Request becomes immutable
|
||||
- First-level nodes: Initial status, Final mode
|
||||
- Previously tested nodes: Transient status, Test mode (for audit)
|
||||
|
||||
**Important**: Objects imported during test remain in tenant - not automatically removed.
|
||||
|
||||
### Delete Transport Requests
|
||||
|
||||
Mass delete from all import queues.
|
||||
|
||||
**Prerequisites**: TransportOperator role for all tenant nodes
|
||||
|
||||
**Procedure**:
|
||||
1. Select requests in Transport Requests overview
|
||||
2. Confirm deletion dialog
|
||||
|
||||
**Results**:
|
||||
- Deleted from all import queues in tenant
|
||||
- Files immediately removed from storage
|
||||
- **Irreversible** - cannot restore deleted requests
|
||||
|
||||
---
|
||||
|
||||
## MTA Extension Descriptors
|
||||
|
||||
Upload `.mtaext` files to customize MTA deployments for specific transport nodes.
|
||||
|
||||
**Prerequisites**:
|
||||
- TransportOperator role
|
||||
- Cloud Foundry transport node with Content Type "Multi-Target Application"
|
||||
|
||||
### File Specifications
|
||||
|
||||
- **Extension**: `.mtaext`
|
||||
- **Purpose**: Complement deployment descriptors, customize MTA deployment per node
|
||||
|
||||
### Matching Conditions
|
||||
|
||||
MTA extension descriptors match when:
|
||||
1. MTA ID matches `extends:` parameter in descriptor
|
||||
2. Version binding matches imported MTA version
|
||||
|
||||
### Version Binding
|
||||
|
||||
| Binding | Behavior |
|
||||
|---------|----------|
|
||||
| `*` (asterisk) | Applies to all MTA versions (default) |
|
||||
| Specific (e.g., `1.4.2`) | Applies only to that version |
|
||||
|
||||
**Note**: Cannot use wildcards (e.g., `1.4.*`). Specific bindings take precedence over universal.
|
||||
|
||||
### Key Constraints
|
||||
|
||||
- Descriptors are **NOT forwarded** to target nodes
|
||||
- Must upload separately in each import queue
|
||||
- Can upload before or after MTA addition to queue
|
||||
|
||||
### Operations
|
||||
|
||||
- Add via **Browse** or direct input
|
||||
- View content via magnifying glass icon
|
||||
- Download existing descriptors
|
||||
- Remove from queue
|
||||
- Check availability via paperclip icon
|
||||
|
||||
### Audit Trail
|
||||
|
||||
Upload/deletion actions logged in transport action logs.
|
||||
|
||||
---
|
||||
|
||||
## Search and Filter Options
|
||||
|
||||
### Search Methods
|
||||
|
||||
- **Description Search**: Enter any character string
|
||||
- **Request ID Search**: Enter complete ID
|
||||
|
||||
### Filter Criteria
|
||||
|
||||
**Status Filter**:
|
||||
- Default: Initial, Repeatable, Fatal, Running
|
||||
- Succeeded/Error entries auto-delete after retention period on next import
|
||||
|
||||
**Date Range Filter**:
|
||||
- Default: Last 7 days
|
||||
- Alternative presets available
|
||||
- Timestamp = time of last status change
|
||||
|
||||
**Custom Date Filter**:
|
||||
- Use calendar picker
|
||||
- Click first and last date
|
||||
- Grays out preset option when active
|
||||
- Delete dates to restore preset
|
||||
|
||||
**Reset**: Choose **Restore** to reset all filters to defaults
|
||||
|
||||
---
|
||||
|
||||
## Remove Transport Requests
|
||||
|
||||
Remove specific requests from a single import queue.
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or TransportOperator role
|
||||
- Access to the specific import queue
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Select transport requests
|
||||
2. Execute **Remove**
|
||||
|
||||
### Results
|
||||
|
||||
- Status changes to **Deleted**
|
||||
- Removed from this import queue only
|
||||
- When removed from ALL queues: automatic cleanup deletes physical file
|
||||
|
||||
**Note**: For mass deletion across all queues, use **Delete** from Transport Requests overview.
|
||||
|
||||
---
|
||||
|
||||
## Disable Import
|
||||
|
||||
Temporarily prevent imports in a transport node.
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or TransportOperator role
|
||||
- Access to the import queue
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Select **Disable Import**
|
||||
2. Optionally provide reason
|
||||
3. Confirm
|
||||
|
||||
### Effects When Disabled
|
||||
|
||||
**Import Execution**:
|
||||
- No imports executed (including scheduled)
|
||||
- Other operations continue (file additions work)
|
||||
|
||||
**Forwarding**:
|
||||
- Manual forwarding allowed
|
||||
- Automatic forwarding from preceding nodes continues
|
||||
|
||||
**Visual Indicators**:
|
||||
- Header displays **Import Disabled** message
|
||||
- Hover shows disable reason
|
||||
- Action logged in Landscape Action Logs
|
||||
|
||||
**Re-enable**: Select **Enable Import**
|
||||
|
||||
---
|
||||
|
||||
## Storage Capacity
|
||||
|
||||
> **Cross-reference**: For storage administration, retention configuration, and freeing space, see `administration.md` → Storage Management section.
|
||||
|
||||
### Limits by Plan
|
||||
|
||||
| Plan | Total Capacity | File Limit | Retention |
|
||||
|------|----------------|------------|-----------|
|
||||
| Standard | 50 GB | 1 GB | 1-30 days (default 30) |
|
||||
| Free | 500 MB | 500 MB | 1-7 days (default 7) |
|
||||
|
||||
### Partner-Managed Edition
|
||||
|
||||
| Plan | Total Capacity | File Limit | Retention |
|
||||
|------|----------------|------------|-----------|
|
||||
| Standard | 10 GB | 400 MB | 1-30 days |
|
||||
| Free | 500 MB | 400 MB | 1-7 days |
|
||||
|
||||
### Automatic Cleanup
|
||||
|
||||
Files deleted when:
|
||||
- Requests reach final status (Deleted, Error, Skipped, Succeeded, Warning)
|
||||
- Retention period elapsed since last action
|
||||
- Exception: Deleted status requests cleaned immediately
|
||||
|
||||
Files **NOT** deleted if status is: Fatal, Initial, Repeatable, Running
|
||||
|
||||
### Capacity Alerts
|
||||
|
||||
- Warning at 85% usage
|
||||
- No uploads when maximum reached
|
||||
- Manual deletion frees space
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Import Queue: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/using-the-import-queue-3c4b6f3.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/using-the-import-queue-3c4b6f3.md)
|
||||
- Import Requests: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/import-transport-requests-d2005d5.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/import-transport-requests-d2005d5.md)
|
||||
- Add Files: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/add-files-to-import-queues-c3c87cb.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/add-files-to-import-queues-c3c87cb.md)
|
||||
- Schedule Imports: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/schedule-imports-110a7a4.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/schedule-imports-110a7a4.md)
|
||||
- Automatic Import: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/enable-automatic-import-9171d39.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/30-using-import-queue/enable-automatic-import-9171d39.md)
|
||||
- Request Statuses: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/40-using-request-overview/statuses-of-transport-requests-3a8259e.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/40-using-request-overview/statuses-of-transport-requests-3a8259e.md)
|
||||
238
references/initial-setup.md
Normal file
238
references/initial-setup.md
Normal file
@@ -0,0 +1,238 @@
|
||||
# SAP Cloud Transport Management - Initial Setup Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/10-initial-setup](https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/10-initial-setup)
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Global account administrator status
|
||||
- Established global account with at least one SAP BTP subaccount
|
||||
- Cloud Foundry environment familiarity (see "Getting Started in the Cloud Foundry Environment")
|
||||
|
||||
**Recommendation**: Deploy as a shared service on a central administrative subaccount to:
|
||||
- Simplify role management
|
||||
- Enforce strict access controls
|
||||
- Avoid conflicts with SAP Cloud ALM subaccount
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Configure Entitlements
|
||||
|
||||
**Location**: Global Account > Entitlements > Entity Assignments
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Navigate to or create the target subaccount
|
||||
2. Enable Cloud Foundry in the subaccount:
|
||||
- In Cloud Foundry section, select **Enable**
|
||||
- Enter organization name
|
||||
- Choose **Create**
|
||||
3. Go to **Entitlements > Entity Assignments**
|
||||
4. Search for and select the target subaccount
|
||||
5. Choose **Configure Entitlements**
|
||||
6. Select **Add Service Plans**
|
||||
7. Search for "Cloud Transport Management"
|
||||
8. Select desired plans from the Service Details section
|
||||
9. Click **Add [n] Service Plans**
|
||||
10. **Save** the configuration
|
||||
|
||||
### Available Service Plans
|
||||
|
||||
#### Application Plans (UI Access)
|
||||
|
||||
| Plan | Purpose |
|
||||
|------|---------|
|
||||
| `build-runtime` | SAP Build ecosystem content transport via UI |
|
||||
| `free` | Reduced-scope UI access for testing (500MB storage, 7-day retention) |
|
||||
| `standard` | Full UI access (50GB storage, 30-day retention) |
|
||||
|
||||
#### Instance Plans (Programmatic/API Access)
|
||||
|
||||
| Plan | Authorization Level | Use Cases |
|
||||
|------|---------------------|-----------|
|
||||
| `standard` | Full access | Default integrations, SAP Cloud ALM, Solution Manager |
|
||||
| `export` | Export actions only | File upload, node upload/export, CI/CD pipelines |
|
||||
| `transport_operator` | Transport operations only | Import, reset, forward, delete actions |
|
||||
|
||||
### Selection Scenarios
|
||||
|
||||
**Scenario 1 - Local File System Archives Only**:
|
||||
- Select one application plan (e.g., `standard`)
|
||||
|
||||
**Scenario 2 - Direct Application-to-Application Transport**:
|
||||
- Select one application plan
|
||||
- Select one or more instance plans for programmatic access
|
||||
- Note: Instance plans require an active application plan
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Subscribe to the Service
|
||||
|
||||
**Location**: Subaccount > Services > Service Marketplace
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Navigate to the target subaccount
|
||||
2. Select **Services > Service Marketplace**
|
||||
3. Search for "Cloud Transport Management"
|
||||
4. On the Cloud Transport Management tile, select **Actions > Create**
|
||||
5. In the dialog, select a subscription plan:
|
||||
- `build-runtime` (SAP Build ecosystem)
|
||||
- `free`
|
||||
- `standard`
|
||||
- Ensure plan type is **Subscription**
|
||||
6. Click **Create**
|
||||
7. When the subscription dialog appears, choose **View Subscription**
|
||||
8. Confirm status displays as **Subscribed**
|
||||
|
||||
### Post-Subscription
|
||||
|
||||
- Access subscriptions: **Services > Instances and Subscriptions**
|
||||
- Plan upgrades available through update service plan process
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Set Up Role Collections
|
||||
|
||||
**Location**: Subaccount > Security > Role Collections
|
||||
|
||||
### Pre-Delivered Role Collections
|
||||
|
||||
SAP provides two ready-to-use collections:
|
||||
- `TMS_LandscapeOperator_RC` (LandscapeOperator role)
|
||||
- `TMS_Viewer_RC` (Viewer role)
|
||||
|
||||
### Available Role Templates
|
||||
|
||||
| Role | Capabilities |
|
||||
|------|-------------|
|
||||
| **Administrator** | Overall administration for all SAP Cloud Transport Management tasks, manage import queues, forward requests, reset transport request statuses |
|
||||
| **LandscapeOperator** | Create, edit, delete transport nodes and transport routes |
|
||||
| **TransportOperator** | Remove files, forward requests, reset statuses, upload MTA descriptors, schedule imports |
|
||||
| **ImportSelectedOperator** | Start import of selected requests in import queue |
|
||||
| **ImportOperator** | Start import of all transport requests, test modifiable requests |
|
||||
| **ExportOperator** | Add files to import queues, create modifiable transport requests |
|
||||
| **Viewer** | Display-only access without landscape configuration or import capabilities |
|
||||
|
||||
### Setup Procedure
|
||||
|
||||
1. **Locate delivered roles**:
|
||||
- Navigate to **Services > Instances and Subscriptions**
|
||||
- Select **Cloud Transport Management > Manage Roles**
|
||||
|
||||
2. **Create role collections**:
|
||||
- Go to **Security > Role Collections**
|
||||
- Select the plus icon
|
||||
- Enter collection names
|
||||
|
||||
3. **Assign roles to collections**:
|
||||
- Return to subscription's **Roles** tab
|
||||
- Select plus icon next to desired template roles
|
||||
- Choose target role collections
|
||||
|
||||
4. **Assign collections to users**:
|
||||
- Go to **Security > Role Collections**
|
||||
- Select collection > **Edit > Users** tab
|
||||
- Enter user data per your identity provider requirements
|
||||
|
||||
**Recommendation**: Add roles from the **Roles** tab of the subscription details to see all relevant template roles in one location.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Create Service Instance and Service Key
|
||||
|
||||
**Location**: Subaccount > Services > Instances and Subscriptions
|
||||
|
||||
Required for programmatic/API access.
|
||||
|
||||
### Procedure
|
||||
|
||||
1. **Select subaccount**:
|
||||
- Use a central administrative subaccount (not SAP Cloud ALM subaccount)
|
||||
|
||||
2. **Create Cloud Foundry space**:
|
||||
- Navigate to your subaccount's Cloud Foundry organization
|
||||
- Create a new space with default space roles assigned
|
||||
|
||||
3. **Optional: Create quota plan**:
|
||||
- Access **Cloud Foundry > Quota Plans > New Plan**
|
||||
- Specify name and minimum of one service
|
||||
- Assign plan to your created space
|
||||
|
||||
4. **Create service instance**:
|
||||
- Navigate to **Services > Instances and Subscriptions > Create**
|
||||
- Configure:
|
||||
|
||||
| Field | Selection |
|
||||
|-------|-----------|
|
||||
| Service | Cloud Transport Management |
|
||||
| Plan | Instance-type plan (e.g., `standard`) |
|
||||
| Runtime Environment | Cloud Foundry |
|
||||
| Space | Previously created space |
|
||||
| Instance Name | User-defined name |
|
||||
|
||||
- Note: TMS doesn't support initial JSON parameters - skip this step
|
||||
|
||||
5. **Generate service key**:
|
||||
- From the Instances tab, select **Actions > Create Service Key**
|
||||
- The resulting 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")
|
||||
}
|
||||
```
|
||||
|
||||
These credentials enable API-based programmatic access and are used to configure destinations.
|
||||
|
||||
---
|
||||
|
||||
## Integrated SAP Solutions (21 Supported)
|
||||
|
||||
### Build & Development Platform
|
||||
- Joule Studio in SAP Build
|
||||
- SAP Build Apps
|
||||
- SAP Build Process Automation
|
||||
- SAP Build Work Zone (standard & advanced)
|
||||
|
||||
### Analytics & Data
|
||||
- SAP Analytics Cloud
|
||||
- SAP Datasphere
|
||||
|
||||
### Integration & APIs
|
||||
- SAP Integration Suite
|
||||
- SAP API Management
|
||||
|
||||
### Process & Automation
|
||||
- SAP Digital Manufacturing
|
||||
- SAP Cell and Gene Therapy Orchestration
|
||||
|
||||
### Enterprise Solutions
|
||||
- SAP BTP ABAP environment
|
||||
- SAP Mobile Services
|
||||
|
||||
### Domain-Specific Solutions
|
||||
- SAP Asset Performance Management
|
||||
- SAP Batch Release Hub for Life Sciences
|
||||
- SAP Cloud for Real Estate
|
||||
- SAP Entitlement Management
|
||||
- SAP Excise Tax Management
|
||||
- SAP Group Reporting Data Collection
|
||||
- SAP Intelligent Clinical Supply Management
|
||||
- SAP Risk and Assurance Management
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Initial Setup Overview: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/initial-setup-66fd728.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/initial-setup-66fd728.md)
|
||||
- Subscribing: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/subscribing-to-cloud-transport-management-7fe10fc.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/subscribing-to-cloud-transport-management-7fe10fc.md)
|
||||
- Entitlements: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/configuring-entitlements-to-sap-cloud-transport-management-13894be.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/configuring-entitlements-to-sap-cloud-transport-management-13894be.md)
|
||||
- Role Collections: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/setting-up-role-collections-eb134e0.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/setting-up-role-collections-eb134e0.md)
|
||||
- Service Instance: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/creating-a-service-instance-and-a-service-key-f449560.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/10-initial-setup/creating-a-service-instance-and-a-service-key-f449560.md)
|
||||
309
references/integrations.md
Normal file
309
references/integrations.md
Normal file
@@ -0,0 +1,309 @@
|
||||
# SAP Cloud Transport Management - Integrations Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/70-integrations/integrating-the-service-7e966f7.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/70-integrations/integrating-the-service-7e966f7.md)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
SAP Cloud Transport Management integrates with development and change management processes through:
|
||||
1. Documented partnerships with SAP BTP services
|
||||
2. Customizable APIs on SAP Business Accelerator Hub
|
||||
|
||||
---
|
||||
|
||||
## Integration Scenarios
|
||||
|
||||
### 1. SAP Continuous Integration and Delivery
|
||||
|
||||
**Purpose**: Receive transports from release candidates qualified by automated pipelines
|
||||
|
||||
**Resources**:
|
||||
- Official CI/CD service documentation
|
||||
- Integration guides for embedding TMS into CI/CD jobs
|
||||
- Blog posts on TMS + CI/CD pipeline integration
|
||||
- Tutorial videos on DevOps with SAP BTP
|
||||
|
||||
**Service Plan**: Use `export` instance plan for CI/CD pipelines
|
||||
|
||||
---
|
||||
|
||||
### 2. Project Piper Integration
|
||||
|
||||
**Purpose**: Integrate TMS into CI/CD pipelines using Project Piper framework
|
||||
|
||||
**Implementation**:
|
||||
- Use Project Piper's TMS integration steps
|
||||
- Configure pipeline stages for transport operations
|
||||
|
||||
---
|
||||
|
||||
### 3. Hybrid Landscapes with CTS+
|
||||
|
||||
**Purpose**: Combine cloud and on-premise transport management
|
||||
|
||||
**Components**:
|
||||
- CTS+ (Change and Transport System)
|
||||
- Change Request Management (ChaRM)
|
||||
- Hybrid environment support
|
||||
|
||||
---
|
||||
|
||||
### 4. SAP Automation Pilot
|
||||
|
||||
**Purpose**: Automate transport management through command catalogs
|
||||
|
||||
**Capabilities**:
|
||||
- Manage transport nodes
|
||||
- Manage transport routes
|
||||
- Manage transport requests
|
||||
|
||||
---
|
||||
|
||||
### 5. SAP Solution Manager Integration
|
||||
|
||||
**Purpose**: Coordinate change control across systems
|
||||
|
||||
**Supported Features**:
|
||||
- Change Request Management
|
||||
- Quality Gate Management
|
||||
- Controlled deployment workflows
|
||||
|
||||
---
|
||||
|
||||
### 6. SAP Cloud ALM Integration
|
||||
|
||||
**Purpose**: Enable change and deployment management capabilities
|
||||
|
||||
**Resources**:
|
||||
- Blog posts on Cloud ALM interplay
|
||||
- Specific scenarios (MTA transport from Neo)
|
||||
|
||||
---
|
||||
|
||||
### 7. SAP Alert Notification Service
|
||||
|
||||
**Purpose**: Receive alerts and notifications for TMS actions
|
||||
|
||||
**Setup Requirements**:
|
||||
|
||||
1. **Entitle Alert Notification service** in global account
|
||||
2. **Create service instance** in Cloud Foundry space
|
||||
3. **Create destination** named `ALERT_NOTIFICATION_SERVICE`:
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Type | HTTP |
|
||||
| Proxy Type | Internet |
|
||||
| Authentication | OAuth2ClientCredentials |
|
||||
| URL | From Alert Notification service key |
|
||||
| Client ID | From service key |
|
||||
| Client Secret | From service key |
|
||||
| Token Service URL | From service key |
|
||||
|
||||
4. **Configure destination** in each TMS-subscribed subaccount
|
||||
|
||||
**Notification Events**:
|
||||
|
||||
| Event | Description |
|
||||
|-------|-------------|
|
||||
| `TmsImportFinished` | Import completed |
|
||||
| `TmsImportStarted` | Import started |
|
||||
| `TmsTransportRequestAdded` | Request added to queue |
|
||||
| `TmsNodeImportJobDeactivated` | Scheduler disabled due to failures |
|
||||
| `TmsStorageQuotaUsage` | Storage exceeded 85% threshold |
|
||||
|
||||
**Enable Notifications**:
|
||||
- **Node level**: Select "Perform Notification" when creating node
|
||||
- **Storage**: Select "Enable Notification" in user profile settings
|
||||
|
||||
**Notification Channels**:
|
||||
- Email
|
||||
- Slack
|
||||
- Other supported channels
|
||||
|
||||
**Filtering**:
|
||||
- `eventType` = specific event
|
||||
- `tags.nodeId` = specific transport node
|
||||
|
||||
**Actionable Links**: Import finished and request added notifications include links for:
|
||||
- Display transport request
|
||||
- Forward request
|
||||
- Initiate import
|
||||
|
||||
---
|
||||
|
||||
### 8. SAP Content Agent Service
|
||||
|
||||
**Purpose**: Receive transport requests of Cloud Foundry content
|
||||
|
||||
**Flow**:
|
||||
1. Content assembled in source environment
|
||||
2. Exported using SAP Content Agent service
|
||||
3. Transported via TMS to target environments
|
||||
|
||||
**Supported Content**:
|
||||
- SAP Integration Suite artifacts
|
||||
- API Management artifacts
|
||||
|
||||
---
|
||||
|
||||
### 9. SAP Solution Lifecycle Management
|
||||
|
||||
**Purpose**: Transport Neo content gathered via Solution Export Wizard
|
||||
|
||||
**Flow**:
|
||||
1. Content gathered in Neo source
|
||||
2. Exported using Solution Export Wizard
|
||||
3. Transported via TMS
|
||||
|
||||
---
|
||||
|
||||
## API Integration
|
||||
|
||||
### Available APIs
|
||||
|
||||
- **Cloud Transport Management API**: Full transport operations
|
||||
- **Cloud Transport Management Version Endpoint API**: Version information
|
||||
|
||||
**Reference**: [https://api.sap.com/package/TmsForCloudPub/rest](https://api.sap.com/package/TmsForCloudPub/rest)
|
||||
|
||||
---
|
||||
|
||||
### API Operations for Export
|
||||
|
||||
#### File Upload
|
||||
|
||||
**Purpose**: Upload content archive to TMS
|
||||
|
||||
**When**: First operation for file-based transport
|
||||
|
||||
**Returns**: File ID for subsequent operations
|
||||
|
||||
#### Node Export
|
||||
|
||||
**Purpose**: Enable transport directly from application
|
||||
|
||||
**Flow**:
|
||||
1. Uploaded file or reference attaches to new transport request
|
||||
2. Request added to import queues of follow-on nodes
|
||||
|
||||
**Use Case**: Direct application-to-TMS integration
|
||||
|
||||
#### Node Upload
|
||||
|
||||
**Purpose**: Upload archives to first transport node or specific subaccounts
|
||||
|
||||
**Use Case**: CI/CD scenarios, external archive upload
|
||||
|
||||
**Flow**:
|
||||
1. Upload MTA to specific node
|
||||
2. Request created in that node's queue
|
||||
|
||||
---
|
||||
|
||||
### API Operations for Import
|
||||
|
||||
| Operation | Description |
|
||||
|-----------|-------------|
|
||||
| Import | Import specific transport requests |
|
||||
| Import All | Import all requests in node |
|
||||
| Forward | Forward requests to target nodes |
|
||||
| Reset | Reset request status for re-import |
|
||||
| Delete | Remove requests from queues |
|
||||
|
||||
---
|
||||
|
||||
### Monitoring Operations
|
||||
|
||||
#### Get Transport Action
|
||||
|
||||
**Purpose**: Monitor async operations
|
||||
|
||||
**Flow**:
|
||||
1. Initiate import (async operation)
|
||||
2. Poll action status via Get transport action
|
||||
3. Check for completion
|
||||
|
||||
#### Get Transport Requests
|
||||
|
||||
**Purpose**: Retrieve transport request details
|
||||
|
||||
#### Get Transport Logs
|
||||
|
||||
**Purpose**: Access detailed operation logs
|
||||
|
||||
---
|
||||
|
||||
### Asynchronous Processing
|
||||
|
||||
**Important**: Imports are typically asynchronous operations.
|
||||
|
||||
**Pattern**:
|
||||
```
|
||||
1. Initiate import operation → Returns action ID
|
||||
2. Poll Get transport action with action ID
|
||||
3. Check status (Running, Succeeded, Error, etc.)
|
||||
4. Retrieve logs if needed
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Reference-Based Transport
|
||||
|
||||
**Alternative to file upload**: Transport based on reference without file upload.
|
||||
|
||||
**Use Cases**:
|
||||
- BTP ABAP (Git repository references)
|
||||
- Other reference-based content types
|
||||
|
||||
**Reference Contents**:
|
||||
- Software component name
|
||||
- Commit ID
|
||||
- Branch name
|
||||
- Tag name
|
||||
|
||||
---
|
||||
|
||||
## Sample Integration Workflow
|
||||
|
||||
### CI/CD Pipeline Integration
|
||||
|
||||
```
|
||||
1. Build MTA in CI/CD pipeline
|
||||
2. Call File Upload API with MTA
|
||||
3. Call Node Export/Upload API with file ID
|
||||
4. TMS creates transport request
|
||||
5. Request appears in target node queue
|
||||
6. Import (manual, scheduled, or automatic)
|
||||
7. Deployment to target environment
|
||||
```
|
||||
|
||||
### Application Direct Integration
|
||||
|
||||
```
|
||||
1. User selects content for transport in application
|
||||
2. Application calls TMS destination
|
||||
3. TMS receives content via API
|
||||
4. Transport request created
|
||||
5. Forwarded to target nodes per routes
|
||||
6. Operations team imports in target
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Integration Service Plans
|
||||
|
||||
| Plan | Use Case |
|
||||
|------|----------|
|
||||
| `standard` | Full integration, Cloud ALM, Solution Manager |
|
||||
| `export` | CI/CD pipelines, file upload only |
|
||||
| `transport_operator` | Import operations only |
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Integrating the Service: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/70-integrations/integrating-the-service-7e966f7.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/70-integrations/integrating-the-service-7e966f7.md)
|
||||
- Alert Notifications: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/receive-notifications-for-sap-cloud-transport-management-actions-using-sap-alert-notifica-95d4fc7.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/receive-notifications-for-sap-cloud-transport-management-actions-using-sap-alert-notifica-95d4fc7.md)
|
||||
- API Reference: [https://api.sap.com/package/TmsForCloudPub/rest](https://api.sap.com/package/TmsForCloudPub/rest)
|
||||
476
references/landscape-configuration.md
Normal file
476
references/landscape-configuration.md
Normal file
@@ -0,0 +1,476 @@
|
||||
# SAP Cloud Transport Management - Landscape Configuration Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/20-configure-landscape](https://github.com/SAP-docs/sap-btp-cloud-transport-management/tree/main/docs/20-configure-landscape)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Before transporting content between environments, configure your transport landscape:
|
||||
|
||||
1. Create transport destinations (target endpoints)
|
||||
2. Create transport nodes (source/target points)
|
||||
3. Create transport routes (connections between nodes)
|
||||
|
||||
---
|
||||
|
||||
## Transport Nodes
|
||||
|
||||
### Definition
|
||||
|
||||
Transport nodes represent source or target endpoints of deployment processes (e.g., Cloud Foundry spaces, ABAP environments).
|
||||
|
||||
### Node Types
|
||||
|
||||
#### Physical Nodes
|
||||
|
||||
- Reference actual source or target endpoints
|
||||
- Have content type and destination assigned
|
||||
- Perform actual deployments
|
||||
|
||||
#### Virtual Nodes
|
||||
|
||||
- Don't reference physical endpoints
|
||||
- Serve as placeholders in hybrid scenarios
|
||||
- Aggregate transport requests
|
||||
- Distribute to connected nodes
|
||||
- Result in "Skipped" status when imported
|
||||
|
||||
---
|
||||
|
||||
### Creating Transport Nodes
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or LandscapeOperator role
|
||||
- Transport destinations configured
|
||||
- Optional: Alert Notification service destination
|
||||
|
||||
**Access Points**:
|
||||
- Landscape Visualization screen (plus icon)
|
||||
- Transport Landscape Wizard
|
||||
- Transport Nodes screen (plus icon)
|
||||
|
||||
---
|
||||
|
||||
### Node Configuration Fields
|
||||
|
||||
#### Basic Fields
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| Name | Yes | Case-sensitive identifier |
|
||||
| Description | No | Additional context |
|
||||
| Tags | No | Categorization (display on Transport Nodes screen only) |
|
||||
|
||||
**Name Requirement**: When using SAP Content Agent service, node name must match `sourceSystemId` parameter in destination.
|
||||
|
||||
---
|
||||
|
||||
#### Behavioral Fields
|
||||
|
||||
| Field | Default | Description |
|
||||
|-------|---------|-------------|
|
||||
| Allow Upload to Node | Off | Enable file uploads for local archives and API uploads |
|
||||
| Perform Notification | Off | Enable alerts (requires ALERT_NOTIFICATION_SERVICE destination) |
|
||||
| Controlled By SAP Solution Manager | Off | Disable manual imports; controlled via Solution Manager |
|
||||
| Virtual Node | Off | No physical endpoint, content type, or imports |
|
||||
|
||||
---
|
||||
|
||||
#### Forward Mode
|
||||
|
||||
Controls when transport requests forward to target nodes.
|
||||
|
||||
| Mode | Behavior |
|
||||
|------|----------|
|
||||
| **Pre-Import** (default) | Forward when import starts, before importing |
|
||||
| **Post-Import** | Forward after import, regardless of success |
|
||||
| **On Success** | Forward only after successful import (Skipped, Succeeded, Warning) |
|
||||
| **Manual** | User must select Forward button |
|
||||
|
||||
---
|
||||
|
||||
#### Content Type
|
||||
|
||||
Required for target nodes. Options:
|
||||
|
||||
| Type | Description | File Format |
|
||||
|------|-------------|-------------|
|
||||
| Multitarget Application (MTA) | Cloud Foundry applications | `.mtar` |
|
||||
| BTP ABAP | ABAP environment references | N/A (reference-based) |
|
||||
| Application Content | Application-specific content | `.zip`, application-specific |
|
||||
| XSC Delivery Unit | SAP HANA XS classic | `.tgz` |
|
||||
|
||||
**Note**: Optional for source nodes.
|
||||
|
||||
---
|
||||
|
||||
#### Destination
|
||||
|
||||
Required for target nodes. Links to configured transport destination.
|
||||
|
||||
**Access**: Direct link to Destinations editor for creation/editing.
|
||||
|
||||
---
|
||||
|
||||
#### Deployment Strategy (MTA + Cloud Foundry Only)
|
||||
|
||||
| Strategy | Behavior |
|
||||
|----------|----------|
|
||||
| **default** | Stops old version before deploying new |
|
||||
| **blue-green** | Zero-downtime deployment; testing phase auto-skipped |
|
||||
|
||||
**Not available**: In Transport Landscape Wizard.
|
||||
|
||||
---
|
||||
|
||||
### Node Tags
|
||||
|
||||
**Purpose**: Categorize and organize nodes.
|
||||
|
||||
**Behavior**:
|
||||
- Create new tags or assign existing
|
||||
- Remove via X icon
|
||||
- Display only on Transport Nodes screen
|
||||
- Deleted when removed from single-node association
|
||||
- Deleted when associated node deleted
|
||||
|
||||
---
|
||||
|
||||
## Transport Routes
|
||||
|
||||
### Definition
|
||||
|
||||
Routes connect transport nodes, defining the flow of transport requests through the landscape.
|
||||
|
||||
### Constraint
|
||||
|
||||
- A node can be **source** for multiple routes
|
||||
- A node can be **target** for only **one** route
|
||||
|
||||
### Creating Transport Routes
|
||||
|
||||
**Prerequisites**:
|
||||
- Administrator or LandscapeOperator role
|
||||
- Transport nodes configured
|
||||
|
||||
**Access Points**:
|
||||
- Landscape Visualization screen (Create Route button or side menu)
|
||||
- Transport Landscape Wizard
|
||||
- Transport Nodes screen (plus icon)
|
||||
|
||||
**Procedure**:
|
||||
1. Enter route name
|
||||
2. Optionally add description
|
||||
3. Select source node
|
||||
4. Select target node
|
||||
|
||||
---
|
||||
|
||||
## Transport Landscape Wizard
|
||||
|
||||
### Purpose
|
||||
|
||||
Simplified configuration for simple transport landscapes.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Administrator or LandscapeOperator role
|
||||
- Transport destinations configured
|
||||
|
||||
### Procedure
|
||||
|
||||
**Step 1**: Select template (number of nodes)
|
||||
- Example: DEV + PROD (2 nodes)
|
||||
- Example: DEV + TEST + PROD (3 nodes)
|
||||
|
||||
**Step 2**: Click **Next**
|
||||
|
||||
**Step 3**: Configure each node
|
||||
- Enter node details
|
||||
- Reference Create Transport Nodes guidelines
|
||||
|
||||
**Step 4**: Customize routes (optional)
|
||||
- Modify auto-generated route names
|
||||
- Add descriptions
|
||||
|
||||
**Step 5**: Click **Next** to view generation steps
|
||||
|
||||
**Step 6**: Review Summary
|
||||
- View created nodes and routes
|
||||
- Access individual entities via links
|
||||
|
||||
**Step 7**: Click **Finish**
|
||||
|
||||
### Results
|
||||
|
||||
- Transport nodes created
|
||||
- Transport routes established
|
||||
- Options to edit entities afterward
|
||||
|
||||
### Limitations
|
||||
|
||||
- Not available:
|
||||
- Deployment Strategy configuration
|
||||
- Controlled By SAP Solution Manager
|
||||
- Virtual Node option
|
||||
|
||||
---
|
||||
|
||||
## Sample Configuration Scenario
|
||||
|
||||
### Use Case
|
||||
|
||||
Transport content archives directly within an application (e.g., SAP Integration Suite).
|
||||
|
||||
### Setup
|
||||
|
||||
**Environments**: DEV, TEST, PROD subaccounts
|
||||
|
||||
**Content**: `.mtar` files (Integration Suite content)
|
||||
|
||||
### Configuration Elements
|
||||
|
||||
| Element | Location | Purpose |
|
||||
|---------|----------|---------|
|
||||
| Transport Destinations | SAP BTP Cockpit (TMS subaccount) | Point to TEST and PROD endpoints |
|
||||
| Transport Nodes | TMS Service | DEV, TEST, PROD nodes |
|
||||
| Transport Routes | TMS Service | DEV→TEST, TEST→PROD |
|
||||
| Source Destination | DEV environment | Connect to TMS for export |
|
||||
|
||||
### Process Flow
|
||||
|
||||
1. User selects content for transport in DEV
|
||||
2. Application exports to TMS via destination
|
||||
3. Transport request created in TEST queue
|
||||
4. Import to TEST (manual or automatic)
|
||||
5. With Pre-Import forward: Request forwards to PROD queue
|
||||
6. Import to PROD
|
||||
|
||||
### Alternative: Local File Upload
|
||||
|
||||
If no export integration in source:
|
||||
1. Download archive locally
|
||||
2. Upload to TMS via import queue
|
||||
3. Import to target environments
|
||||
|
||||
---
|
||||
|
||||
## Landscape Visualization
|
||||
|
||||
### Access
|
||||
|
||||
Home Screen > Landscape Visualization
|
||||
|
||||
**Prerequisites**:
|
||||
- Transport destinations configured
|
||||
- Administrator or LandscapeOperator role
|
||||
|
||||
### Node Status Indicators
|
||||
|
||||
| Indicator | Meaning |
|
||||
|-----------|---------|
|
||||
| Red + error icon | Overall status is Error or Fatal |
|
||||
| Orange + warning icon | Import ended with warnings |
|
||||
| Green + success icon | All imports successful |
|
||||
|
||||
**Additional Icons**:
|
||||
- Import Scheduler icon: Scheduled imports active
|
||||
- Automatic Import icon: Auto-import enabled
|
||||
- Dashed line: Virtual transport node
|
||||
|
||||
### Icon Bar Operations
|
||||
|
||||
| Function | Description |
|
||||
|----------|-------------|
|
||||
| Plus icon | Create new transport node |
|
||||
| Route icon | Create transport route |
|
||||
| Refresh | Update graph, show changes by other users |
|
||||
| Export | Save landscape config to `.zip` file |
|
||||
| Import | Restore landscape from exported `.zip` |
|
||||
| Search | Find nodes/routes by character string |
|
||||
| Legend | Show color coding |
|
||||
|
||||
### Export/Import Landscape Configuration
|
||||
|
||||
**Export**: Saves complete landscape to `.zip` file
|
||||
|
||||
**Import Prerequisites**:
|
||||
- File unchanged and under 10 MB
|
||||
- TMS version must match export version
|
||||
- No duplicate nodes/routes allowed
|
||||
- Cannot import partial landscapes
|
||||
- Destinations require separate manual maintenance
|
||||
|
||||
### Context Menus
|
||||
|
||||
**Node Options**:
|
||||
- Display node details/properties
|
||||
- Access node's import queue
|
||||
- Create routes from node
|
||||
- Delete node
|
||||
|
||||
**Route Options**:
|
||||
- View properties (description, source, target)
|
||||
- Delete route
|
||||
|
||||
---
|
||||
|
||||
## Landscape Action Logs
|
||||
|
||||
Track all landscape configuration changes.
|
||||
|
||||
### Access
|
||||
|
||||
Home Screen > Landscape Action Logs
|
||||
|
||||
### Information Columns
|
||||
|
||||
| Column | Description |
|
||||
|--------|-------------|
|
||||
| Entity Type | Node, Route, Job, Archive, Wizard |
|
||||
| Action Type | Create, Edit, Delete |
|
||||
| Affected Object | Clickable link (except Wizard/Delete) |
|
||||
| Changed By | User email/name |
|
||||
|
||||
### Filtering
|
||||
|
||||
Filter by:
|
||||
- Entity Type
|
||||
- Action Type
|
||||
- Changed By
|
||||
- Changed On (date picker)
|
||||
|
||||
### Detail View
|
||||
|
||||
Click row to see:
|
||||
- **Old value**: Previous state
|
||||
- **New value**: Current state
|
||||
- Create/Delete show "None" for old/new respectively
|
||||
- Import schedules use cron expression format
|
||||
|
||||
---
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Node Naming
|
||||
|
||||
- Use consistent naming convention
|
||||
- Include environment (DEV, TEST, PROD)
|
||||
- Match `sourceSystemId` for Content Agent integrations
|
||||
|
||||
### Forward Mode Selection
|
||||
|
||||
| Scenario | Recommended Mode |
|
||||
|----------|------------------|
|
||||
| Standard pipeline | Pre-Import |
|
||||
| Quality gates | Manual |
|
||||
| Continuous deployment | On Success |
|
||||
| Full visibility | Post-Import |
|
||||
|
||||
### Virtual Nodes
|
||||
|
||||
Use for:
|
||||
- Aggregating requests from multiple sources
|
||||
- Star topology (hub-and-spoke) configurations
|
||||
- Hybrid cloud/on-premise scenarios
|
||||
|
||||
### Tags
|
||||
|
||||
Use for:
|
||||
- Environment classification (Production, Non-Production)
|
||||
- Team ownership
|
||||
- Content type grouping
|
||||
|
||||
---
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Two-Node (DEV → PROD)
|
||||
|
||||
```
|
||||
DEV ──route──> PROD
|
||||
```
|
||||
|
||||
### Three-Node (DEV → TEST → PROD)
|
||||
|
||||
```
|
||||
DEV ──route1──> TEST ──route2──> PROD
|
||||
```
|
||||
|
||||
### Star Topology (Hub)
|
||||
|
||||
```
|
||||
──route1──> PROD-EU
|
||||
DEV-HUB ──route2──> PROD-US
|
||||
──route3──> PROD-APAC
|
||||
```
|
||||
|
||||
### Multi-Source
|
||||
|
||||
```
|
||||
DEV-A ──route1──>
|
||||
TEST ──route3──> PROD
|
||||
DEV-B ──route2──>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Import Failure Scenarios
|
||||
|
||||
Understanding how failures propagate through the landscape helps in troubleshooting and recovery.
|
||||
|
||||
### Failure Impact by Forward Mode
|
||||
|
||||
| Forward Mode | On Import Failure | Impact on Downstream Nodes |
|
||||
|--------------|-------------------|---------------------------|
|
||||
| Pre-Import | Failure after forwarding | Request already in downstream queues (Initial status) |
|
||||
| Post-Import | Failure before forwarding | Request NOT forwarded; stays in current queue only |
|
||||
| On Success | Failure prevents forwarding | Request NOT forwarded; downstream unaffected |
|
||||
| Manual | N/A (user controls) | User decides when/whether to forward |
|
||||
|
||||
### Recovery Actions
|
||||
|
||||
| Scenario | Action | Result |
|
||||
|----------|--------|--------|
|
||||
| Import failed, request in downstream queues | Fix issue, re-import current node | Downstream nodes unaffected; import when ready |
|
||||
| Import failed, request NOT forwarded | Fix issue, re-import, forward manually (if Manual mode) | Request propagates after successful import |
|
||||
| Persistent failure | Reset to Repeatable status | Allows retry; original file must exist (within retention) |
|
||||
|
||||
### Cascade Failure Prevention
|
||||
|
||||
**Recommendation**: Use **On Success** forward mode for production-critical landscapes to prevent partially deployed content from reaching downstream nodes.
|
||||
|
||||
---
|
||||
|
||||
## Topology Pattern Decision Guide
|
||||
|
||||
Select topology based on organizational and deployment requirements.
|
||||
|
||||
### When to Use Each Pattern
|
||||
|
||||
| Pattern | Use When | Avoid When |
|
||||
|---------|----------|------------|
|
||||
| **Two-Node (DEV→PROD)** | Small teams, rapid deployment, non-critical apps | Regulatory compliance required, need testing stage |
|
||||
| **Three-Node (DEV→TEST→PROD)** | Standard enterprise deployment, quality gates needed | Very small projects, time-critical hotfixes |
|
||||
| **Star/Hub (Hub→Multiple Targets)** | Multi-region deployment, centralized control | Independent regional teams, different release cycles |
|
||||
| **Multi-Source** | Multiple dev teams, feature branches | Need strict order of deployment, interdependent features |
|
||||
|
||||
### Topology Selection Criteria
|
||||
|
||||
1. **Regulatory Requirements**: Add TEST/QA nodes for audit trails
|
||||
2. **Team Structure**: Multi-source for independent teams
|
||||
3. **Geographic Distribution**: Star topology for multi-region
|
||||
4. **Release Cadence**: Simpler topology for faster releases
|
||||
5. **Risk Tolerance**: More nodes = more validation gates
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Configuring Landscape: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/configuring-the-landscape-3e7b042.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/configuring-the-landscape-3e7b042.md)
|
||||
- About Transport Nodes: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/about-transport-nodes-7cd4a78.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/about-transport-nodes-7cd4a78.md)
|
||||
- Create Nodes: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-transport-nodes-f71a4d5.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-transport-nodes-f71a4d5.md)
|
||||
- Create Routes: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-transport-routes-dddb749.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/create-transport-routes-dddb749.md)
|
||||
- Landscape Wizard: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/use-the-transport-landscape-wizard-f14192e.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/use-the-transport-landscape-wizard-f14192e.md)
|
||||
- Sample Scenario: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/sample-configuration-scenario-22e1ed6.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/20-configure-landscape/sample-configuration-scenario-22e1ed6.md)
|
||||
323
references/security-roles.md
Normal file
323
references/security-roles.md
Normal file
@@ -0,0 +1,323 @@
|
||||
# SAP Cloud Transport Management - Security & Roles Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/security-51939a4.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/security-51939a4.md)
|
||||
|
||||
---
|
||||
|
||||
## Role Templates
|
||||
|
||||
SAP Cloud Transport Management provides seven role templates for access management.
|
||||
|
||||
### 1. Administrator
|
||||
|
||||
**Scope**: Overall administration for all TMS tasks
|
||||
|
||||
**Capabilities**:
|
||||
- Manage import queues
|
||||
- Forward transport requests
|
||||
- Reset transport request statuses
|
||||
- Full landscape configuration
|
||||
- All other role capabilities
|
||||
|
||||
---
|
||||
|
||||
### 2. LandscapeOperator
|
||||
|
||||
**Scope**: Transport infrastructure management
|
||||
|
||||
**Capabilities**:
|
||||
- Create transport nodes
|
||||
- Create transport routes
|
||||
- Edit transport nodes and routes
|
||||
- Delete transport nodes and routes
|
||||
|
||||
**Pre-delivered Collection**: `TMS_LandscapeOperator_RC`
|
||||
|
||||
---
|
||||
|
||||
### 3. TransportOperator
|
||||
|
||||
**Scope**: Import queue operations
|
||||
|
||||
**Capabilities**:
|
||||
- Remove files from import queues
|
||||
- Forward transport requests
|
||||
- Reset transport request statuses
|
||||
- Upload MTA extension descriptors
|
||||
- Schedule imports
|
||||
- Enable/disable automatic imports
|
||||
|
||||
**Node-Specific Attribute**: `TmsNodesTransportOperator`
|
||||
|
||||
---
|
||||
|
||||
### 4. ImportSelectedOperator
|
||||
|
||||
**Scope**: Selective import operations
|
||||
|
||||
**Capabilities**:
|
||||
- Start import of selected requests in import queue
|
||||
|
||||
---
|
||||
|
||||
### 5. ImportOperator
|
||||
|
||||
**Scope**: Bulk import operations
|
||||
|
||||
**Capabilities**:
|
||||
- Start import of all transport requests in import queue
|
||||
- Test modifiable transport requests
|
||||
|
||||
**Node-Specific Attribute**: `TmsNodesImport`
|
||||
|
||||
---
|
||||
|
||||
### 6. ExportOperator
|
||||
|
||||
**Scope**: Export and upload operations
|
||||
|
||||
**Capabilities**:
|
||||
- Add files to import queues
|
||||
- Create modifiable transport requests
|
||||
|
||||
**Node-Specific Attribute**: `TmsNodesExport`
|
||||
|
||||
---
|
||||
|
||||
### 7. Viewer
|
||||
|
||||
**Scope**: Read-only access
|
||||
|
||||
**Capabilities**:
|
||||
- View all TMS information
|
||||
- No landscape configuration
|
||||
- No import capabilities
|
||||
- No modification capabilities
|
||||
|
||||
**Pre-delivered Collection**: `TMS_Viewer_RC`
|
||||
|
||||
---
|
||||
|
||||
## Pre-Delivered Role Collections
|
||||
|
||||
| Collection | Included Role |
|
||||
|------------|---------------|
|
||||
| `TMS_LandscapeOperator_RC` | LandscapeOperator |
|
||||
| `TMS_Viewer_RC` | Viewer |
|
||||
|
||||
---
|
||||
|
||||
## Node-Specific Restrictions
|
||||
|
||||
Three roles support restricting operations to specific transport nodes.
|
||||
|
||||
### Attributes
|
||||
|
||||
| Role | Attribute |
|
||||
|------|-----------|
|
||||
| TransportOperator | `TmsNodesTransportOperator` |
|
||||
| ImportOperator | `TmsNodesImport` |
|
||||
| ExportOperator | `TmsNodesExport` |
|
||||
|
||||
### Usage
|
||||
|
||||
1. Create role from template
|
||||
2. Add attribute with node name(s)
|
||||
3. Assign to role collection
|
||||
4. User can only operate on specified nodes
|
||||
|
||||
**Example**: Restrict TransportOperator to only DEV and TEST nodes.
|
||||
|
||||
---
|
||||
|
||||
## Service Plans for API Access
|
||||
|
||||
### Standard Plan
|
||||
|
||||
**Authorization Level**: Full access
|
||||
|
||||
**Capabilities**:
|
||||
- All Cloud Transport Management API operations
|
||||
- File upload, export, import, management
|
||||
|
||||
**Use Cases**:
|
||||
- Default for standard integrations
|
||||
- SAP Cloud ALM integration
|
||||
- Solution Manager integrations
|
||||
|
||||
---
|
||||
|
||||
### Export Plan
|
||||
|
||||
**Authorization Level**: Export actions only
|
||||
|
||||
**Capabilities**:
|
||||
- File upload
|
||||
- Node upload
|
||||
- Node export actions
|
||||
|
||||
**Use Cases**:
|
||||
- CI/CD pipelines
|
||||
- Solution Lifecycle Management
|
||||
- External archive upload scenarios
|
||||
|
||||
**Restrictions**:
|
||||
- Cannot import
|
||||
- Cannot reset
|
||||
- Cannot forward
|
||||
- Cannot delete
|
||||
|
||||
---
|
||||
|
||||
### Transport Operator Plan
|
||||
|
||||
**Authorization Level**: Transport operations only
|
||||
|
||||
**Capabilities**:
|
||||
- Import operations
|
||||
- Reset operations
|
||||
- Forward operations
|
||||
- Delete operations
|
||||
|
||||
**Restrictions**:
|
||||
- Cannot upload files
|
||||
- Cannot export
|
||||
|
||||
---
|
||||
|
||||
## Role Assignment Matrix
|
||||
|
||||
| Action | Admin | Landscape | Transport | ImportSel | Import | Export | Viewer |
|
||||
|--------|-------|-----------|-----------|-----------|--------|--------|--------|
|
||||
| View all | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| Create nodes | ✓ | ✓ | | | | | |
|
||||
| Create routes | ✓ | ✓ | | | | | |
|
||||
| Edit nodes/routes | ✓ | ✓ | | | | | |
|
||||
| Delete nodes/routes | ✓ | ✓ | | | | | |
|
||||
| Add files | ✓ | | | | | ✓ | |
|
||||
| Import all | ✓ | | | | ✓ | | |
|
||||
| Import selected | ✓ | | ✓ | ✓ | | | |
|
||||
| Forward requests | ✓ | | ✓ | | | | |
|
||||
| Reset requests | ✓ | | ✓ | | | | |
|
||||
| Remove from queue | ✓ | | ✓ | | | | |
|
||||
| Schedule imports | ✓ | | ✓ | | | | |
|
||||
| Upload MTA desc | ✓ | | ✓ | | | | |
|
||||
| Create modifiable | ✓ | | | | | ✓ | |
|
||||
| Test modifiable | ✓ | | | | ✓ | | |
|
||||
|
||||
---
|
||||
|
||||
## Security Features
|
||||
|
||||
### Malware Scanning
|
||||
|
||||
**Policy**: TMS does not perform malware scans on uploaded archives.
|
||||
|
||||
**Rationale**: Archives treated as "black box" content without processing or extraction.
|
||||
|
||||
**Exception**: MTA deployment descriptors are verified for malware-free content.
|
||||
|
||||
**Responsibility**: Target applications must perform malware scanning during deployment.
|
||||
|
||||
---
|
||||
|
||||
### Encryption
|
||||
|
||||
**Transport**: SSL/TLS for all communications (HTTPS only)
|
||||
|
||||
**Storage**: Archives and MTA extension descriptors are **NOT encrypted** by persistency layer
|
||||
|
||||
**Mitigation**: Archives are only temporarily persisted and deleted after the configured file retention period (7-30 days depending on plan) has elapsed since the transport reached a final status (Deleted, Error, Skipped, Succeeded, Warning). See Storage Management in administration.md for retention details.
|
||||
|
||||
---
|
||||
|
||||
### Audit Logging
|
||||
|
||||
**Category**: `audit.security-events`
|
||||
|
||||
**Events Logged**:
|
||||
|
||||
| Event | Description |
|
||||
|-------|-------------|
|
||||
| Cleanup service runs | Scheduled file cleanup executed |
|
||||
| Authorization check failed | API call without sufficient scope |
|
||||
| Subscription plan updated | Plan changed successfully |
|
||||
| Subscription plan update failed | Plan change failed |
|
||||
|
||||
---
|
||||
|
||||
### Data Protection
|
||||
|
||||
**Capabilities**:
|
||||
- Export transport action logs
|
||||
- Export MTA extension descriptors
|
||||
- Export landscape configurations
|
||||
|
||||
**Use Cases**:
|
||||
- Data protection compliance
|
||||
- Decommissioning processes
|
||||
- Backup procedures
|
||||
|
||||
---
|
||||
|
||||
## Backup Configuration
|
||||
|
||||
### PostgreSQL (Main Database)
|
||||
|
||||
**Contents**: Landscape configuration, transport requests, log files
|
||||
|
||||
**Backup**: Automatic, 14-day retention
|
||||
|
||||
**Restore**: Datacenter level only (not individual customers)
|
||||
|
||||
### Object Store
|
||||
|
||||
**Contents**: Uploaded files (MTAs), archived transport action logs
|
||||
|
||||
**Backup**: No automatic backup/restore
|
||||
|
||||
### Manual Export Options
|
||||
|
||||
1. Transport-related logs download
|
||||
2. MTA extension descriptors download
|
||||
3. Landscape configuration export
|
||||
|
||||
---
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Role Assignment
|
||||
|
||||
1. **Principle of least privilege**: Assign minimum required roles
|
||||
2. **Separation of duties**:
|
||||
- Developers → ExportOperator
|
||||
- Operations → TransportOperator, ImportOperator
|
||||
- Admins → Administrator (sparingly)
|
||||
3. **Node restrictions**: Use attributes to limit scope
|
||||
|
||||
### Technical Users
|
||||
|
||||
1. Use technical users for:
|
||||
- Destination authentication
|
||||
- CI/CD integrations
|
||||
- Automated operations
|
||||
|
||||
2. Benefits:
|
||||
- Avoid password rotation issues
|
||||
- No personal data considerations
|
||||
- Consistent authentication
|
||||
|
||||
### Security Monitoring
|
||||
|
||||
1. Review audit logs regularly
|
||||
2. Monitor for authorization failures
|
||||
3. Track subscription plan changes
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
- Security: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/security-51939a4.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/security-51939a4.md)
|
||||
- Auditing: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/auditing-and-logging-information-9e3ee94.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/auditing-and-logging-information-9e3ee94.md)
|
||||
- Data Protection: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/data-protection-and-privacy-a2749d5.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/60-security/data-protection-and-privacy-a2749d5.md)
|
||||
- Backup: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/configuring-backup-8d15541.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/50-administration/configuring-backup-8d15541.md)
|
||||
311
references/troubleshooting.md
Normal file
311
references/troubleshooting.md
Normal file
@@ -0,0 +1,311 @@
|
||||
# SAP Cloud Transport Management - Troubleshooting Reference
|
||||
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/troubleshooting-issues-when-transporting-multitarget-applications-mtas-3f7a9bc.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/troubleshooting-issues-when-transporting-multitarget-applications-mtas-3f7a9bc.md)
|
||||
|
||||
---
|
||||
|
||||
## MTA Deployment Errors
|
||||
|
||||
### Error 1: "Not Found" During Deployment
|
||||
|
||||
```
|
||||
Exception during start of deployment for deploy type 'SLP_CTS': Error during client creation: Not Found
|
||||
```
|
||||
|
||||
#### Issue 1A: Incorrect Cloud Foundry Domain
|
||||
|
||||
**Cause**: Destination URL points to wrong Cloud Foundry API endpoint domain.
|
||||
|
||||
**Details**: The URL to SAP Cloud Deployment service can use org/space names or space GUID. When the domain doesn't match the actual Cloud Foundry environment, deployment fails immediately even if connection checks succeed.
|
||||
|
||||
**Diagnosis**:
|
||||
- Connection check succeeds but deployment fails
|
||||
- Domain in URL doesn't match CF API endpoint
|
||||
|
||||
**Solution**:
|
||||
|
||||
1. Get correct CF API endpoint:
|
||||
- **Via Cockpit**: Subaccount Overview > Cloud Foundry Environment tab
|
||||
- **Via CLI**: `cf api`
|
||||
|
||||
2. Verify destination URL domain matches:
|
||||
- Example wrong: `eu10.hana.ondemand.com`
|
||||
- Example correct: `eu10-004.hana.ondemand.com`
|
||||
|
||||
3. Update destination URL with correct domain
|
||||
|
||||
**Reference**: SAP Cloud Foundry regions and API endpoints documentation
|
||||
|
||||
---
|
||||
|
||||
#### Issue 1B: Special Characters in Org/Space Names
|
||||
|
||||
**Cause**: Organization or space names contain special characters not URL-encoded.
|
||||
|
||||
**Affected Characters**:
|
||||
- Whitespace (space)
|
||||
- Slashes (`/`)
|
||||
- Plus signs (`+`)
|
||||
- Other non-URL-safe characters
|
||||
|
||||
**Details**: Special characters prevent proper URL path construction, causing deployment failure despite successful connection tests.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
**Option 1: URL-Encode Special Characters**
|
||||
|
||||
Encode org and space names separately before combining:
|
||||
|
||||
| Character | Encoded |
|
||||
|-----------|---------|
|
||||
| Space | `%20` |
|
||||
| Plus (`+`) | `%2B` |
|
||||
| Comma (`,`) | `%2C` |
|
||||
| Slash (`/`) | `%2F` |
|
||||
| At (`@`) | `%40` |
|
||||
| Ampersand (`&`) | `%26` |
|
||||
|
||||
Example: `dev+test` → `dev%2Btest`
|
||||
|
||||
**Option 2: Use Space GUID (Recommended)**
|
||||
|
||||
Replace org/space names with space GUID:
|
||||
|
||||
```bash
|
||||
cf space <my-space-name> --guid
|
||||
```
|
||||
|
||||
**Benefits**:
|
||||
- GUIDs follow standard formatting
|
||||
- HTTP-compatible (no encoding needed)
|
||||
- Stable even if org/space names change
|
||||
|
||||
**URL Pattern**:
|
||||
```
|
||||
[https://deploy-service.cf.<domain>/slprot/<space-guid>/slp](https://deploy-service.cf.<domain>/slprot/<space-guid>/slp)
|
||||
```
|
||||
|
||||
**Exception**: Avoid GUID-based URLs in automated pipelines that frequently recreate spaces for testing.
|
||||
|
||||
---
|
||||
|
||||
### Error 2: "Forbidden" During Deployment
|
||||
|
||||
```
|
||||
Exception during start of deployment for deploy type 'SLP_CTS': Error during client creation: Forbidden
|
||||
```
|
||||
|
||||
#### Issue 2A: User Lacks Required Privileges
|
||||
|
||||
**Cause**: User in destination doesn't have `SpaceDeveloper` role in target org/space.
|
||||
|
||||
**Details**: MTA deployment requires valid platform user with appropriate role assignments. Connection tests may succeed, but deployment fails due to insufficient permissions.
|
||||
|
||||
**Diagnosis**:
|
||||
- Connection check succeeds
|
||||
- Deployment fails with Forbidden error
|
||||
|
||||
**Solution**:
|
||||
|
||||
1. **Verify user roles via Cockpit**:
|
||||
- Navigate to subaccount
|
||||
- Select **Cloud Foundry > Spaces**
|
||||
- Click space tile
|
||||
- Review **Space Members**
|
||||
|
||||
2. **Verify via CLI**:
|
||||
```bash
|
||||
cf space-users <org> <space>
|
||||
```
|
||||
|
||||
3. **Add missing role**:
|
||||
- If user doesn't exist or lacks role, add with SpaceDeveloper permission
|
||||
|
||||
---
|
||||
|
||||
#### Issue 2B: User from Incorrect Identity Provider
|
||||
|
||||
**Cause**: User name exists in multiple identity providers; destination user from wrong provider or lacks role in that provider.
|
||||
|
||||
**Details**: When user names aren't unique across identity providers, system may authenticate against wrong provider, resulting in insufficient permissions.
|
||||
|
||||
**Solution**:
|
||||
|
||||
1. Verify user belongs to correct identity provider
|
||||
2. Confirm SpaceDeveloper role in that specific provider
|
||||
3. For custom IdP users: Use OAuth2Password authentication with `origin` property
|
||||
|
||||
**Destination Configuration for Custom IdP**:
|
||||
|
||||
```
|
||||
Authentication: OAuth2Password
|
||||
Additional Properties:
|
||||
origin: <your-custom-idp-name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## General Troubleshooting Steps
|
||||
|
||||
### Step 1: Check Connection
|
||||
|
||||
Use **Check Connection** in destination configuration.
|
||||
|
||||
**Note**: Success only validates URL accessibility, not deployment capability.
|
||||
|
||||
### Step 2: Verify User Permissions
|
||||
|
||||
```bash
|
||||
# List space users and roles
|
||||
cf space-users <org> <space>
|
||||
|
||||
# Check current user
|
||||
cf target
|
||||
```
|
||||
|
||||
### Step 3: Validate Destination URL
|
||||
|
||||
```bash
|
||||
# Get API endpoint
|
||||
cf api
|
||||
|
||||
# Get space GUID
|
||||
cf space <space-name> --guid
|
||||
```
|
||||
|
||||
### Step 4: Review Transport Action Logs
|
||||
|
||||
**Location**: SAP Cloud Transport Management > Transport Action Logs
|
||||
|
||||
**Logged Actions**:
|
||||
- Import to Node
|
||||
- File Upload
|
||||
- Upload to Node
|
||||
- Delete Queue Entry
|
||||
- Repeat Queue Entry
|
||||
- Export to Node
|
||||
- Add Queue Entry
|
||||
- Forward Queue Entry
|
||||
|
||||
**Columns**:
|
||||
- Node
|
||||
- Action Type
|
||||
- User
|
||||
- Status
|
||||
- End Time
|
||||
|
||||
**Download Formats**: Plain Text, CSV (selected or all actions)
|
||||
|
||||
### Step 5: Check Audit Logs
|
||||
|
||||
**Category**: `audit.security-events`
|
||||
|
||||
**Events Logged**:
|
||||
- Cleanup service runs
|
||||
- Authorization check failures
|
||||
- Subscription plan updates
|
||||
|
||||
---
|
||||
|
||||
## Common Issues by Content Type
|
||||
|
||||
### MTA (Multitarget Applications)
|
||||
|
||||
| Issue | Cause | Solution |
|
||||
|-------|-------|----------|
|
||||
| `Not Found` | Wrong domain | Match CF API endpoint |
|
||||
| `Not Found` | Unencoded special chars | Use GUID or URL-encode |
|
||||
| `Forbidden` | Missing SpaceDeveloper | Add role to user |
|
||||
| `Forbidden` | Wrong IdP | Use OAuth2Password with origin |
|
||||
| Deployment timeout | Large MTA | Increase timeout, check resources |
|
||||
|
||||
### BTP ABAP
|
||||
|
||||
| Issue | Cause | Solution |
|
||||
|-------|-------|----------|
|
||||
| Connection refused | Wrong URL | Verify `SAP_COM_0948` URL pattern |
|
||||
| Authentication failed | Wrong user | Use communication user from arrangement |
|
||||
| Import failed | API mismatch | Use `MANAGE_SOFTWARE_COMPONENTS` API |
|
||||
|
||||
### Application Content
|
||||
|
||||
| Issue | Cause | Solution |
|
||||
|-------|-------|----------|
|
||||
| Unsupported format | Wrong file type | Check application requirements |
|
||||
| Deployment failed | Target service issue | Check target application logs |
|
||||
|
||||
---
|
||||
|
||||
## Import Scheduler Issues
|
||||
|
||||
### Auto-Deactivation
|
||||
|
||||
**Trigger**: 3 consecutive fatal failures over 3+ weeks
|
||||
|
||||
**Indicator**: Nodes appear in **Import Schedules** section on home screen
|
||||
|
||||
**Resolution**:
|
||||
1. Investigate root cause in Transport Action Logs
|
||||
2. Fix underlying issue
|
||||
3. Manually reactivate schedule
|
||||
|
||||
---
|
||||
|
||||
## Storage Issues
|
||||
|
||||
### Quota Exceeded
|
||||
|
||||
**Indicator**: Warning at 85% capacity; no uploads at 100%
|
||||
|
||||
**Solutions**:
|
||||
1. Delete unnecessary transport requests
|
||||
2. Reduce retention time
|
||||
3. Upgrade service plan
|
||||
|
||||
### Files Not Auto-Deleted
|
||||
|
||||
**Cause**: Requests in non-final status (Fatal, Initial, Repeatable, Running)
|
||||
|
||||
**Solution**: Resolve stuck requests or manually delete
|
||||
|
||||
---
|
||||
|
||||
## Support Resources
|
||||
|
||||
### SAP Support Component
|
||||
|
||||
**Component**: `BC-CP-LCM-TMS`
|
||||
|
||||
Use for: Transport Management for application content
|
||||
|
||||
### Required Information for Incidents
|
||||
|
||||
When submitting SAP Support tickets, include:
|
||||
|
||||
| Information | Details |
|
||||
|-------------|---------|
|
||||
| Environment | Region (EU10, US10, etc.) |
|
||||
| Account | Subaccount technical identifier |
|
||||
| URL | Complete URL where error occurs |
|
||||
| Reproduction | Exact steps triggering the issue |
|
||||
| Logs | Relevant transport action logs |
|
||||
| Evidence | Screenshots or screen recordings |
|
||||
|
||||
### Pre-Incident Checks
|
||||
|
||||
Before contacting support:
|
||||
1. Check SAP platform status
|
||||
2. Verify installed tool versions
|
||||
3. Review announced maintenance windows
|
||||
4. Search SAP Community for existing solutions
|
||||
|
||||
### Community Resources
|
||||
|
||||
- Search SAP Community posts tagged "SAP Cloud Transport Management"
|
||||
- Create discussion threads for peer assistance
|
||||
|
||||
### Documentation Links
|
||||
|
||||
- Monitoring: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/monitoring-and-troubleshooting-c39411d.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/monitoring-and-troubleshooting-c39411d.md)
|
||||
- MTA Troubleshooting: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/troubleshooting-issues-when-transporting-multitarget-applications-mtas-3f7a9bc.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/troubleshooting-issues-when-transporting-multitarget-applications-mtas-3f7a9bc.md)
|
||||
- Transport Action Logs: [https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/transport-action-logs-86319ed.md](https://github.com/SAP-docs/sap-btp-cloud-transport-management/blob/main/docs/transport-action-logs-86319ed.md)
|
||||
Reference in New Issue
Block a user