Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 1 of 5

TMS concepts: domains, groups, layers and routes

12 min

Every change that reaches Contoso Motor Co.'s production system travels in a transport request. The machinery behind that is SAP's Change and Transport System (CTS). Developers and consultants meet the Transport Organizer, where requests are created and released. Release managers and Basis administrators meet the Transport Management System (TMS), reached with transaction STMS, which defines where requests may go and imports them. Underneath, the operating-system programs tp and R3trans do the actual export and import work.

Contoso's new SAP S/4HANA landscape has three systems: development CMD, quality assurance CMQ (test client 100, training client 200) and production CMP. Luis, the cutover and release manager, owns the transport calendar; the Basis team owns the TMS configuration. This lesson gives you the vocabulary both of them use.

Transport domainAll systems managed together in TMS. One configuration, one set of routes, unique system IDs.
Domain controllerThe one system where the TMS configuration is maintained and from which it is distributed. A backup controller can take over.
Transport groupSystems that share one transport directory on the file system, usually /usr/sap/trans.
Systems and routesCMD, CMQ and CMP, connected by a consolidation route and a delivery route.
Packages and transport layersEach development package names a transport layer; the layer decides which route its objects follow.
The TMS building blocks, from the widest scope to the narrowest.
The Sign-Off Table · thesignofftable.com/academy/sap-rel-201

Domain, controller and transport directory

A transport domain is the set of SAP systems that TMS manages centrally. Every system in it needs a unique system ID (SID), and the default domain name is DOMAIN_ followed by the SID of the first system configured. That first system becomes the domain controller automatically. The controller holds the reference configuration of systems and routes and distributes it to every other system, which keeps a copy. SAP's training material names production, as a highly available and well-secured system, as a good choice. A backup domain controller, which must be a real system on the same release, can take over if the controller is down.

Systems talk to each other through RFC destinations that TMS creates automatically, using a technical user called TMSADM in client 000.

Requests themselves travel through the transport directory, a shared file-system directory pointed to by the profile parameter DIR_TRANS. Its subdirectories matter when you read logs: data holds the exported content, cofiles holds control files, buffer holds one import buffer per system, and log holds the logs. Systems that share one directory form a transport group. Export and import are copies, not moves: after a release goes live, the same objects exist in CMD, CMQ, CMP and the directory.

TermWhat it isAt Contoso
Transport domainSystems managed centrally by TMSOne domain for CMD, CMQ, CMP
Domain controllerHolds and distributes the TMS configurationCMP, with CMQ as backup controller
Transport groupSystems sharing one transport directoryOne group; all three share /usr/sap/trans
Transport layerName of a consolidation route that packages are assigned toZCMD for customer objects; SAP for modified SAP objects

Contoso's TMS vocabulary. Your own landscape diagram from Basis is the authority for your program.

Transport layers and routes

Routes tell TMS where a released request goes next. A consolidation route runs from the system where changes are made (the integration system, CMD) to the system where they are consolidated and tested (the consolidation system, CMQ). Every consolidation route carries a transport layer; in fact a transport layer is simply the name of a consolidation route. A delivery route then runs onward, from CMQ to the delivery system CMP. Delivery routes have no names: whatever was imported into CMQ is queued for CMP.

How does an object find its layer? Every repository object belongs to a package, and each package names a transport layer. Customer packages start with Y or Z; Contoso's order-to-cash enhancements live in package ZCMC_SD, which uses the standard layer. SAP's standard layer is named Z plus the development SID, so Contoso's is ZCMD; customizing also follows the standard layer. A separate layer named SAP covers SAP-delivered objects that the customer modifies. Objects in a package with no transport layer, or whose layer has no route, can only be saved as local objects in package $TMP or in local requests, and they will never leave CMD.

  1. CMD: integration systemChanges are made and recorded in requests. Release exports them to the transport directory.
  2. Consolidation route (layer ZCMD)Released requests are added to the CMQ import buffer.
  3. CMQ: consolidation systemRequests are imported into client 100 and tested.
  4. Delivery routeRequests imported into CMQ are queued for production.
  5. CMP: delivery systemApproved requests are imported in the change window.
Contoso's three-system route. The consolidation route carries a layer; the delivery route simply follows it.
The Sign-Off Table · thesignofftable.com/academy/sap-rel-201

TMS offers standard configurations (single system, development and production, three systems in a group) that set these routes in one step,. A virtual system is a placeholder for a system that does not exist yet; routes and import queues can be modeled before the real system is installed. Contoso used one for CMP while production was still being built, so requests released during the build were already queuing for it. TMS also offers an optional QA approval procedure, configured on the QA system, that keeps requests inactive in the production queue until they are approved. You will meet it in lesson 3.

  1. Is the object in a package with a transport layer?Yes → continue · No → it was saved locally ($TMP) and will never leave CMD; recreate or reassign it in a transportable package
  2. Does that layer have a consolidation route from CMD?Yes → continue · No → ask Basis; the request has no target
  3. Was the task and then the request released?Yes → continue · No → nothing has been exported yet
  4. Does the request appear in the CMQ import queue?Yes → it is waiting for the next import · No → check the export log and the transport directory
Why has my change not arrived in QAS? Walk the route from the object outward.
The Sign-Off Table · thesignofftable.com/academy/sap-rel-201

What would you do?

A developer at Contoso built a small report for the supplier scorecard with Lakeside Components and unit tested it in CMD. Two weeks later Priya asks why it is not in CMQ. The developer finds no transport request for it. What is the most likely explanation?

Key points
  • CTS records and moves changes; TMS (STMS) configures routes and runs imports; tp and R3trans do the work.
  • A transport domain has one domain controller that distributes the configuration; a transport group shares one transport directory.
  • Consolidation routes (DEV to QAS) carry transport layers; delivery routes (QAS to PRD) follow them.
  • Packages name a transport layer; objects in $TMP or without a layer never leave development.
  • Virtual systems and the QA approval procedure are optional TMS features worth knowing about.

Check your understanding · not graded

Lesson check

  1. 1. In TMS, what is a transport layer?

  2. 2. Which system holds the reference TMS configuration and distributes it to the others?

  3. 3. A delivery route in a three-system landscape normally connects:

  4. 4. Why might a newly built object never reach QAS?