← All articles
BASISBASIStransportCTS5 October 2026By Automate & Graduate

SAP Transport Request Explained: CTS Tutorial

Learn how SAP transport requests work in the Change and Transport System (CTS). This practical guide covers everything you need to know to safely move changes across your SAP landscape.

What Is an SAP Transport Request in CTS?

If you're new to SAP, the concept of a transport request can feel like you're learning a foreign language. But here's the truth: understanding how the Change and Transport System (CTS) works is one of the most practical skills you'll pick up as you progress in your SAP career. In simple terms, a transport request is your vehicle for moving changes—whether that's code, configuration, or customization—from one SAP system to another safely and systematically.

Think of it this way: you wouldn't just copy files directly to a production server without controls, right? SAP's CTS does the same thing for changes. It ensures that what you've built in your development environment gets to your test environment, and eventually to production, in an auditable and reversible way.

In this SAP transport request explained tutorial, we'll walk through how the CTS works, why it matters, and give you the practical steps to handle transport requests like a pro.

Why Transport Requests Matter: The Three-System Landscape

Most SAP customers operate what's called a "three-system landscape":

  • Development (DEV): Where you and your team build and test new features
  • Quality Assurance (QA): Where business users test the changes before they go live
  • Production (PROD): The live system where real business happens

Without a structured way to move changes between these systems, chaos ensues. Someone might manually rebuild something in production that was already working in dev. Or worse, a critical piece of customization gets lost in translation. The transport request system prevents this by creating a documented, repeatable path for changes to follow.

Understanding Transport Requests and Tasks

Here's where people often get confused: a transport request and a task aren't the same thing, even though they're closely related.

A transport request (sometimes called a "transport order") is the container—think of it as the shipping box. Within that box, you can have one or more tasks. Each task is assigned to a specific person and holds the actual changes they've made. The request's job is to move all those tasks together to the next system in the landscape.

In transaction SE01 (or SE09 if you're looking at a specific user's tasks), you can see and manage these. The naming convention usually looks like: DEVK900001 where DEV is the three-letter system ID, K means it's a workbench request (we'll explain that in a moment), and 900001 is the sequential number.

Types of Transport Requests: Workbench vs. Customization

There are two main types of transport requests you'll encounter:

  1. Workbench Requests (K-type): These carry technical changes—ABAP code, function modules, reports, enhancements, data dictionary objects. If a developer writes code in transaction SE80, it gets captured in a workbench request. Example: DEVK900123
  2. Customization Requests (C-type): These carry configuration changes made in transaction IMG (Customizing Implementation Guide). If a functional consultant changes a customizing table via SE03 or directly in IMG, it goes into a customization request. Example: DEVC900123

The key difference? Workbench requests are client-independent (they affect the entire system), while customization requests are typically client-dependent. If you need to refresh your understanding of SAP's architecture and why this matters, check our glossary for client and transport-related terminology.

The Transport Lifecycle: Step by Step

Let's walk through what happens to a transport request from creation to arrival in production:

  1. Creation: You make a change in development. SAP automatically creates a task in an open transport request (or creates a new one if none exists). You can see this in transaction SE01.
  2. Recording: As you make changes—creating a new table, modifying a report, adjusting configuration—the system records them in the transport request's source code and object list. Check transaction SE10 to see what's actually being transported.
  3. Release (optional but important): Once you're happy with your changes, you "release" the task first (transaction SE01), then release the transport request itself. This action freezes the contents—no more changes can be added.
  4. Import to QA: The transport request moves to the QA system. A basis admin typically imports it using transaction SE01 or command-line tools. The objects are reconstructed in QA exactly as they were in dev.
  5. Testing: QA users test your changes. If something breaks, the request can be retracted and sent back to dev for fixing.
  6. Import to Production: After sign-off, the request is imported to production. This is usually done during a scheduled downtime window or via a transport management tool like SAP Solution Manager.

One critical thing to remember: once a request is released, you can't add more changes to it. If you need to make additional changes, you'll need a new transport request.

Key Transaction Codes You Need to Know

Here are the most important transactions for working with transport requests:

  • SE01: Transport Organizer—your main hub for viewing, releasing, and importing transports
  • SE09: Transport Organizer (for user-specific view)—shows transports assigned to you
  • SE10: Transport Objects—displays exactly what objects are in a transport
  • SE03: Transport Customizing—for moving configuration objects
  • STMS: Transport Management System—the enterprise-level view used by basis teams

If you want hands-on practice with these transactions, explore our SAP modules to find transport management tutorials.

Common Transport Request Scenarios

Scenario 1: You've Built a Report and Need to Move It

You create a new ABAP report in transaction SE38 (or SE80). The system asks which transport request to assign it to. You can either pick an existing one or let SAP create a new one. The report object gets added to that request. When ready, you release the task, then the request, and it's ready to import to QA.

Scenario 2: A Configuration Change Needs to Be Transported

A functional consultant uses transaction SPRO to navigate to an IMG activity and makes a change to a customizing table (stored in the database table T000, T001, etc., depending on what's being configured). This gets recorded in a customization request. The same process follows: release, import, test, move forward.

Scenario 3: You Forgot to Transport Something

You released a request, but later realized you missed an object. The solution: create a new transport request, manually add the missing object (via SE10 > Insert), release it, and move it forward alongside the original. It'll import fine as long as dependencies are handled correctly.

Transport Request Status and Troubleshooting

When you open a transport request in SE01, you'll see statuses like:

  • Modifiable: Still open, you can add changes
  • Released: Frozen, ready to move forward
  • In Transit / Being Imported: Currently moving or being imported
  • Imported: Successfully arrived in the target system

If an import fails, check the import log (in SE01, select the request and view the import history). Common issues include missing dependencies, conflicts with existing objects, or insufficient access rights in the target system.

Best Practices for Working with Transports

  • Keep requests focused: Don't mix unrelated changes. One feature = one (or a few related) request(s).
  • Document your changes: Add a meaningful text to your transport request. Future you will thank present you.
  • Release early, transport promptly: Don't let transport requests sit in "modifiable" status for weeks. They become technical debt.
  • Always test in QA first: Never jump straight from dev to production. Ever.
  • Understand dependencies: If Object B depends on Object A, make sure A is transported first.

Take Your SAP Transport Skills Further

The transport request system is foundational to SAP work, and mastering it sets you apart from those just fumbling through. Whether you're a developer moving code or a consultant handling configuration, understanding how CTS works makes you more efficient and less likely to create chaos in your landscape.

Ready to deepen your SAP knowledge? Visit Automate & Graduate for interactive modules, real-world scenarios, and hands-on training that will take your SAP career to the next level.

Go deeper on SE38

Annotated screen, every field explained in plain English, the errors you will actually hit and how to fix them.

Open the SE38 guide →Free · no account required

Want to keep track of what you learn?

A free account saves your progress across 70+ modules, 26 games and a daily challenge.

Create a free account