{"ref":"capability:change-promotion","page":"/capabilities/change-promotion","json":"/capabilities/change-promotion.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"change-promotion","name":"Change promotion","domain":"operations-and-runtime","ecosystems":["abap","btp","cap","ui5"],"universal":false,"description":"Moving a change through the environments of a landscape, from development through test to production, and knowing which change has reached which environment. A [CI/CD pipeline](capability:ci-cd) builds and tests on each source change, [deployment](capability:deployment) puts a build onto its runtime, and getting source into git is [source control](capability:abap-source-control).","short":"Moving a change from development through test to production","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-14","what_core_does":"The Transport Organizer, part of the ABAP Workbench and Customizing tools, carries changes in requests; a transport of copies moves objects in their current version to one named system and leaves their original location unchanged. In ABAP Cloud, XCO_CP_CTS creates and releases transport requests from code.","where_it_stops":"At the request as a container. It records what a developer changed, and working out which further objects a program needs in the target system is left to that developer.","sources":[{"url":"https://help.sap.com/doc/saphelp_em700_ehp01/7.0.1/en-US/57/38dd924eb711d182bf0000e829fbfe/content.htm?no_cache=true","title":"SAP Help: Transport Organizer, Concept","checked":"2026-09-14","quote":"The Transport Organizer is fully integrated into the ABAP Workbench and Customizing tools."},{"url":"https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-US/57/38e1a94eb711d182bf0000e829fbfe/content.htm?no_cache=true","title":"SAP Help: Transports of Copies and Relocations","checked":"2026-09-14","quote":"The objects are transported with the version they have in the current SAP System. The original location of the objects remains unchanged."},{"url":"https://github.com/SAP-samples/abap-cheat-sheets/blob/main/22_Released_ABAP_Classes.md","title":"SAP-samples/abap-cheat-sheets: Released ABAP Classes","checked":"2026-09-14","quote":"The following code snippet uses the `XCO_CP_CTS` class, among others, to demonstrate:"}],"relationship":"unassessed","note":"where_it_stops rests on the Transport Organizer pages describing no dependency collection, not on a statement from SAP; how the community tools relate to the Transport Organizer has not been assessed.","community_adds":"Tools that drive the Transport Organizer from outside the SAP GUI: a transport-of-copies transaction such as [abapToC](artifact:kaszub09-abaptoc), editor and command-line clients that list, create and release requests over ADT, such as [vscode_abap_remote_fs](artifact:marcellourbani-vscode-abap-remote-fs) and [abap-adt-cli](artifact:vaibhavgoel-github-1986-abap-adt-cli), and MCP servers that give an agent the same request actions, such as [Klystron](artifact:yannick-thirion-klystron). Beyond the core, SAP's [SAP Cloud Transport Management](artifact:btp-cloud-transport-management) moves content between SAP BTP accounts, including ABAP environment accounts within one global account."},"coverage_by_ecosystem":{"btp":{"state":"core-only","assessed_at":"2026-10-26","what_core_does":"[SAP Cloud Transport Management](artifact:btp-cloud-transport-management) models source and target accounts as transport nodes joined by routes and carries Multitarget Application archives and application-specific content along them. Each target keeps an import queue, imported whole, by selected request or on a schedule.","where_it_stops":"At what it is handed: the archive comes from a build or a content tool, and SAP's catalogue places the control over how a change propagates towards production in integrating the service with a CI/CD solution. Transports cross global accounts in the Cloud Foundry environment and stay within one global account in the ABAP environment; the catalogue record does not name Kyma.","sources":[{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/56b9b288-c548-4ea9-a5ae-20c6968a1abf","title":"SAP Discovery Center: SAP Cloud Transport Management","checked":"2026-10-26","quote":"Handle the transport of development content (in the form of Multitarget Application archives)"},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/56b9b288-c548-4ea9-a5ae-20c6968a1abf","title":"SAP Discovery Center: SAP Cloud Transport Management","checked":"2026-10-26","quote":"Number of transport nodes and transport routes that your transport landscape can consist of."},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/56b9b288-c548-4ea9-a5ae-20c6968a1abf","title":"SAP Discovery Center: SAP Cloud Transport Management","checked":"2026-10-26","quote":"Import all transport requests of an import queue in one go or import only selected requests."},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/56b9b288-c548-4ea9-a5ae-20c6968a1abf","title":"SAP Discovery Center: SAP Cloud Transport Management","checked":"2026-10-26","quote":"integrating Cloud Transport Management with your continuous integration/continuous delivery (CI/CD) solution"},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/56b9b288-c548-4ea9-a5ae-20c6968a1abf","title":"SAP Discovery Center: SAP Cloud Transport Management","checked":"2026-10-26","quote":"Support cross-global-account transports in the Cloud Foundry environment"}]},"cap":{"state":"core-only","assessed_at":"2026-10-26","what_core_does":"capire's CI/CD guide deploys to a staging subaccount on a push to the main branch and to a separate production environment when a release is published, with the target account in repository or organisation variables. A CAP project built as a Multitarget Application can also be promoted through [SAP Cloud Transport Management](artifact:btp-cloud-transport-management), to which [SAP Continuous Integration and Delivery](artifact:btp-continuous-integration-and-delivery) uploads the archive.","where_it_stops":"At the pipeline's convention: which branch or release reaches which subaccount is the workflow's. The upload to the transport service is documented for SAP's CI/CD service in SAP Learning; the parts of capire's CI/CD guide quoted here do not name the transport service.","sources":[{"url":"https://cap.cloud.sap/docs/guides/deploy/cicd","title":"Deploy using CI/CD Pipelines, capire","checked":"2026-10-26","quote":"The created workflows do a Staging deployment for pushes on the main branch, usually after merging pull requests."},{"url":"https://cap.cloud.sap/docs/guides/deploy/cicd","title":"Deploy using CI/CD Pipelines, capire","checked":"2026-10-26","quote":"For the actual release we want to override org-wide sandbox variables to deploy to a different subaccount/organization"},{"url":"https://learning.sap.com/courses/exploring-devops-with-sap-btp/handling-delivery-with-transports_d9fe865e-4d83-44d7-acf5-2195bfd43fe5","title":"Handling Delivery with Transports, SAP Learning","checked":"2026-10-26","quote":"uploading a multi-target application (MTA) archive to SAP Cloud Transport Management"},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/486b4869-7257-4f4e-9ef8-650bb618a871","title":"SAP Discovery Center: SAP Continuous Integration and Delivery","checked":"2026-10-26","quote":"Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and Delivery"}]},"ui5":{"state":"core-only","assessed_at":"2026-10-26","what_core_does":"[SAP Continuous Integration and Delivery](artifact:btp-continuous-integration-and-delivery) lists a getting-started tutorial for an SAP Fiori project and uploads Multitarget Application archives to [SAP Cloud Transport Management](artifact:btp-cloud-transport-management), where the request waits in the import queue of the next transport node.","where_it_stops":"At the archive and the pipeline: what SAP's pages cite is a Multitarget Application archive uploaded by the CI/CD service, and a Fiori project is one of the projects that service lists a tutorial for.","sources":[{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/486b4869-7257-4f4e-9ef8-650bb618a871","title":"SAP Discovery Center: SAP Continuous Integration and Delivery","checked":"2026-10-26","quote":"Get Started with an SAP Fiori Project in SAP Continuous Integration and Delivery"},{"url":"https://learning.sap.com/courses/exploring-devops-with-sap-btp/handling-delivery-with-transports_d9fe865e-4d83-44d7-acf5-2195bfd43fe5","title":"Handling Delivery with Transports, SAP Learning","checked":"2026-10-26","quote":"the transport request is initially placed into the import queue of the Test transport node"},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/56b9b288-c548-4ea9-a5ae-20c6968a1abf","title":"SAP Discovery Center: SAP Cloud Transport Management","checked":"2026-10-26","quote":"Handle the transport of development content (in the form of Multitarget Application archives)"}]}},"coverage_by_flavor":{"abap-cloud":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"In the SAP BTP ABAP environment, gCTS moves a software component between systems in one global account through the Manage Software Components app: releasing its transport request and exporting the component to the target instance, DEV to TEST to PROD. In SAP S/4HANA Cloud Public Edition, developer extensions are still recorded on workbench transport requests and business configuration on customizing transport requests, and Export Software Collection bundles the extensibility items a key user or developer assigned to a collection for Import Collection to bring into the next tenant.","where_it_stops":"gCTS does not cross a global account: it can move a software component between systems inside one account only, never into another. A Software Collection export carries the extensibility items assigned to it, not a snapshot of the rest of the system.","sources":[{"url":"https://github.com/SAP-docs/btp-cloud-platform/blob/main/docs/30-development/transport-mechanisms-aa7f169.md","title":"SAP-docs/btp-cloud-platform: Transport Mechanisms","checked":"2026-09-14","quote":"Transports in the ABAP environment are limited to a single global account. Use gCTS (Manage Software Components app) to transport ABAP development objects between systems within the same global account, following the standard ABAP transport lifecycle."},{"url":"https://developers.sap.com/tutorials/abap-environment-gcts.html","title":"Transport a Software Component Between two Systems | SAP Tutorials","checked":"2026-09-14","quote":"Create and import a new software component into an SAP Business Technology Platform ABAP Environment instance, add ABAP sources and export it to a new SAP BTP ABAP Environment instance."},{"url":"https://learning.sap.com/courses/administrating-sap-s-4hana-cloud-public-edition/processing-transports-in-sap-s-4hana-cloud-public-edition_cb8abf97-aab1-4c3f-b5dc-b12bd8b2ad67","title":"Processing Transports in SAP S/4HANA Cloud Public Edition","checked":"2026-09-14","quote":"Developer extensions are recorded on workbench transport requests, whereas changes to the business configuration are recorded on customizing transport requests."}]}},"history":[{"date":"2026-09-14","field":"coverage_by_flavor.abap-cloud","from":null,"to":"core-only","reason":"ABAP Cloud's transport story is SAP's own: gCTS through the Manage Software Components app in the BTP ABAP environment, and Export/Import Software Collection in S/4HANA Cloud Public Edition. The one provider found on the ABAP door for this capability, abapToC's ZTOC transaction, is a classic transport-of-copies tool built as an SAP GUI transaction and states no flavor, so no community option is present in ABAP Cloud."},{"date":"2026-10-17","field":"description","from":"Moving changes between ABAP systems as transport requests: collecting the objects a change needs into one, copying a request to a test system before it is released, and seeing what a request carries. Getting objects into git is [source control](capability:abap-source-control), and reading what changed is [code review](capability:abap-code-review).","to":"Moving changes between systems as managed change packages: collecting the objects a change needs into one, copying a package to a test system before it is released, and seeing what a package carries. Getting objects into git is [source control](capability:abap-source-control), and reading what changed is [code review](capability:abap-code-review).","reason":"Keep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit."},{"date":"2026-10-26","field":"core_coverage.community_adds","from":null,"to":"Tools that drive the Transport Organizer from outside the SAP GUI: a transport-of-copies transaction, editor and command-line clients over ADT, MCP servers; SAP Cloud Transport Management beyond the core.","reason":"Reassessed against the graph (check:capabilities): providers arrived since 2026-09-14 (editor, CLI and MCP-server clients, and SAP's Cloud Transport Management service) that the text never named. State unchanged at core-and-community."},{"date":"2026-10-26","field":"id","from":"abap-transport-management","to":"change-promotion","reason":"One node per concern (ADR-0112): moving a change through a landscape's environments exists on BTP, CAP and UI5 too. ABAP's Transport management is this node's ABAP framing. Raised by public feedback issue #9; maintainer decision."},{"date":"2026-10-26","field":"ecosystems","from":"abap","to":"abap, btp, cap, ui5","reason":"Public feedback issue #9. SAP Cloud Transport Management is the BTP answer, capire's CI/CD guide the CAP one, and the SAP CI/CD service's route to the transport service the UI5 one; each is assessed under coverage_by_ecosystem."},{"date":"2026-10-26","field":"name","from":"Transport management","to":"Change promotion","reason":"Public feedback issue #9. The ABAP name is kept in framing_by_ecosystem.abap; the default name and description now state the cross-door concern."}],"drafted_with_ai":true,"framing_by_ecosystem":{"abap":{"name":"Transport management","description":"Moving changes between ABAP systems as transport requests: collecting the objects a change needs into one, copying a request to a test system before it is released, and seeing what a request carries. Getting objects into git is [source control](capability:abap-source-control), and reading what changed is [code review](capability:abap-code-review)."},"btp":{"description":"Moving Multitarget Application archives and application-specific content between subaccounts along transport nodes and routes, with an import queue at each target. [SAP Cloud Transport Management](artifact:btp-cloud-transport-management) models the landscape; the build that produces the archive is [CI/CD](capability:ci-cd)."}}},"sap_delivery":{"door":"abap","all":null,"by_flavor":{"standard-abap":null,"abap-cloud":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:marcellourbani-vscode-abap-remote-fs","name":"ABAP remote filesystem","json":"/artifacts/marcellourbani-vscode-abap-remote-fs.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:vaibhavgoel-github-1986-abap-adt-cli","name":"abap-adt-cli","json":"/artifacts/vaibhavgoel-github-1986-abap-adt-cli.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:kaszub09-abaptoc","name":"abapToC","json":"/artifacts/kaszub09-abaptoc.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:marcellourbani-vscode-activecontrol","name":"ActiveControl Transport form creator","json":"/artifacts/marcellourbani-vscode-activecontrol.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:consetto-cloudalmlink","name":"Cloud ALM Link for ADT","json":"/artifacts/consetto-cloudalmlink.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:erhan-epod-adt-mcp-server","name":"EPOD ADT MCP Server","json":"/artifacts/erhan-epod-adt-mcp-server.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:furkancosgun-transport-management-tool","name":"furkancosgun/Transport-Management-Tool","json":"/artifacts/furkancosgun-transport-management-tool.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:furkancosgun-zwarp","name":"furkancosgun/ZWARP","json":"/artifacts/furkancosgun-zwarp.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:qualiture-git-env-branches","name":"git-env-branches","json":"/artifacts/qualiture-git-env-branches.json","ecosystem":"general","origin_ring":"independent"},{"ref":"artifact:andre-schaerpf-hammer","name":"Hammer","json":"/artifacts/andre-schaerpf-hammer.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:yannick-thirion-klystron","name":"Klystron","json":"/artifacts/yannick-thirion-klystron.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:reyemsaibot-qtt","name":"qtt","json":"/artifacts/reyemsaibot-qtt.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:btp-cloud-transport-management","name":"SAP Cloud Transport Management","json":"/artifacts/btp-cloud-transport-management.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:olegbash599-zcts-browser","name":"ZCTS_BROWSER","json":"/artifacts/olegbash599-zcts-browser.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:zedwin-ztct","name":"ZTCT","json":"/artifacts/zedwin-ztct.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[],"explained_by":[{"ref":"content:teched-2026-xp200","name":"Use change and deployment management in an ABAP environment with confidence","json":"/content/teched-2026-xp200.json"}],"normative_context":[]}}