Skip to main content
Do checkout my poem section. You are going to love it.

TMS configuration steps

 The Transport Management System (TMS) in SAP Basis is a crucial component for managing and organizing the development, configuration, and data changes across an SAP system landscape.1 It ensures that changes are transported consistently and reliably from development to quality assurance and then to production systems, maintaining system integrity and preventing conflicts.2

TMS simplifies the entire transport process, which traditionally involved manual steps and could lead to errors. It provides a central tool (STMS transaction) to configure the system landscape, define transport routes, and monitor transports.3

Key Concepts in TMS:

  1. Transport Domain: A group of all SAP systems that are managed centrally by a single TMS.4 All systems in a domain share the same transport directory and domain controller.
  2. Transport Domain Controller (TDC): The central SAP system within a transport domain where all TMS configuration settings (transport routes, systems, groups, parameters) are maintained.5 There can only be one active TDC at a time. Changes made on the domain controller are distributed to all other systems in the domain.6
  3. Transport Group: One or more SAP systems that share a common transport directory (/usr/sap/trans on Unix/Linux, \\sapmnt\trans on Windows). This is where transport files are stored.
  4. Transport Routes: Logical paths that define the flow of changes between systems in the landscape. There are two main types:
    • Consolidation Routes: Used to transport changes from a development system to a quality assurance system (where development is "consolidated" for testing).7
    • Delivery Routes: Used to transport changes from a quality assurance system to a production system, or between other systems in the landscape.
  5. Transport Layer: A mechanism to group changes of similar kinds.8 They are assigned to objects (e.g., customizing, workbench objects).9 Transport layers are typically assigned to consolidation transport routes.10
  6. tp (Transport Program): An executable program (part of the SAP kernel) that performs the actual transport steps (exporting, importing, deleting transport data).11 It is called by TMS.
  7. R3trans: Another executable program (also part of the SAP kernel) used by tp to handle database-specific operations during transports.12
  8. DOMAIN.CFG: A configuration file created in the usr/sap/trans/bin directory during TMS setup.13 It contains essential TMS configuration information and is used by systems to discover and join a transport domain.
  9. TMSADM User: A special system user created automatically during TMS setup.14 This user is used for internal RFC communications between systems within the transport domain for TMS functionalities.15

Critical Steps for TMS Configuration in SAP Basis:

The TMS configuration primarily happens in client 000 of each SAP system.

Phase 1: Setting up the Transport Domain Controller (TDC)

  1. Choose the Domain Controller: Decide which SAP system will act as the Transport Domain Controller. This is typically your central Development system (DEV).
  2. Log on to the TDC: Log on to the chosen SAP system in client 000 with a user having S_CTS_ADMIN authorization (e.g., DDIC or SAP* during initial setup).
  3. Start TMS Transaction (STMS):
    • Enter transaction code STMS.
    • If no transport domain exists, the system will prompt you to create a new one.
    • Confirm the proposal to "Create Transport Domain".
    • Background Activities: When you confirm, TMS automatically performs several crucial steps:
      • Initializes the transport domain, landscape, and group.
      • Creates the TMSADM user (a system user).16
      • Generates RFC (Remote Function Call) destinations required for TMS communication (e.g., TMSADM@<SID>.DOMAIN_<SID>).17
      • Creates the DOMAIN.CFG file in the common transport directory (/usr/sap/trans/bin).18

Phase 2: Adding SAP Systems to the Transport Domain

  1. Log on to Each System (to be added): For every other SAP system (QAS, PRD, etc.) that you want to include in the transport domain, log on to client 000 with an administrative user (e.g., DDIC).19

  2. Start TMS Transaction (STMS):

    • Enter transaction code STMS.
    • The system will detect the existing DOMAIN.CFG file in the common transport directory and propose to join the existing transport domain.
    • Select the proposal and save your entries.
    • Initial Status: The system will now be in a "waiting" status in the Domain Controller's TMS overview. This is a security measure.
  3. Approve Systems from the Domain Controller:

    • Log back on to the Transport Domain Controller (client 000).
    • Go to transaction STMS.
    • Click on Overview -> Systems.
    • You will see the newly added systems with a "waiting" status (a truck icon with a question mark).
    • Select the waiting system, then from the menu choose SAP System -> Approve.
    • Confirm the prompt to include the system in the transport domain.
    • Repeat for all systems you want to add.
  4. Distribute and Activate Configuration:

    • After approving all systems, the TMS configuration changes need to be distributed.
    • From the Domain Controller (STMS), go to Overview -> Systems.
    • Choose Configuration -> Distribute and Activate. This pushes the updated DOMAIN.CFG file and RFC configurations to all systems in the domain.

Phase 3: Configuring Transport Routes and Layers

  1. Log on to the Domain Controller: Log on to the TDC (client 000).
  2. Access Transport Route Configuration (STMS):
    • In STMS, click on Overview -> Transport Routes. This will open the graphical editor for transport routes.
  3. Create Transport Layers:
    • In the graphical editor, go to Edit -> Transport Layer -> Create.
    • Standard Customer Layer: Create a transport layer for customer developments (e.g., ZDEVC, Z<SID>).20 This is the layer where all changes to customer objects (Z* or Y* objects) will be recorded.
    • SAP Standard Layer: The SAP layer is predefined for SAP standard objects (repairs).21
    • Note: Transport layers are assigned to consolidation routes.22
  4. Create Transport Routes:
    • Drag and drop system icons from the left pane to the main graphical editor area to represent your landscape (e.g., DEV, QAS, PRD).
    • Create Consolidation Routes:
      • Click on the "Create Transport Route" icon (or Edit -> Transport Route -> Create).
      • Draw a line from your Development system (source) to your Quality Assurance system (target).
      • In the dialog box, select "Consolidation Route".
      • Assign the Transport Layer (e.g., ZDEVC) that you created earlier.
      • Save.
    • Create Delivery Routes:
      • Draw a line from your Quality Assurance system (source) to your Production system (target).
      • In the dialog box, select "Delivery Route".
      • (No transport layer needed for delivery routes).
      • Save.
    • You can also create more complex routes, parallel routes, or target groups if your landscape requires it.23
  5. Save and Distribute Transport Routes:
    • After configuring all desired routes, click the "Save" icon (or Configuration -> Save).
    • Then, click the "Activate and Distribute" icon (or Configuration -> Distribute and Activate). This distributes the transport route information to all systems in the domain.

Phase 4: Configuring Transport Tool Parameters (tp parameters)

While TMS manages most tp parameters automatically, you might need to adjust some.

  1. Log on to the Domain Controller: Log on to the TDC (client 000).
  2. Access tp Parameters (STMS):
    • In STMS, go to Overview -> Systems.24
    • Double-click on an SAP system.
    • Go to the "Transport Tool" tab.
    • From the menu, choose Goto -> tp parameters.
  3. Review and Adjust (if necessary): You'll see a list of global and system-specific tp parameters.
    • TRANSPATH: This parameter (which is usually set implicitly) points to the common transport directory (/usr/sap/trans). Ensure all systems can access this shared directory.
    • CTC (Extended Transport Control): If you need advanced features like transport workflow or QA approval procedures, this parameter (CTC = 1) needs to be set in the development system's tp parameters.
    • Most other parameters are well-configured by default.
  4. Save and Distribute: After any changes, save and distribute the configuration.

Phase 5: Additional TMS Configurations (Optional but Recommended)

  1. Configure Backup Domain Controller:
    • In STMS on the Domain Controller, Overview -> Systems.
    • Select the Domain Controller system and choose SAP System -> Change.
    • Enter the SID of another stable system (e.g., QAS) in the "Backup" field.
    • Save and distribute. This ensures that if the primary TDC fails, the backup can be activated.
  2. Configure QA Approval Procedure (for Quality Systems):
    • In STMS on the Domain Controller, Overview -> Systems.
    • Double-click on your Quality Assurance system.
    • Go to the "Quality Assurance" tab.
    • Activate the "Delivery after confirmation" checkbox.
    • Define the approval steps and responsible users/roles for releasing transports to subsequent systems.25
    • Save and distribute.
  3. Configure Transport Workflow:
    • If you need a formal workflow for transport releases with notifications and approvals, you can configure it within STMS -> Overview -> Transport Workflow. This relies on SAP Business Workflow.
  4. Create Target Groups:
    • For scenarios where a transport needs to go to multiple similar systems (e.g., multiple production systems for different regions), you can create target groups in the transport route editor.26

Critical Parameters and Files for TMS:

  • DOMAIN.CFG file: Located in usr/sap/trans/bin.27 Contains the central TMS configuration.
  • TP_DOMAIN_<SID>.PFL (Transport Profile): Also in usr/sap/trans/bin. This is the profile file used by the tp program. TMS automatically maintains this.
  • TPPARAM file: A global parameter file in usr/sap/trans/bin that contains default tp parameters.28
  • Transport Directory (/usr/sap/trans or \\sapmnt\trans): This shared network directory is critical.29 It stores:
    • data directory: Contains the actual data files of transport requests (e.g., R900001.DEV).
    • cofiles directory: Contains the control files for transport requests (e.g., K900001.DEV).30
    • log directory: Contains transport logs.31
    • buffer directory: Contains the import queues for each system.

Common Issues and Troubleshooting:

  1. System "Waiting" after Joining Domain:
    • Cause: The system has sent a request to join the domain, but it hasn't been approved by the Domain Controller.
    • Solution: Log on to the Domain Controller (client 000), STMS -> Overview -> Systems, select the waiting system, and choose SAP System -> Approve.32
  2. "Configuration is not completely distributed" / RFC errors:
    • Cause: RFC connections between systems are not working, or the DOMAIN.CFG file is inconsistent.
    • Troubleshoot:
      • Check RFC connections in SM59 (especially TMSADM@<SID>.DOMAIN_<SID>) from the Domain Controller to all systems, and vice versa.33
      • Ensure TMSADM user exists and is not locked, and its password is correct (automatically managed by TMS).
      • Verify network connectivity (firewall rules, hostname resolution).
      • Manually distribute configuration: STMS -> Overview -> Systems -> Configuration -> Distribute and Activate.
  3. Transport Directory Not Accessible / File System Issues:
    • Cause: The shared usr/sap/trans directory is not mounted correctly, has incorrect permissions, or is full.
    • Troubleshoot:
      • Verify the mount point on all application servers.
      • Check file system permissions (should be owned by <sid>adm or SAPService<SID>).
      • Check free space in df -h (Unix/Linux) or drive properties (Windows).
    • Solution: Correct mount points, permissions, or free up space.
  4. Transports not appearing in Import Queue or getting "hanged":
    • Cause: The RDDIMPDP background job is not scheduled or not running on the target system, or the tp process is stuck.
    • Troubleshoot:
      • Check SM37 for RDDIMPDP job on the target system. If missing, schedule it via SE38 -> RDDNEWPP.
      • Check SM50 for tp processes. If a tp process is hanging, it might need to be terminated at the OS level (use dpmon or kill -9).
      • Check the tp system log in STMS_IMPORT (GoTo -> tp System Log).34
      • Check the buffer file in usr/sap/trans/buffer for the target system.
  5. Objects Not Transported (Development Class Issues):
    • Cause: The object's development class (package) is not assigned to a transport layer, or the transport route for that layer is missing.
    • Troubleshoot: Check the package in SE80 or SE21. Verify transport routes in STMS.
    • Solution: Correct package assignment or create the appropriate transport route.
  6. tp parameters missing or incorrect:
    • Cause: Manual manipulation of tp parameters outside of STMS or corruption.
    • Troubleshoot: Check STMS -> Overview -> Systems -> Transport Tool tab -> Goto -> tp parameters.
    • Solution: Restore default parameters if needed, or correct manually via STMS.

TMS is a cornerstone of managing changes in an SAP landscape.35 A correct and robust TMS setup is fundamental for efficient development, testing, and production operations, ensuring that your SAP systems remain consistent and stable.36

Comments

Popular posts from this blog

An experiment with the life

"Best Thing about experiment is that it only improves the outcome." Well, I am Rakshit, hope you already know. I am not special and surely not especially gifted. Neither things go according to my wish. Neither I am the best writer.  But I am myself who is totally unique from anyone else. And I am Rakshit Ranjan Singh. I have my own fun, fights and fall in the most fundamentalistic way. Mechanical is my degree. IT is my Job. Beauty in nature is what I search. Words of my heart are what I write. Four different things I carry on my shoulder and a smile on my face, hope you might have seen that. What do I care for? Family, friends and nature. Do I have regrets? More than I can imagine. Let us move further to see what really is my life.

Learn Java

Hello Friends, You might already know what Java is. Without taking much of your time, I would like to ask you to please click below if you are ready to learn it from end to end. The Material over here is available on the internet and is free to access.  I would request you to bookmark this page and follow it. Please comment if you are happy with the learning. click here

Driving

My Driving Journey: From Zero to (Almost) Hero! Hello everyone! I'm excited to share my ongoing adventure of learning to drive. It's been a mix of nervous excitement, hilarious near-misses, and the slow but steady feeling of progress. Buckle up, because here's a peek into my journey behind the wheel! The First Lesson: Clutch Confusion! My first time in the driver's seat was... memorable. Let's just say the clutch and I weren't immediate friends. Lots of jerky starts and a few stalls later, I began to understand the delicate dance between the pedals. My instructor was incredibly patient (thank goodness!). Mastering the Steering Wheel (Sort Of) Steering seemed straightforward enough, but navigating turns smoothly was a different story. I definitely had a few moments of feeling like I was wrestling with the wheel. Slowly but...