What is TMS?
TMS is used to move, manage, control, copy development objects and customizing settings in an orderly fashion across SAP systems in a landscape through pre-defined transport routes (RFC Connections). The transport process basically consists of exporting of objects out of the source SAP system and importing them into the target SAP system/s. TMS Stands for Transport Management System
Why do we need a Transport System?
The CTS components play an important role in the overall development and customization environment. CTS stand for Change and Transport System
CTS is an instrument for:
- Administering & controlling new development requests.
- Managing transports
- Recording of where and by whom changes are made
- Configuring systems landscape
Overview of CTS Components
- CTO (Change and Transport Organizer) – It's the main tool for managing, browsing, and registering the changes done on the repository and customizing objects. It's the central point for organizing the development projects. SE01 is the transaction with the new extended view.
- Transport Tools – The actual transports happen in the back-end at the OS level using transport tools, which are part of SAP Kernel and includes the program R3trans and the transport control program tp.
- (TMS) Transport Management System
The system landscape (also known as SAP System Group) is the arrangement of SAP servers. Ideally, in a SAP environment, a three-system landscape is recommended. It consists of the
- Development Server – DEV
- Quality Assurance Server - QAS
- Production Server - PRD.
Transport cycle in a very basic sense is the release of new Developments/ Customizing Changes from DEV which are imported in both Quality and Production systems. However, import in PRD can happen only once integration Testing and quality check have been performed in QAS (and marked as checked).
What is Customizing? How does TMS help in Customizing
- Customizing is a process to adapt the SAP system according to the customer's need. To perform the customizing, users and consultants take help of SAP Reference Implementation Guide (IMG), which is accessible through transaction SPRO.
- Customizing is ideally done in DEV. The Transport Organizer (SE01) is used in conjunction with IMG to record and transport customized changes further.
Most of the Customizing changes (though, not all) are client-specific, i.e., the changes are supposed to be reflected in a particular client only and not intended for all the system clients. When the Transport Request is exported, it extracts the relevant table entries from the database of the SAP system and copies them to the transport directory. Relevant table entries are locked when the customizing transaction is being used. However, they are unlocked as soon as the changes are saved to a Transport Request.
Repository and Development Changes
- Apart from customizing already existing objects, new developments are also required in most of the cases. Development object is any object that is created (developed) by you in SAP system.
- A Collection of all such objects (client-specific or cross-client) is called Repository.
- Development is mostly done with the help of ABAP Workbench (SE80). Therefore such changes are also known as Workbench Changes.
- ABAP Dictionary Objects: Tables, Domains, Data elements, etc.
- ABAP Programs, function modules, menus, screens
- Documents, Application defined transport-objects, etc.
- Workbench is also fully integrated with TMS, to record and transport the changes.
Most of the Workbench changes (though, not all), are cross-client, i.e. changes will be reflected in all the system clients of the target system. Objects transported from the source system overwrite objects in the target system that has the same names.
Clients and the type of Data in SAP System
- Conceptually, client is a technical and organizational independent unit, that contains its own set of data (Master Data, Application/ Operational data, Customizing Data)
- Clients create separate environments for users from different user groups or with a different purpose, within same SAP system, without actually using the different database.
- From the Technical point of view, a client is specified using 3-digit numeric ID, which also acts as the value for the table field 'MANDT', in the case of client-specific jobs.
Among client specific data, there are 3 types of data:
- User Master Data contains the user login information, including the username, the password and the user defaults, the authorization profiles or roles, and the other useful information such as user groups, communication and so on. This data is physically present in a specific set of tables (the USR* tables).
- Customizing Data contains the configuration settings to customize organizational structure and the business processes for the companies implementing SAP. This data is client dependent and is stored in tables known as customizing tables.
- Application Data are also client dependent and normally users distinguish two types' master data and transactional data.
- Master Data such as vendor master, material master (tables such as MARA)
- Transactional data such as sales order, financial documents, Production Orders (POs) and so on.
Client Customization Options
Transport Directory and Its configuration
SAP Transport Directory:
- It is the global transport directory (/usr/sap/trans), which is actually a shared location (residing in the Domain Controller System) among all the member systems of a landscape (system group). It also contains certain subdirectories, that are created automatically during the installation of the SAP system. This is mandatory for setting up the Transport Management System.
- Basically, Transport Directory is the location where all the changes are saved (in the form of files) after they are released from DEV. Therefore, it acts as a source for the changes to be eventually imported in QAS and PRD. Hence, we have to make sure that the transport directory is shared properly among all the systems in a landscape.
As an example, in Windows NT, the shared directory location can be accessed using the following address: \\<SAPTRANSHOST>\sapmnt\trans where SAPTRANSHOST (Domain Controller System's address) is defined in the host's file in Windows Directory of all SAP systems in the landscape. Domain Controller – is one of the systems in a landscape that acts as an overall controller for change management and transport process in the landscape. Domain Controller is chosen (out of D / Q / P) by the team of system administrators, on the basis of system availability and the time of installation.
- Cofiles: Contains Change Request Information files with complete details and commands.
- Data Files: Contains the actual values and data to be used in implementing the change.
- Log: Contains Transport logs, traces or statistics, used for troubleshooting, in case any error occurs in the transport process.
- EPS: Download directory for advanced corrections and support packages
Other Subdirectories are:
- bin: Configuration files for tp (Transport Program) and TMS
- old data: Old Exported Data for archival or deletion
- actlog: Action logs for all requests and tasks
- buffer: Transport buffer for each system declaring the transports to be imported
- sapnames: Information regarding transport requests made by respective users
- tmp: Temporary and data log files
Setting up of Transport Directory and TPPARAM
- While configuring TMS, one of the main pre-requisite is to setting up the Transport Directory and the Transport Parameter file.
- It ensures that the Directory is shared properly among all the systems in a Landscape, for that all the systems taking part in the group/landscape are to be included in the global configuration file TPPARAM (transport parameter file), located under the bin subdirectory of /use/sap/trans. We have to make sure that the entries for all the participating systems are made in this file.
- In case, any entry is missing, copy another system's entry and change the values (for instance, System ID, Host name)
- At the time of installation, transport directory & the sub-directories are created automatically, including an initially configured template of TPPARAM file.
Operating System Tools - TP and R3trans
tp – The Transport Control Program:
- tp is the SAP program that administrators use for performing and planning transports between systems and also in upgrades of the SAP systems. This is used by the CTO and TMS.
- Actually, tp uses other special tools/programs and utilities to perform its functions. Mainly, it calls R3trans utility program. However, it also offers a more extensive control of the transport process, ensuring the correct sequence of the exported/imported objects, to avoid severe inconsistencies in the system, which may arise due to the wrong sequence.
- tp is located in the standard runtime directory of the SAP system: /usr/sap/SYS/<SID>/exe/run. It is automatically copied in the installation process.
- As a pre-requisite, the tp global parameter file (TPPARAM), must be maintained, specifying at least, hostnames of the systems taking part in the transport process.
- tp is mainly used for performing imports in target systems. It uses utilities called Import Dispatchers – RDDIMPDP & RDDIMPD_CLIENT_<nnn>, these are ought to be scheduled as background jobs in every system where imports will be performed. If for any reason they are deleted, we can schedule these jobs by running report RDDNEWPP.
- These jobs are actually "event triggered", meaning that tp sends a signal (an event) to the R/3 system and the job starts. These events are named as SAP_TRIGGER_RDDIMPDP and SAP_TRIGGER_RRDIMPDP_CLIENT.
R3trans – The Transport Control Program:
- R3trans is the SAP system transport program that can be used for transporting data between different SAP systems. It is normally not used directly but called from the tp control program or by the SAP upgrade utilities.
- tp controls the transports and generates the r3trans control files, but does not connect to the database itself. All the "real work" is done from R3trans.
- It supports the transporting of data between systems running on different OS and even different DB.