This action might not be possible to undo. Are you sure you want to continue?
SAP SOFTWARE LOGISTICS
ll changes to the software and customizing, which need to be promoted through an SAP application landscape, are managed through a process known as “Software Logistics.” This SAP term includes all processes and tools that are used to deploy, update, promote, and remove application objects or complete components. There are several processes, procedures, and tools available to the customer in order to achieve this. The most common tool is TMS (formerly known as CTS— Change and Transport System) and it is embedded in the SAP Basis layer.
All programs, screens, menus, texts, master data, transaction data, and configuration data reside in tables. These tables are stored in a relational database, which is hosted by a relational database management system or RDBMS. SAP supports various RDBMS vendors like Oracle, Microsoft SQLServer, IBM DB2 (several versions), SAPDB/MaxDB (formerly known as Adabas/D), and Informix4 (acquired by IBM). The development of programs, screens, and menus for SAP configuration is just changing the content of tables. Therefore, the promotion of these changes through a SAP landscape is just a copy process of table data from one system to another system, or from one client to another client.
Informix database support is only available under special conditions
Figure 4.1: Database tables in SAP.
In case an ABAP program is developed in system D01 and needs to be promoted to the test system A01, a set of tools is used to extract the data from the table that keeps all the ABAP programs (SAP stores all ABAP programs in table REPOSRC). This extraction is downloaded into two separate flat-files at the operating system level and copied from D01 to the A01 system. On the A01 system, the data is uploaded and inserted in the appropriate tables. A similar process is followed for other types of development or configuration data.
SAP DEVELOPMENT OBJECTS
In order to manage all these different objects like ABAP programs, reports, screens and table structures, SAP has organized these objects in classes. Each object is identified by its “Object-Identifier”, which consist of two parts:. The first part is the so-called “PGMID” and the second is the “Object Type”. The “Object Identifier” is used to classify all objects in the SAP system.
The link between objects and their object identifiers is kept in table TADIR, which is better known as the “Object Directory.” This “Object Directory” is used by the Transport Workbench to prepare objects for transportation between SAP systems. SAP has grouped their object identifiers in two main groups: “Whole-” and “Sub-”object identifiers. “Whole” object identifiers are referring to one or more objects that can be transported to another SAP system as a single identity. For example, we can take the “Whole” object “R3TR PROG” object identifier that consists of several sub-objects.
SAP SOFTWARE LOGISTICS LIMU REPS LIMU REPT LIMU VARI - ABAP Report Source Code Text - ABAP Report Description - ABAP Report Variant
We can transport these individual sub-objects separately, however, if we want to transport them together, we just include R3TR PROG into the transport. There are two “Whole-” object identifiers: R3TR, which refer to transportable objects and R3OB, which are application objects. All “sub-” object identifiers start with LIMU. The combination of the PGMID, object type, and object name is unique in the system and stored in table TADIR. For example, ABAP program RSPFPAR is stored in its own unique row in TADIR as “R3TR PROG RSPFPAR.” A complete list of supported object identifiers in SAP R/3 can be found in Appendix A, however, SAP BW does have additional object identifiers that are unknown to R/3. TIP In table TADIR, you will find a PGMID that is called “HEAD” and object type “SYST” and object name “<your database SID.” When you have to reinitialize the Transport Organizer with SE06 or STMS after a database refresh using one of SAP’s system copy guides, this particular row in table TADIR is adjusted.
ABAP is a programming language that is shipped with all SAP software products based on the SAP NetWeaver ABAP AS. The history of ABAP is almost the same as the history of SAP AG itself. ABAP was created as a “reporting” language for SAP R/2, the predecessor of SAP R/3, in the late 1970s. ABAP stood for “Allgemeiner Berichts- und Aufbereitingsprozessor,” which in English means “General Reporting and Preparation Processor.” With the release of SAP R/3 in 1992, SAP also released a new evolved ABAP/4, which stood for “Advanced Business Application Programs/fourth generation language.” SAP R/1 and SAP R/2 were both programmed in Assembler/370 and at that time ABAP was basically a sequence of assembler macros and instructions. In order to overcome some shortages of ABAP, SAP developed ABAP/3, which was a third-generation language extension of ABAP and offered the ability to create business programs and dialog controlled transactions. The programming language ABAP/4 is accessed through the ABAP Workbench, which allows developers to create programs, screens, and menus. The business functionality of R/3, BW, CRM, SRM, and APO is entirely written in ABAP/4. The combination of ABAP/4 language, the ABAP Workbench, and the scalability of the SAP Basis Kernel helped some companies decide to use it as their enterprise development platform. SAP has evolved this to the “standalone” SAP Web Application Server as a runtime platform for general applications. SAP still implements improvements on their ABAP AS. Even now a lot of development effort has been shifted into the Java AS space. ABAP supports object
D010Y. (3) Run transaction SGEN to regenerate all ABAP loads As of SAP Basis release 6.D010Q.D010LINF. Both terms are used by SAP. you have to run SGEN to populate them again. TIP The compilation phase of ABAP programs is known under two terms: generation and activation. compile. Therefore you remove the load inconsistency by just delete all rows from table REPOLOAD only. After the migration. and run an ABAP program.10 and above. the ABAP load tables are not copied over. . using “truncate table” statement. SQL> truncate table SAPR3. The ABAP source is stored in table REPOSRC and all ABAP load is stored in REPOLOAD. More information can be found in SAP Note 668560.D010L.2: Edit. It’s also possible to delete all entries from this table in case of an inconsistency: (1) Be sure all users are of the system (2) Delete all ABAP loads (for Oracle RDBMS): SQL> truncate table SAPR3. When you perform an OS/DB migration using the R3load toolset. the ABAP Source and Load tables have been changed. SQL> truncate table SAPR3.SAP SOFTWARE LOGISTICS 19 Figure 4. SQL> truncate table SAPR3.
Packages are more or less object-oriented development classes. which contains “local” objects.1. Through this mechanism. you can assign “local” objects to a regular development class. and tables. newly created objects can be assigned to it.20 4. However. are delivered with their own development class. screens. Assume your company will develop certain functionality in SAP for business usage. Development classes are stored in table TDEVC and because there is a maintenance dialog available. This applies for both SAP objects and for all customer and partner objects. All these different objects can be assigned to one single development class. SAP has renamed the development class into “Development Package” or just “Package.3 UPGRADING SAP Development Classes All objects in the SAP system are grouped in Development Classes. transactions. The “$TMP” development class is normally used to perform quick development of programs. which are identified by their unique name. can be created using transaction code SE80 in the Development Workbench. obsolete Consolidation system. . development objects that have a logical relationship can be easily managed. Since the release of SAP Web Application Server 6. for example. The TDEVC table has the following structure (most important fields): Field DEVCLASS INTSYS CONSYS CTEXT AS4USER NAMESPACE COMPONENT Type (dimension) CHAR (30) CHAR (10) CHAR (10) CHAR (60) CHAR (12) CHAR (10) CHAR (20) Description Name of Development Class Integration system. These objects are not assigned to a “regular” development class and therefore can not be transported to another SAP system. a package is more than just a new name for development classes. Third-party development objects. so transportation of these objects to other SAP systems is possible. After a “new” development class has been defined. Development classes.” However. obsolete Description of development class User/Creator of development class Name space of development class SAP Component The development class “$TMP” is a special development class. they can be maintained using SM30. Packages can contain other packages as well. certain industry-specific programs. It’s relatively easy to exchange all development objects belonging to one single development class between two SAP systems.10. SAP has extended this mechanism by the introduction of Name Spaces. which consists of several ABAP programs.
SAP SOFTWARE LOGISTICS 21 TIP Assume you’re performing an upgrade of an SAP instance.4 Name-Ranges To make distinction between objects developed by SAP or by its customers. SAP uses this to keep track of all changed objects that are part of SAP standard delivered objects. These individual name-ranges are stored in table TRESC. which is part of a non-existing development. Name-ranges are reserved naming conventions. ABAP report RSWBODVC (as of SAP R/3 release 4. and you need to adjust an object during the upgrade. You cannot use TMS during the upgrade.and object-keys are stored in SAP tables DEVACCESS and ADIRACCESS. Name-Range Y* Z* A* – X* Description SAP partners Customer development SAP developments Example Object Table YINVOICE ABAP ZTEST ABAP RSUSR003 When you create a “new” object in the name-ranges Y* and Z*. however. Name-range also does exist for customizing tables and generated reports. which is a copy of another SAP instance. which can be obtained from the SAP Service Marketplace. 4. All other objects are belonging to SAP. for instance tables or ABAP programs that starts with the letter Z. do belong do the customer. which has the following structure: Field OBJECT TABNAME FIELDNAME KEYLOW IGNOREFLAG GENFLAG LASTNAME LASTDATE Type (dimension) CHAR (4) CHAR (30) CHAR (30) CHAR (30) CHAR (1) CHAR (1) CHAR (12) DATS Description Object type like REPS or TABU Name of customizing table Field in table Name-range.6) offers the ability to create missing development classes. you only need to have a developer access-key. which is used for object-names. you also need an object-key. All objects that start with letter Y are reserved for either customers or SAP partners. SAP has introduced the concept of name-ranges. like Y* and Z* Can name-range be ignored? Generation flag Name of last editor Date of last change . For objects in the name-range A*-X*. Both developer. Objects.1.
When you deploy software (ABAP programs. are stored in table TRNSPACE.5 Namespaces Namespaces are identifiers assigned exclusively by SAP that enable SAP customers. screens.0B. Description BMC Patrol (Trak) objects Legacy Data Migration Workbench SAP BW standard objects SAP BW customer objects Virsa (SAP GRC) An object with the name ZTEST. it’s important to know whether an object is a customerdevelopment object or if it’s delivered by SAP. a significant number of namespaces have been registered with SAP. SAP A. Some known namespaces are: Namespace /BMC/ /SAPDMC/ /BI0/ /BIC/ /VIRSA/ Owner BMC Software SAP A.G. SAP A.1. including SAP’s own namespaces. This is done online using the following URL: http://service. This means custom-created developments are not destroyed. The upgrade will preserve all customer-developed objects during the upgrade and restore it afterward.” . SAP Partners.G.22 UPGRADING SAP For the upgrade. which belongs to a namespace /XYZ/. All installed namespaces. it is possible that this software comes with its own namespace.com/namespace.G. and software products without the risk of name clashes. to develop objects. SAP A.sap. needs to be identified with “/XYZ/ZTEST. The namespace identifier is included as an object in the transport request as well. or tables) from thirdparty vendors. 4. which has the following layout: Field NAMESPACE ROLE LICENSE EDITFLAG SSRCFLAG SAPFLAG GEN_ONLY Type (dimension) CHAR (10) CHAR (1) CHAR (20) CHAR (1) CHAR (1) CHAR (1) CHAR (1) Description Namespace name Role of namespace License key Modifications allowed SSCR dialog box SAP standard delivered Only generated objects allowed Since the introduction of namespaces in SAP R/3 4.G. and SAP itself. SAP namespaces need to be registered with SAP first before they can be used. components.
4. but leaves this up to the user to fill in. Changed values might lead to the creation of duplicate document numbers. sales order documents. These locks are used to protect objects against overwrites and protect the SAP system against . goods movement letters. SAP will use this counter to assign a unique number to this document and increase the value of this counter by one. the end user of some application. which means you can have the same sales order document number in the database. Number ranges within SAP are implemented using Number Range Objects. for example. which are basically kinds of counters. SAP has its dedicated Number Range Objects residing in table NRIV. These different documents are uniquely identified by a document number. Every time a new document is created. For each document in the system.SAP SOFTWARE LOGISTICS 23 4. If the flag EXTERNIND is set to ‘X. HR records. Transaction SNRO includes all Number Range Objects. This NRIV table is client specific. but each belongs to its own client. Playing around with number ranges can be quite dangerous. The table NRIV has the following structure: Field OBJECT SUBOBJECT NRRANGENR TOYEAR FROMNUMBER TONUMBER NRLEVEL EXTERNIND Type (dimension) CHAR (10) CHAR (6) CHAR (2) NUMC 4 CHAR (20) CHAR (20) NUMC 20 CHAR (1) Description SAP logon client Name of Number Range Object Number range subobject value Number Range version Fiscal year for document Start range End range Current number External number range CLIENT (MANDT) CLNT (CHAR (3) ) The maintenance of Number Range Objects is done at two levels as part of the general customizing through IMG (Implementation Management Guide) using transaction SPRO or using transaction SNRO. for example.’ SAP will not create a new document number for you. This document number is just a sequential number that is generated by SAP or assigned by an external source.6 Number Ranges The SAP R/3 database is a large collection of all kinds of documents: purchasing order documents.1. contracts. A number range is assigned to a particular fiscal year and contains both a start and end value.7 Development Locks SAP uses a few flags and tables to store Development Locks.1. a sales order document using transaction VA01. etc.
8 Development Keys In order to develop something in SAP. it will protect this object against overwrites from outside like transports and Support Packages. The TLOCK table contains all locks that are used for objects that reside in Transport Requests. another entry is added to the TLOCK table. and a developer key. and stored in table ADIRACCESS: . The repair flag can be removed using transaction SE03. This means that customer objects are excluded from this mechanism. which is bound to a certain SAP-shipped object. The repair flag is set to ‘X. All tables that are in maintenance status are listed in table TLOCK. When another developer tries to change an object.’ when an object is changed in an SAP system that has not been marked as a “development” system. The object key is only required for SAP objects. When. As soon as a developer creates an object. Table TLOCK has the following structure: Field OBJECT HIKEY LEN EDTFLAG TRKORR AUTHOR LOKEY Type (dimension) CHAR (4) CHAR (120) INT (10) CHAR (1) CHAR (20) CHAR (12) CHAR (120) Description Object type (PROG. the OBJECT field will contain value “PROG” and HIKEY will contain a text similar to “ZTEST yyyyyyyyyyyyyyyy. the developer will get an error message.24 UPGRADING SAP duplicate objects. the object is also added to a transport request. during its creation.1. Developer keys are required for any developer working on the system. When the repair flag is set to an object in the SAP production system. There is a phase in the upgrade process that checks whether there are objects locked in transport requests and whether the system contains repair flags. Only when an object is released in TMS will the TLOCK entry will be removed.” This flag resides in table TADIR in field SRCDEP. The object keys are bound to each object. two keys are required: the object key. which resides in an unreleased transport request so it has its own entry in table TLOCK. SAP uses this mechanism to protect “Consolidation” (quality assurance) and “Integration” (production) systems against modifications. an entry is added to the TADIR table. TABL) Key used in CTS Length of CTS key Special editor required Request/Task Creator of object Key used in CTS If we create a new ABAP program called ZTEST.” The second most important lock in the SAP system is the “Repair Flag. listed in table TADIR. For the transport locks it checks table TLOCK and for repair flags it checks table TADIR. 4.
you just delete all entries from table DEV ACCESS. Figure 4.SAP SOFTWARE LOGISTICS 25 Field PGMID OBJECT OBJ_NAME ACCESSKEY Type (dimension) CHAR (4) CHAR (4) CHAR (40) CHAR (20) Description Object ID (as in TADIR) Object type (as in TADIR) Object name (as in TADIR) Modification key from SAP This mechanism is put in place as an extra hurdle to manage all changes to standard SAP objects. All SAP data is stored in database tables. Table DEVACCESS has the following layout: Field UNAME ACCESSKEY Type (dimension) CHAR (12) CHAR (20) Description User name (as in USR02) Developer key from SAP TIP If you want to prevent any development in your system. will prevent developers from modifying standard SAP again. Deleting all entries from table ADIRACCESS. However. The developer keys are stored in another table called DEVACCESS. BW. These tables are organized at development-view level and from a technical-view level. you have to be sure no new keys can be obtained from the SAP Service Marketplace.3: Data table with its attributes. 4. . after the upgrade. This table might be of help to check what objects have been changed in the SAP system.2 DATA TABLES Data is organized at different levels within the SAP software. APO. Whether it’s R/3. these components are following the same structure. or CRM.
but have an extra logical structure on top. you will see exact the same layout compared with what you see with.26 4.1 UPGRADING SAP Table Types There are several types of tables that SAP supports.2. A fourth table type would be INDX tables that were introduced with the HR module in SAP R/3. for example. but cannot be accessed directly using SQLPLUS or any other database tool. If you look at the table using any database tool. SQLPLUS in Oracle. Most of them are transparent tables. Transparent tables – are tables that have a 1:1 relationship between the SAP Dictionary and the underlying database. This structure is unique to SAP HR and can only be interpreted as such. These table types are: Transparent tables Pooled tables Clustered tables And besides these three table types. Pooled tables – These “logical” tables can be viewed by transaction SE11 or SE16.000 tables in the database. INDX tables are actually transparent tables. you will only see the “table pool” that . If you look at the table definition in transaction SE11.4: SAP transparent table mechanism. An average SAP R/3 instance has more than 10. These are tables containing rows (or records) that are stored in the database. SAP also supports: Structures Views Appends Let us first concentrate on the “physical” table types. Figure 4.
which is a RAW data field.” The DBSL is responsible for accessing these tables from within ABAP programs.SAP SOFTWARE LOGISTICS 27 contains “pooled tables.” The difference is only noticed when the table is accessed using database tools like SQLPLUS or ODBC. This means that an ABAP program does not experience the difference between a “transparent table. In the early days of SAP R/3. Figure 4. SAP designed a mechanism to combine these small tables into bigger tables. not all RDBMS vendors were able to support a large number of tables. such as AT01 and DDSYN. which you can access using SQLPLUS.5: SAP Pooled table mechanism. RAW data fields normally can not be accessed using a database tool like SQLPLUS.” or a “clustered table. Therefore. Data that belongs to that particular table is stored in field VARDATA. An example of this is the ATAB table. This ATAB table contains hundreds of small customizing and control tables. . This was because all customizing of SAP R/3 lies in tables and the number of rows per table can be very small. The mechanism of “pooled tables” was introduced by SAP to support a large number of tables. The structure of a table pool is as follows: Field TABNAME VARKEY DATALN VARDATA Type (dimension) CHAR (10) CHAR (n) INT2 (5) RAW (n) Description Pooled table name Maximum key length Length of VARDATA row Pooled table data itself All the pooled tables are listed in field TABNAME.” “pooled table.
CLKEYN PAGENO TIMESTMP PAGELN VARDATA Type (dimension) CHAR (*) CHAR (*) ……………. which is used by the FI module in SAP R/3. CHAR (*) INT2 (5) CHAR (14) INT2 (5) RAW (*) Description First key field Second key field …………….” Clustering of tables is supported by most of the RDBMS vendors and it’s therefore not a SAP-specific mechanism like “pooled tables. Field CLKEY1 CLKEY2 …………….28 UPGRADING SAP Clustered tables – are similar to pooled tables in the sense that they are also not accessible using database tools like SQLPLUS at the RDBMS level.6: SAP Clustered table mechanism. It contains the table BSEG that contains all financial posting documents. The SAP DBSL layer takes care of the proper access by ABAP programs.” Tables that are clustered do have a common set of keys and therefore “clustered tables” and “table clusters” share a set of data fields. An example of a table cluster is the RFBLG table. Clustered tables are “logical” tables that are grouped together in a “table cluster” or just “cluster.. . Last key field Number of next page Time stamp field Length of VARDATA row Other fields data Figure 4.
Views – are data access objects. Performance of accessing data is the main reason to put tables in a cluster. you have to use ABAP instead or you have to start considering converting the data. This means that if you want to use “external” (third-party or custom written) programs to access this data. and SRM do not contain pooled or clustered tables at the application level. structures. such as views. there are also drawbacks to pooled and clustered tables. However. You cannot access them directly from the RDBMS level. During upgrades it can happen that pooled and clustered tables are converted into transparent tables. However. will only show the fields MANDT and NAME of table T000. Besides “real” tables. APO. and appends. This view. Since the first release of SAP R/3 back in 1992. which offer a certain view to one or more tables.SAP SOFTWARE LOGISTICS 29 Figure 4. SAP also supports “virtual” tables. SAP allows you to convert certain pooled and clustered tables to transparent tables in order to make them more open. It requires a significantly lower number of disk I/Os to access data and therefore it’s purely a performance gain. V_T100. Modern SAP tools like BW. Structures – are memory-only structures that are runtime bound. NAME FROM T000.7: Relationship between BSEG and RFBLG. SAP has reduced the number of pooled and clustered tables significantly. This means that the table structure is created at the initialization step of an ABAP program and is destroyed at the end. first read the appropriate OSS notes before you start using transaction SE14 to do this job. Structures are used to organize and map data in . CRM. Views are constructed using SQL statements like: CREATE VIEW V_T000 AS SELECT MANDT.
EKKO. Each table has a so-called TABART attribute. These are the table delivery types to consider: Table Delivery Types ‘A’ – Application Table ‘S’ – System Table ‘W’ – System Table ‘E’ – Control table ‘C’ – Customizing table Description Example Table Protected against SAP MARA. and deletions that occur during upgrades and Support Packages. import.” we mean SAP Support Packages or SAP Release upgrades. Appends can be added to tables by using include constructions. which does not have to be stored permanently. Appends – are additional fields added to existing tables. 4. 4. Structures are often used in combination with “internal” tables.2 Table Delivery Types Table Delivery Types is a mechanism to protect tables against changes. Internal tables are tables that only exist in memory and can be compared with an ARRAY in Pascal of BASIC or a STRUCT in C. which is an attribute that tells the Software Logistics tool how to treat this table. a new concept of Shared Memory Object was introduced. only insertions With “by SAP.30 UPGRADING SAP programs.2. T001. USR02. The following data classes (or TABARTs) exist in an SAP R/3 system: . As of SAP AS 6.2. overwrites. Each table has a Delivery Type. This shared object is basically a Structure that can be shared between work processes and therefore is not destroyed at the termination of the ABAP program. which assigns the table to a data class. only insertions KNA1 Maintenance by SAP only Maintenance by SAP only CCPROF DD02L SAP and customer do have ATR1 different name ranges Maintenance by customer.40 ABAP. The Delivery Type attribute is stored in table field DD02L.CONTFLAG. TVKO SAP will not change entries in this table ‘G’ – Customizing table Protected against SAP RFCDES import.3 Table Data Classes The “data class” determines the link between the SAP database table and its “physical” or “technical” location.
An SAP R/3 system running on Oracle uses tables TAORA and IAORA to store the link between TABARTs and Oracle tablespaces. The TABART (data class) itself is stored in table DDART and the relationship between a table and the storage container in the database is stored in TA<DB> for tables and IA<DB> for indexes. Indexes are maintained per individual tables by transaction SE11 → Indexes. However. The “main” purpose of secondary indexes is to increase the performance on “transparent” tables during DML operations. it’s therefore important to set a project standard that guides developers to use the correct data classes and thus tablespaces or devspaces. SAP BW offers the ability to drop all indexes for an InfoCube before the data loads and rebuilds them afterward. TIP When a developer creates its own table in SE11. it’s possible to create and use indexes. An index is a separate information container. .4 Indexes In order to improve access times to the data in the database. it’s possible to specify the TABART of this new table. TIP SAP software is shipped with a large number of indexes defined. A table might have one or more indexes defined.2.CONTFLAG contains the value. When an additional tablespace is created with a tool like SAPDBA. or BRTOOLS in Oracle. where “nn” is a sequential number between 0 and 99. Indexes might decrease performance when bulk inserts or updates are done on the database. TABARTs are also used by the R3load tool. The name convention for this is USERnn. which is part of the OS/DB Migration kit and used during upgrade phase EU_IMPORT. an index can only be defined for one table only. it will also create a new TABART for you. which assigns each table to a certain data class. The TABART will determine in which tablespace the table is created. which has its own name and table spaces and contains certain key fields that are sorted. There are two types of indexes: primary and secondary indexes. 4. Only add additional indexes when it’s absolutely required.SAP SOFTWARE LOGISTICS 31 TABART name APPL0 APPL1 APPL2 SLDEF SPROT TEMP USER2 Description Master data Transaction data Customizing data Repository switch Temporary tables User-defined tables TABART name SAUS SDIC SDOCU SLOAD USER1 USER3 Description Exchange tables ABAP DDIC tables Documentation tables Report load tables Source tables User-defined tables User-defined tables Spool and log tables SSRC Field DD02L.
Especially for customizing tables.2. To increase the query performance of the SAP application. is the “table logging” option.5 UPGRADING SAP Table Technical Settings Besides TABART assignments.PROTOKOLL). Before this option can be used. the instance parameter “client/ rec” needs to be set. 4. Technical table settings are stored in DDIC table DD09L. This option allows you to track all changes performed on a certain table.2. ppp ALL Description Table logging switched OFF for entire system Table logging switched ON for this client nnn Table logging switched ON for these clients Table logging switched ON for entire system . mmm.” which is used for table size growth and “Table Logging. you can switch on memory buffering for certain tables. Table buffering settings of tables can be changed using transaction SE11 Technical Settings.” This “table logging” can be used to capture all row changes per table. which is set per table in the SAP system. tables also have other technical settings as well. Important settings are “Table Category. it can be practical to use table logging.6 Table Logging An import flag (DD09L. It is not recommended to use it for application (master and transactional) tables because of the large number of rows. Support values are: client/rec value OFF Nnn nnn.32 4. Tables that will grow fast need to be stored in large table spaces like PSAPBTABD or PSAPSTABD. The PBUFFERUNG and BUFALLOW fields are used to control the table buffering mechanism of SAP. This table contains the following structure (only the important fields are shown here): Field TABNAME TABKAT TABART PUFFERUNG PROTOKOLL TRANSPFLAG ACTFLAG BUFALLOW Type (dimension) CHAR (30) CHAR (2) CHAR (5) CHAR (1) CHAR (1) CHAR (1) CHAR (1) CHAR (1) Description Table name (like in DD02L) Table size category Table data class (like in DDART) Table buffering indicator Is table logging on? Converted to transparent table? Activation flag Table buffering allowed? The “Size category” field is used to indicate the growth rate of the table.
Type of inconsistency ABAP to create DB object The DIFFKIND field indicates the reason for the difference between the DD (Data Dictionary) and the DB (Database): 01 – Mandatory in database. a conversion is required. sequence) in dictionary compared in database 60 – Secondary index needs to be created before the primary index 61 – Table without indexes 99 – Optional object. view…) Name of RDBMS (e. Examples of such tables are D010S (ABAP Source up to 4. DIFFKIND value “99” is applicable for tables that reside in the database for RDBMS management reasons. You can also use SCU3 to delete obsolete data from these tables.5A and higher). These tables are listed in table DBDIFF. Because the data can grow significantly. The structure of DBTABLOG will change. Informix) Table. After a “fresh” install of SAP. such as table MSSQL_LOGIN_INFO on Microsoft . you should only use this option on customizing tables and user-master tables for security audit purposes.6C) and MLICHECK (table with the license key information for SAP releases up to 7.7 Enterprise.SAP SOFTWARE LOGISTICS 33 After the activation of the table logging option. Only for tables where the technical setting “table logging” is switched are taken into account. 4. but not known to the SAP dictionary and therefore DIFFKIND has value “01”. D010L.00). SAP starts to store all data changes in table DBTABPRT (SAP R/3 releases up to 4.g. the ABAP program RADBDIF is executed. especially before an upgrade to SAP R/3 4.. therefore.0B) or DBTABLOG (SAP R/3 releases 4. not in dictionary 02 – Mandatory in dictionary. not in database 04 – Field type(s) difference between database and dictionary 08 – Other definition (fields.7 DBDIFF There are tables in the database that are not known to the SAP Data Dictionary and therefore cannot be accessed by SAP through ABAP OpenSQL. D010Q. should not be checked by RADDBDIF Tables like D010S. It is important to control the growth of these tables. this program checks whether the table DBDIFF is consistent. index …etc. view. Table DBDIFF has the following layout: Field OBJNAME DBSYS OBJTYPE DIFFKIND SOURCE Type (dimension) CHAR (30) CHAR (10) CHAR (4) NUMC (2) CHAR (40) Description Name of DB object (table. The contents of these tables can be viewed using report RSVTPROT or transaction SCU3.2. and MLICHECK are known to the database.
screens.3 CUSTOMIZING OBJECTS Besides physical objects like ABAP programs. through views or logical transport objects (individual table rows or keys).” which means that when you want to configure the controlling areas in your SAP R/3 system. SAP also contains logical objects like “Customizing Objects. For maintenance of the DBDIFF table. . SAP created the DBDIFFVIEW object. which can be edited through transaction SM30. which offers you the ability to see what tables are attached to the object. OBJT (Object Text elements). All customizing objects can be viewed by using transaction SOBJ. and OBJM (Object Method functions). The information that SOBJ uses is stored in several tables: OBJH (Object Header). and tables.34 UPGRADING SAP SQLServer or table PLAN_TABLE on Oracle and DB/2. for example. Table OBJH contains all relevant information for customizing objects (only the most important fields are shown here): Field OBJECTNAME OBJECTTYPE CLIDEP LANGDEP ALEDEP OBJCATEG TRCOMPLETE TRDISJUNCT Type (dimension) CHAR (30) CHAR (1) CHAR (1) CHAR (1) CHAR (1) CHAR (4) CHAR (1) CHAR (1) Description Name of customizing object Type of object Is object client specific? Is object language specific? Is object ALE specific? Object category Object transport must be complete Object is disjunct to other objects The following Customizing object types are known to the SAP system: OBJECTTYPE C L S T V D Description View cluster (transaction oriented) Logical transport object Table with text Individual transaction object View Dummy object (SAP internal usage) The most common customizing object is that of the type “view.” Customizing objects are implemented through several mechanisms. 4.
TKA01. The field OBJCATEG classifies all objects in categories: CUST (client-dependent customizing).” Figure 4. This customizing object links to the following customizing tables T001. SAP.SAP SOFTWARE LOGISTICS 35 using transaction SPRO (Customizing IMG).4 OTHER OBJECTS Next to tables. 4. TKA02. TKA00. The table TKA01 is marked as being the primary table. INFO The content of the SAP delivery clients 000 and 001 are affected by upgrades. language imports and ALE distributions. a SAP system also has several other objects. and ALEDEP indicate how these customizing objects need to be treated by client copies. See SAP Note 129260 for more details. LANGDEP. These other objects are: Search Helps and MatchCode Object – which is a special dictionary object for helping end users find certain documents in the system. APPL (application object). has stopped using match codes in their applications. ABAP programs and screens. TKVS. The new search facilities are based on “Search Helps” and the introduction of an external search and index tool called . CUSY (client independent or cross-client customizing). and TKVST. Objects are managed through the Development Workbench and in particular the Object Browser under transaction SE80.8: Customizing object embedded in IMG. The fields CLIDEP. you’re basically maintaining view V_TKA01_GD. and SYST (system or workbench object). Tables that are created by the customers themselves using transaction SE11 are also listed in here as type “S. SAP only adds or changes values within client 000. however.
Figure 4. A screen is created or maintained through transaction SE51 (SAP Screen Painter). Search Helps are objects that are connected to screen input fields and direct the end user to press F4. Data Model – Under transaction SD11 a case tool resides that offers the ability to create and edit data models according to the ERD-schema technique. Each screen consists of one or more screen numbers. This shows a small dialog box that offers the ability to enter the search criteria. Screen – All dialog screens in SAP are identified as objects. which are connected to each other using the screen flow. These modules are event-handlers written in ABAP and are triggered after a user response. The objects can be accessed through transaction SE11.9: Search Helps are implemented as F4 in input fields.36 UPGRADING SAP T-Rex should eliminate the need for embedded search objects. ©Copyright SAP AG. . Figure 4. The ABAP coding is connected to screen numbers using PAI (Process After Input) and PBI (Process Before Input) modules.10: SAP graphics view of ERD data modeler.
SAP SOFTWARE LOGISTICS 37 Figure 4.11: SAP Screen Painter. ©Copyright SAP AG. Text elements can be created and maintained using transaction SE32. SAP offers the ability to make screen language independent. The possible attributes are: Normal Function module: Can be called with “CALL FUNCTION” statement Remote Function module: This function can be called from within another system using “CALL FUNCTION … USING DESTINATION. This option has four suboptions: Start Immediately: Function module is directly executed Start Immediately. No restore: Same as above. By creating different translations for one text element.” Update Function module: This function code is executed by a UPD or UP2 process asynchronously. The created menu items can be used to start certain ABAP programs and transactions. except for restart option Start delayed: This is a so-called V2 update Collective Run: This is a so-called V3 update Menu – SAP offers a large number of menus. Message – are the text messages.” Function modules are created and maintained through transaction SE37 and contain various attributes. warning or error message. which can be created and maintained through transaction SE41 (SAP Menu Painter). The transaction SE63 is used for translations. All messages are grouped into “Message Classes” and can be maintained using transaction SE91. Function Module – Is a piece of ABAP code that can be called from other programs by using the statement “CALL FUNCTION. Text Element – is an object that can be assigned to a location on a screen. There are four types of messages: . which are shown at the bottom of the SAPGUI screen in case of an information notification.
O. ©Copyright SAP AG. For example. 354825 has been created. a situation around an application or database server that is down. a wrong data entry. The following example displays five times the text “hello world” on the Web browser: <%@page language=”abap”%> <html> <body> <center> <% do 5 times. Error: To inform the user about a recoverable error. such as “P. The BSP is a “dynamic” HTML extension that is using the “ABAP Personality” of the SAP Web Application Server 6.38 UPGRADING SAP Figure 4. For example. %> </center> </body> </html> The page is shown at http://<hostname>:8080/sap/bc/mypage. which is exported from the SAP system using transaction SICF to the ICMan (Internet Connection .12: SAP Menu Painter. BSP – Business Server Pages are SAP solution for server-side scripting.” Warning: Just to inform the user of a “small” issue. Information: Just to inform the user. Abort: A serious error from which SAP cannot recover from. %> <font size=<%=sy-index%>> Hello World! <br> </font> <% enddo.10 or higher.
©Copyright SAP AG. Since SAP R/3 4. . The CTS toolkit can be divided into two components.40 4. and TMS. The CTO contains three different organizers. such as ABAP programs. SAP has added new functionality to the CTS toolkit. It is used to promote these changes in a controlled fashion through a so-called SAP system “landscape. which do contain development objects. SE09 – Workbench organizer: This utility can be used to manage transport requests. which do contain customizing settings. such as SE01. other transaction-codes are available to manage CTO activities: SE01 – Transport organizer. SE03 – Configuration of the CTO. and messages.0A. each with its own transactioncode. screens. which are located at the operating-system level. SE10 – Customizing organizer: This utility can be used to manage transport requests. The second component is called Transport Tools that consists of several executables like tp and R3trans. CTO.14: SAP CTS. called TMS (Transport Management System) and can be accessed through transaction STMS. The first component is called CTO (Change and Transport Organizer) and is located in R/3 and accessible through transactions. SE06 – Creation of a unique SAP instance. and SE09. The CTS is used to manage all development object changes and corrections in the SAP system. Besides these three. SE06. text. SE03.” It keeps track of all development objects and configuration changes by putting them into change or development requests. Figure 4.5 UPGRADING SAP CORRECTION AND TRANSPORT SYSTEM The Correction and Transport System (CTS) is a toolkit that is available in all SAP Components that are based on the ABAP engine.
The transport requests itself are transported through files. table definitions.5. or TMS for short.” and “transport group” all refer to the physical environment. menus.” “domain controller.” All SAP systems that share the same transport directory belong to the same “transport group. texts. Besides a “transport domain controller. the transport directory resides in “/usr/sap/trans. acceptance. A transport request is a container of objects that contain objects (ABAP programs.5. at the logical level. A system landscape consists of multiple SAP component systems like R/3 or BW. and production) within one single transport domain. and a production environment or system.2 Transport Management System The Transport Management System. is a set of tools and procedures that take care of promoting changes and new developments through a SAP system landscape. The “transport domain.SAP SOFTWARE LOGISTICS 41 4. A transport domain is a group of SAP instances that can be managed centrally. a test. transports can still be executed. Each new development object or configuration change is captured in a so-called transport request. However. The functional meaning of such a landscape is the division of a development. The transport domain is managed through a “domain controller. which are logically linked.” which can be NFS exported/imported to other systems in the transport group. These tools offer the ability to setup a change management and control process and should prevent objects being promoted from development to other systems without the correct approvals.” Transport routes define the route transport requests follow through a SAP .” In the case of a system or hardware failure on the domain controller. This goes from setting up a system landscape to the promotion of changes through such a system landscape.” which can be any machine within the landscape. A TMS setup is based on a so-called “transport domain” concept. a variety of tools are available to promote changes from development to the test system and to the production system. The most common setup is to cluster all three SAP instances (development. All transport activities are closely related to both ABAP development and business configuration.” a second instance can be set up as being a “backup domain controller. messages.1 Transport Activities A variety of tasks are related to CTS. 4. we do have “transport routes. In order to keep the production system reliable. or structures) or configuration data. In case transports from different landscapes are managed through one single system. This setup should guarantee the consistency of all development activities. a transport domain can consists of multiple system landscapes. The most common place to put this functionality would be the SAP development instance. In order to fulfill this task a certain deployment setup is developed by SAP. screens. which are stored in the “transport directory.” For UNIX-based SAP systems.
Figure 4. The simplest transport route runs from development to acceptance and further on to production.16: Standard transport route for three system landscapes.15: One transport domain with two transport groups. Figure 4.” for acceptance systems it’s called “Consolidation System.” and a production system is called a “Delivery System.” . The transport layers are part of the TMS setup that can be accessed through transaction code STMS. INFO The “official” SAP terminology for a development system is “Integration System.42 UPGRADING SAP landscape.
All Transport Requests and Tasks are stored in a single table.” A task is a container with “objects. it possible to manipulate the Transport Request numbers. This is usually the development system.5.TRKORR. By modifying the value specified in field E070L.SAP SOFTWARE LOGISTICS 43 4. an ABAP program. For example. from which field TRKORR contains the last released number. task. TIP In some cases it’s nice to make a distinction between Transport Requests belonging to Project #1 and Project #2. it can also have more. where <SID> is the SAP System Identifier of the system where the request is created. however. Bear in mind that both projects should run in sequential order and therefore cannot run in parallel. or a customizing setting. This table. a screen definition. but it can have more. Table E070L contains only two fields. a text translation.” An object can be a table definition. and objects. has the following structure: Field TRKORR TRFUNCTION TRSTATUS TARSYSTEM AS4USER AS4TEXT Type (dimension) CHAR (20) CHAR (1) CHAR (1) CHAR (10) CHAR (12) CHAR (120) Description Request/Task number Request or Task? Status of request in CTS Target system Owner of request Description of request A request or task number has the following naming convention: <SID>K9nnnnn.17: Relationships between request. Each task has at least one object. Each request has at least one task. . E070. The “nnnnn” is a sequential number that is stored in table E070L.3 Transport Requests A Transport Request (also known as a Correction) is a container with “tasks. Figure 4.: all transports D01K900001 until D01K901000 belong to Project #1 and all transports D01K901001 until D01K902000 belong to Project #2.
under transaction SE01. . certain attributes of Transport Requests can be modified. During the “release” function. With transaction SE03. both tasks and the Transport Request first need to be released.18: The initial screen of transaction SE01. ©Copyright SAP AG.44 UPGRADING SAP The objects that reside in a task are stored in table E071. Figure 4. Table E071 has the following structure (only important fields are shown here): Field TRKORR A4POS PGMID OBJECT OBJ_NAME Type (dimension) CHAR (20) NUMC 6 CHAR (4) CHAR (4) CHAR (20) Description Task number Position of object in list Object ID (as in TADIR) Object type (as in TADIR) Name of object Transport Requests can be created upfront by transaction SE01 or on-the-fly when a “new” development object is created or an existing one is changed.and datafile are created. a co. Before objects can be transported through the SAP system landscape.
or added to any of the SAP instances in your landscape is performed by “tp.” TIP It’s important for the Transport Tools tp and R3trans to work with the correct RDBMS shared library.19: Files are created once a Transport Request is released.” is an executable on the operating system level. . The Transport Tools can find this library by using a LIBPATH environment variable: OS AIX HP-UX Solaris (SunOS) Linux Variable Name LIBPATH SHLIB_PATH LD_LIBRARY_PATH LD_LIBRARY_PATH Variable Value /usr/sap/SID/SYS/exe/run /usr/sap/SID/SYS/exe/run /usr/sap/SID/SYS/exe/run /usr/sap/SID/SYS/exe/run The “tp” program uses different methods for this. language imports.” which stands for “Transports and Programs. and upgrades. Either it connects to the database itself or it uses R3trans for this. which calls R3trans to extract the data from the database and writes it to the locations “/usr/sap/trans/data” and “/usr/sap/trans/cofiles.” “TP. Two major programs form the Transport tools: “tp” and “R3trans. imports.” Figure 4. deleted. Or. The transport tools are responsible for all export and import activities during the transport process. 4. as a last option.5.4 Transport Tools The STMS transaction is just a user-friendly shell on top of all kinds of transport tools. This is the primary program doing all uploads.SAP SOFTWARE LOGISTICS 45 The creation of both files is done by tp. which is vendor specific. loading support packages. such as dboraslib for Oracle and dbadb2slib for DB2. and exports of objects like programs. add-ons. In other words. These tools also play an important role during the upgrade of your SAP system. it uses ABAP programs in the SAP system to perform its job. every object that is changed.
The “tp” program calls R3trans directly via a fork() system call. DD03L. the information about the transport request itself is loaded into the target system. this step is skipped. Step 3. which should be scheduled in the SAP system waiting for an event. 4. If the transport request does not have table information. information about the layout or structure of the new tables. ABAP programs are started indirectly by using “sapevt. regardless of its contents the following steps are performed on the target (or receiving) system: Step 1. Main Import – During this phase. rows or records are loaded from the transport request data file into the relevant tables in the target SAP system by using R3trans. This phase will also import the ABAP source (which resides in table REPOSRC) into the target system. Command File Import – During this step. If the transport request does not have table information included.5 Transport Steps When an import is done for a particular transport request. The RDDIMPDP program is scheduled in the SAP system using the RDDNEWDP program. Updates are done on tables E070 and E071. this step is skipped. or table structure changes is loaded in the SAP system and stored in tables like DD01L. DDIC Import – During this step.5. Step 2. Activation – During this step. Step 5. DD02L. and DD04L. Match Code Activation – This “special” phase is only performed if match code objects are included in the transport request. Step 4.20: Three methods of “tp” accessing the database.46 UPGRADING SAP Figure 4. . all new tables or table changes are activated.” The “sapevt” program triggers the RDDIMPDP (Import Dispatcher) ABAP program. This phase is skipped in cases where there are no data rows to load.
the import is performed during this phase. Figure 4. These ABAP programs are executed by “tp” though the “sapevt” program. The information in the cofile is used to determine the sequence of the ABAP programs.” various other ABAP programs are executed during the import. are used as a communication channel between “tp” and the ABAP programs. additional programs run in batches that modify data tables. By using “tp showbuffer” you can list all required steps per transport request. Besides these nine main steps executed by “tp. such as SAPScipt Forms. all version data is updated in the system. This provides the ability to back out to older versions of programs and definitions. The “tp” tool uses the cofile to prepare the import of the transport request into the SAP system. Each transport request consists of two files: the cofile (control file) and the datafile. which represent the steps that are performed in the SAP system during an import. The control tables contain certain values. Step 9. . Two control tables within the SAP system. Step 8. It’s very easy to determine up front what steps will be executed for a transport request. XPRA – Execute Programs After Put / Import – In this phase. This step is only executed when ABAP source code is included in the transport request. ADO Import – When application-defined objects. are included in the transport request. Step 7. and table row data. named TRBAT and TRJOB. Version Management – During this phase. screen definitions.21: “tp” calls “sapevt” to start ABAP programs. such as ABAP source. The cofile contains metadata about the transport request and the data file contains all data.SAP SOFTWARE LOGISTICS 47 Step 6. Generate – During this phase all ABAP programs or function modules are generated or compiled from ABAP source code into ABAP byte code.
clidep – Whether table is client dependant or not buffered – Whether table is buffered in memory DD02T Table texts.6 DDIC Import The DDIC (Data Dictionary) Import phase is used to import information over information. For example. Several tables in the SAP system contain information about each table. the so-called metadata. RDDMASGL. the information about the layout of this table is imported into the SAP system. if the transport request contains a new table. fields are: tabname – Name of table ddlanguage – Language key ddtext – Text itself . APPEND) CLUSTER. 4. responsible for both table imports as ABAP compilations.5. POOL. which does all the data conversions.48 UPGRADING SAP Function Code X J B S N M Y O D V R G Job Name RDDDIC0L RDDTACOL RDDDIS0L RDDGEN0L RDDGEN0L RDDGEN0L RDDDIC1L RDDVERSL RDDEXECL RDDDIC3L ABAP Program RDDDIC0L RDDTACOL RDDGENBB RDDGENBB RDDGENBB RDDGENBB RDDDIC1L RDDVERSL RDDEXECL RDDDIC3L Description ADO export Mass activation TACOB activation Distributor Import conversion Mass activation for enqueue Matchcode conversion Batch conversion ADO import Create version information XPRA execution ABAP generation (compilation) RDDMASGL RDDMASGL RDDMASGL RDDMASGL The following ABAP programs can be distinguished: RDDDICnL. VIEW. and RDDGENBB. fields are: tabname – Name of table as4local – is table activated? tabclass – Data class table belongs to (TRANSP. Table Name DD02L Description Table header information. INTTAB. which does the table activation.
fields are: rollname – Name of data element domname – Which domain the data element belongs DD09L Table technical settings. fields are: tabname – Name of table tabkat – Category of the table tabart – Data class table protocol – Whether table logging is switched on The SAP table relationship model on tables and it fields. can be illustrated as follows: Figure 4.SAP SOFTWARE LOGISTICS 49 DD03L Field information. . fields are: domname – Name of the domain datatype – Type of domain length – Length of domain in bytes DD04L Data elements.22: Relationship model for SAP tables. fields are: tabname – Name of table fieldname – Name of field keyflag – Whether field has a key checktable – Pointer to check table position – Relative position of field in table DD01L Domain information.
23: Table activation phase. Figure 4. which means an entry in the inactive nametab (table DDXTT and DDXTF) is created.7 UPGRADING SAP Activation and Distribution After the information about new tables is imported. . In step  the table TAB01 is adjusted through transaction SE11 and an additional field is added. The entire process of table activation. The runtime object is the “transparent” table in the SAP database. In step  the original table TAB01 (DDIC. the new table definition needs to be activated. This six-step example will show the activation of a table that is revised with an additional field. The nametab object is information about the table that is used by the DBSL (Data Base Software Layer) to generate SQL code during ABAP program execution.50 4. with and without data. In step  the table is activated. and conversion can be illustrated by the following example. distribution. The definition in the Data Dictionary was already described previously. The nametab itself consist of two tables. This object can be accessed with SQL statements. and runtime object) is shown. (2) a nametab object. or in cases where existing tables have been updated. namely DDNTT (Table header) and DDNTF (Table fields). Each table has three different objects in the SAP system: (1) the definition in the Data Dictionary. and (3) a runtime object. In step  the distributor will determine what conversion method to use: (1) conversion through shadow table QCM<tablename> and a conversion ABAP program or (2) just a drop/re-create or other SQL statement. nametab.5.
table QCMTAB01 is dropped and new indexes are created. a conversion will be performed. such as in step : Figure 4. Through an ABAP program.24: Table distribution phase. The conversion phase first renames the table TAB01 to QCMTAB01 and creates a new table TAB01 according to the new layout.SAP SOFTWARE LOGISTICS 51 Figure 4. In case TAB01 contains data that needs to be kept. The result of the “distribution” phase is stored in either table TATAF or TBATG (Table for Batch Conversions). all data is read from table QCMTAB01 and after conversion inserted into table TAB01. After the process is finished.25: Table conversion phase. .
The XPRA reports always run in a batch or background work process.52 UPGRADING SAP In case TAB01 is empty.5. the distributor will adjust the table in the database by using conventional SQL statements DROP TABLE/CREATE TABLE or ALTER TABLE. which are affected by the change of certain ABAP programs. The execution of XPRA reports is an essential part of the elapse time of upgrades and the implementation of Support Packages. In order to do this you have to run ABAP report RSXPRAUP and enter the transport request. “Move nametab. Report AGR_XPRA_REGENERATE_SAP_NEW is taking care of the SAP menu items after the upgrade to a higher version. This conversion is different from the table conversion related to table layout adjustments.” 4. The “tp” tool uses the RFC mechanism to see whether the job has completed successfully or not. In cases where a severe error occurs and a descriptive SAP note tells you to ignore the message. you’re able to exclude the XPRA from the upgrade or Support Package. which contains this . This looks like step .26: Table Move nametab phase. Examples of XPRA reports are: Report RSA1XP04 ensures that the status information for connections to SAP BW systems is set to “inactive” in the RSASIDOC table.” Figure 4.8 Running the XPRA Job The XPRA (Execute Report After Put) is a general set of ABAP programs that take care of master data or customizing data conversions. This “move nametab”-phase is executed by program “tp.
Client 000 – SAP Reference Client The “SAP Reference Client” is shipped by default in any SAP system and contains a copy of all default SAP customizing settings. new default settings are written to this client. The client “000” is empty. this client was also used to apply Support Packages and to correct Data Dictionary changes through SPDD and SPAU. The name of the transport request can normally obtained from the error log . .) No master or transaction data (application data) Default settings for all customizing objects Examples of organizational units (company codes.) During SAP release upgrades. and certain validation and substitution rules. which may overwrite or replace existing ones. controlling areas. Client 001 remains untouched during the implementation of Support Packages or a SAP release upgrade. The only major difference between client 000 and client 001 is the existence of additional example customizing in client 001: tax rules. Client 001 – Production Preparation Client The “Production Preparation Client” is identical to the client 000 “SAP Reference Client. In the past. 001. INFO For more information on the subject of excluding XPRA programs. TIP You should not make changes to client 000 as it may be overwritten by applying Support Packages or during SAP release upgrades.SAP SOFTWARE LOGISTICS 53 XPRA. It contains sample entries for organizational structures and other module-specific customizing. etc. business area. purchase organizations. The SAP Reference Client contains settings like: Tables with default settings. sales areas. see SAP note 122597.ELG.6 CLIENT COPIES After a “new” SAP R/3 installation. sample charts of accounts. (The content of these tables are independent of the organizational units.” which means that table entries (rows) are similar. the SAP system is only delivered with the socalled delivery clients: 000. 4. It is primarily used to manage Data Dictionary objects. which means that there is no master or transaction data stored in this client. and 066.
. and start numbering clients used by the customer at 100 and above.54 UPGRADING SAP Client 066 – EarlyWatch Client The “SAP EarlyWatch Client” is exclusively used by the “SAP Global Active Support” organization to run “GoLive” and “EarlyWatch” reports.28: SAP client landscape example. Figure 4. This client only contains user-master records and authorization profiles. To prevent customers from using client 000 and 001 for productive usage. When a client copy is done. or through an entire client copy. SAP provides the ability to create new clients and copy client-specific content from one client to the other. A typical client layout would look like this: Figure 4. SAP offers the ability to do this even between different SAP systems.27: “Local” client copy versus “Remote” client copy. SAP supports different methods to copy content between clients: per table basis. per group of tables. The recommendation would be to leave all client numbers between 000 and 099 exclusively to SAP.
it is easier to refresh instances by making use of complete database copies. Quality Assurance.SAP SOFTWARE LOGISTICS 55 This example with three SAP instances. it’s recommended to use: Figure 4. therefore. for these systems. SEM. Otherwise you have to run multiple BW systems in order to support multiple clients in R/3. And lastly we have the production instance with one single “production” client. it’s not possible to have multiple clients in one single SAP instance. The “Gold Config” client contains the initial content before a new development life cycle is started. The client copy process itself consists of four major steps: (1) Manual preparation This step is executed by the system engineer and consists of the addition of the new client to the client table. The QAS instance contains three clients for the acceptance process of development and customizing (test against production data). development of reports and transactions. or APO. such as 100-100-100. TIP In cases where the client numbers are kept the same throughout the landscape. if required. and testing. it’s important to keep the client numbers the same in case you would like to use “entire database copies” for system refreshes. For SAP applications that make use of InfoCubes. In this case it’s possible to use one development and test client in BW for multiple development clients. There is a separation of clients for business configuration customizing. unit testing (both integration testing and data conversion testing). TIP When designing new InfoCubes. named Development. development of interfaces. and a separate training client. such as BW. In some cases it is recommended to have a separate SAP instance for training purposes.29: SAP client landscape for InfoCube-based applications. followed by the configuration and scheduling of . Also. and Production contains nine clients. add the source-system info-object as field.
FIELD-B . TABNAME.FIELD-B = TABNAME. ……………………. However. TABNAME. (4) Postprocessing During the “postprocessing” phase certain XPRA programs are executed.6C or RSCLCCOP for higher releases. it first creates a list of all tables that need to be copied.FIELD-C . only the client number (TABNAME. The SQL statement look likes this: LOOP FOR ALL TABLES in DD02L do IF DD02L. CCCFLOW. the table will be copied unless the table is added to the client copy exception table by the system engineer. Also. which is based on SCC3 and SCCL. which will eventually execute reports RSCLICOP for SAP R/3 releases below 4. This table. The client copy process is executed through transaction code SCC1.MANDT = TARGETNUMBER . each row of the table belonging to the source client is copied over to the target client. a list of XPRAs is created that are executed after the copy process. The steps executed by a client copy are stored in table CCCFLOW. which can take hours.56 UPGRADING SAP the client copy. ) ENDLOOP ENDIF ENDLOOP So the copy process is a copy loop for rows into a copy loop for tables. If table field DD02L.MANDT) is changed. TABNAME.FIELD-A . (3) Actual copy process During this step. The output logs of the client copy can be viewed using transaction code SCC3.FIELD-A = TABNAME. Besides using the “internal” client copy method.CLIDEP = “X”.FIELD-C = TABNAME. (2) Initialization When the client copy is actually started. The engineer also has to take care of the database in terms of space requirements. . it’s also possible to use R3trans.CLIDEP=’X’ and TABNAME not in ClientCopyExceptionTable do LOOP FOR ALL ROWS in TABNAME where MANDT=SOURCENUMBER do INSERT VALUE (TABNAME. contains several fields to control the process. it’s not recommended to use R3trans for “internal” client copies. So the copy is within the same table.
and CDHDR.1 Remote Client Copies The process of a “Remote Client Copy” is similar to the “Local Client Copy” except for a few differences. The R3trans method works slightly different. Later versions are able to copy tables in parallel. These tables are used by the ALE engine. This method uses two command files. # R3trans export – called: exportclient100. CDPOS. one for export and one for import.r3t export client = 100 file = ‘/usr/sap/trans/data/clientexport100. In order to run the SCC9 client copy over parallel RFC links.SAP SOFTWARE LOGISTICS 57 Tables can be excluded from the client copy process using report RSCCEXPT. certain RFC groups need to be put in place. which offers the ability to add tables to a list of tables that are skipped during the client copy process. The first method is based on transaction SCC9 – Remote Client Copy. INFO For more information on client copies. This process uses an RFC connection between the source and target system. there are multiple ways of doing a “remote” client copy.dat’ use commandfile=’/usr/sap/trans/cofiles/<COMMANDFILE>’ .6. The second method works with R3trans.30: Remote client copy using SCC9 RFC. The second option is to use R3trans instead of transaction SCC9. have a look at SAP Note 552711—Client Copy FAQs 4. There are tables you might consider excluding from the client copy like CDCLS. The SCC9 Remote Client Copy function has significantly improved over time. Figure 4. First of all. The initial release of the SCC9 functionality was only able to copy tables remotely in sequence.
please have a look at SAP Note 1942.dat’ select * from EKPO TIP For more information on the various aspects of using R3trans to export clients or individual tables.log target-host> cd /usr/sap/trans/bin target-host> R3trans importclient200.58 UPGRADING SAP Figure 4.31: Remote client copy using R3trans manually.r3t The tool R3trans can also be used to copy individual tables over from one system or client to another. all logs are written to r3trans.r3t copy over all files to target system.r3t import buffersync=yes client = 200 file = ‘/usr/sap/trans/data/clientexport100. . # R3trans import – called: importclient200. # R3trans export – Called: EKPO (client 100 only) table copy export client = 100 file ‘/usr/sap/trans/data/tableEKPOcl100.dat’ First export on source system: source-host> cd /usr/sap/trans/bin source-host> R3trans exportclient100.
. Support Packages are bound to the SAP release and add-ons used in the system. In order to support ABAP programming in an MPC environment. Transaction MCLIMAN is one of them. These ABAP source code corrections can be applied manually using the SE38 ABAP editor. when they were still called Hot Packages. SAP never added new functionality into it.0A. Fixes in Support Packages. however.40. The entire Euro Conversion kit was shipped through Support Packages. each belonging to a specific SAP R/3 release. although you don’t change the SAP release. also known as OCS (Online Correction Support). However. The reason behind this strategy change is the so-called “ASP” (Application Service Provider) market. and training.7 SUPPORT PACKAGES Support Packages. Since SAP R/3 3.72 Support Package level 5. Today. the delta upgrade has been replaced by the so-called “repository switch” method. 4.6. are a set of bug fixes that eliminate errors in the SAP system. this option was not supported for production systems and was only used in non-production systems such as development. SAP introduced Support Packages as of SAP R/3 release 3. it can happen that a certain bug resides in several R/3 releases and therefore needs to be fixed in all those releases.2 Multiclient Manager As of SAP Web Application Server 6.0A as an addition to release upgrades. Individual bug fixes are also described in OSS notes. This means that if you upgrade an R/3 4. it’s more efficient to use “SNOTE – Note Assistant” or wait until SAP releases a new bundle of Support Packages. However. SAP started to support the MPC facility.32 illustrates the location of a certain bug fix in several different Support Package bundles. MPC. you might partially downgrade the system. The ASP term is now also known as SaaS (Software as a Service).SAP SOFTWARE LOGISTICS 59 4. are not necessarily bound to SAP R/3 release.6C Support Package level 20 system to R/3 4. which are known as Source Code Corrections. where different business applications from different companies are transparently hosted on a limited set of SAP instances. offers you the ability to run multiple clients on one SAP system. additional functionality may be added to a Support Package. In the early days of Support Packages. applying Support Packages can be compared with a delta upgrade. or Multiple Production Clients. SAP offers a set of tools and programs to prevent conflicts. Until SAP release 6.40. Figure 4. acceptance.
0A and covers all functional and Basis modules. Normal Support Packages are not aware of these modifications and will overwrite them. such as fixes for the Batch Engine. (3) Conflict Resolution Transports – This Support Package is basically a fix for modifications of standard SAP.60 UPGRADING SAP Figure 4. or table fields. Has been replaced by SAP_APPL. CCMS. such as adding additional screens. . and SAP_HRP. (4) SAP_APPL – This Support Package type contain fixes for all SAP R/3 modules except HR (Human Resource). such as IS-Oil or IS-Hospital (IS-Heath). with the introduction of SAP R/3 4.7 Enterprise.32: Bug fixes can reside in several Support Packages. (5) SAP_BASIS – This Support Package type contains only fixes that belong to the Basis layer. these add-ons may modify certain core R/3 objects. When a customer uses a certain R/3 add-on. and User Management. Since SAP R/3 4. (2) Legal Change Packages – This type of Support Package is only applicable for an R/3 system running the HR module. Legal Change Packages (LCP) and Conflict Resolution Transports (CRT). SAP_ABAP.1H and has been replaced by SAP_HRP packages. SAP_ APPL. It was introduced in SAP R/3 3. programs. the Support Package structure has changed again.6A even more Support Packages have been introduced: SAP_BASIS. 4. SAP_BASIS. And last but not least. CRTs are additional transports that need to be added to the Support Packages in order to prevent such overwrite. and SAP_ABAP. (1) Hot Packages – This type of Support Package was introduced in SAP R/3 3.1 Support Package Types SAP has released several different kinds of Support Packages: Hot Packages (HP).7.
4. CRTs contain corrections on top of Support Packages that apply to add-on modifications made to standard SAP. SPAM has a variety of tools to accommodate the load of Support Packages: (1) EPS – Electronic Parcel Service.3 Conflict Resolution Transports If your SAP system also contains add-on components. (3) Import Tool – The actual tool that does the load of the Support Packages into the SAP system. you need to take care of Conflict Resolution Transports. provides the ability to load all kinds of Support Packages from various sources.2 SAP Patch Manager The SAP Patch Manager. This toolset. TIP Always update your SAP Patch Manager with the latest SPAM update before you apply new Support Packages into your SAP system. In other words: not all Support Packages can be combined in one queue. The queue can contain a mix of different Support Package types. (4) SPAM Update Manager – This tool is used to patch the SAP Patch Manager itself. 4. or CRTs for short. TIP Always check the appropriate OSS notes on the exact SPAM Queue layout. . SAP_APPL. and CRTs. as of now called SPAM. whether it’s R/3. can be invoked by using transaction code SPAM. CRM. There are restrictions around certain combinations of Support Packages. BW.7. The EPS stores all downloaded SAR (SAP archive format) files in “/usr/sap/trans/EPS/in. (7) SAP_HRP – This Support Package type contains only fixes for the HR module and is therefore the successor of the LCP Support Package type. file systems. or APO. also known as SPAM. such as Industry Solutions. such as SAP_BASIS. SAP_HRP. the Internet.” (2) SPAM Queue – This queue needs to be prepared before the actual load of the Support Package occurs.7. so all SE-related transactions. and desktop into the SAP system. such as CD-ROMs. can be used to download Support Packages from OSS or the SAP Support Marketplace. This tool is used to implement Support Packages in all ABAP-related SAP applications.SAP SOFTWARE LOGISTICS 61 (6) SAP_ABAP – This type of Support Package type contains only fixes that are related to the ABAP Development Workbench and other development tools.
” . will overwrite this modification. CRTs are no longer required.0. the transport tool “tp” checks whether it is able to connect to the database. the CRT will correct this. located in “/usr/sap/trans/ EPS/in. (3) DISASSEMBLE – In this phase all EPS packages.62 UPGRADING SAP Figure 4. TIP Always check whether a system contains any add-ons by using transaction SE16. however. Therefore.33 illustrates the modification of Core R/3 by an add-on. such as ISOil.7. such as authorization checks. and a check if previous Support Packages are “confirmed. As of SAP ERP2005 or ERP 6.4 Support Package Import Phases After downloading Support Packages from either a CD-ROM or the Internet (using the SAP Download Manager) into the EPS directory. certain checks are done. the import queue can be defined.” are extracted into individual transport files (both co. Table Browser. check all OSS notes related to any add-on described in this table. 4.and data-files) and stored in “/usr/sap/trans/cofiles” and “/usr/sap/trans/data. This “regular” Support Package. The import phases will use this import queue as the source for all Support Package imports. all industry solutions are embedded in the core release of SAP.33 CRT prevents overwriting of add-on modifications. Also.” (2) CHECK_REQUIREMENTS – During this phase. Figure 4. To prevent that from happening. SAP has introduced many more add-ons besides Industry Solutions. SPAM executes the following phases during the import of Support Packages: (1) PROLOGUE – During this phase. and then check the table “AVERS” (add-on version table).
SAP SOFTWARE LOGISTICS
TIP Be sure that your “/usr/sap/trans” filesystem is large enough to hold both EPS and extracted co- and datafiles. Certain Support Package bundles can become very big. (4) DISASSEMBLE_PATCH – During this phase, “tp” will create co-files of every datafile shipped with the Support Package. The exact statement is: “ tp createcofile –s <datafile> ” (5) ADD_TO_BUFFER – In this phase, all transports shipped with the Support Packages are added to the transport buffer. The exact statement is: “ tp addtobuffer <change request>” (6) TEST_IMPORT – During this phase, all open repairs and change requests are checked for objects that will be replaced during the import. (7) IMPORT_OBJECT_LIST – During this phase, a list of all objects that are shipped with the Support Packages are imported in the system. The list is used to check whether there are conflicts between modifications, add-ons, and these shipped objects. (8) OBJECT_LOCKED_? – This phase checks if objects that will be replaced are locked in a transport request. (9) SCHEDULE_RDDIMPDP – This phase will check whether RDDIMPDP is scheduled as a periodic job. If not, it will schedule this job. (10) ADDON_CONFLICTS_? – In this phase, the list, created in “IMPORT_ OBJECT_LIST,” is used to check for conflicts between import objects and any of the installed add-ons. (11) SPDD_SPAU_CHECK – During this phase, a list of modification adjustments is made and stored in a table that is later presented in transactions SPDD (for Data Dictionary modifications) and SPAU (for ABAP modifications). (12) DDIC_IMPORT – In this phase, “tp” will import all Data Dictionary objects into the system. (13) DELETE_FROM_BUFFER – This phase will clean up import buffers. (14) AUTO_MOD_SPDD – During this phase, SPAM will check whether certain Data Dictionary object modifications can be adjusted automatically. (15) RUN_SPDD? – This phase will prompt you in case adjustments need to be made in transaction SPDD. (16) IMPORT_PROPER – This phase, with the longest elapse time, will do the import of all Support Packages. This phase is primarily executed by “tp” and follows the same steps as an “ordinary” import request: (a) Command File import (b) DDIC import (c) Activation (d) ADO imports (e) Conversions
UPGRADING SAP (f ) Version updates (g) Execution of XPRAs (h) Generation of ABAP programs and screens (17) AUTO_MOD_SPAU – Same phase as AUTO_MOD_SPDD, except this time it’s for ABAP programs and screens. (18) RUN_SPAU? – This phase will prompt you when modifications to ABAP programs and screens need to be adjusted. However, due to the fact that ABAP objects can be handled with versions, you may ignore this phase and sort this out at a later stage. (19) EPILOGUE – In this phase, some administration and control tables are updated with the correct version information. After applying the Support Packages using SPAM, the administrator needs to “confirm” the patch queue. The only remaining task is to sort out the SPAU list.
Figure 4.34: Transaction SPAM (Support Package Manager).
©Copyright SAP AG.
Support Packages in R/3 Enterprise
SAP has changed the way modules are organized in R/3 Enterprise. Certain functionality has been moved from core R/3 into the so-called “Extensions.” These extensions are grouped into “Extension Sets.” Therefore, by disconnecting certain functionality from Core R/3, a new group of Support Packages is introduced as well.
SAP SOFTWARE LOGISTICS
Figure 4.35: Different Support Packages in SAP R/3 Enterprise.
Figure 4.35 shows the different component layers of an SAP R/3 4.7 Enterprise system. The second box illustrates the different Support Packages and their interrelationship with SAP R/3 4.7. Besides these new extensions, the number of plug-ins has also been increased. Because applying Support Packages to an SAP R/3 Enterprise system has become more complex, SAP has developed the SPAM Queue Calculator. This tool will calculate the ideal combination of Support Packages in order to prevent conflicts. The second new feature of SPAM in R/3 Enterprise is the “Support Package Shadow Import.” This feature will reduce the SAP application downtime caused by the import of Support Packages. The idea behind this feature is to import, activate, and convert all objects belonging to the Support Package into a shadow repository and, at the end of all phases, switch to the new coding.
Figure 4.36: SAP Support Package Shadow Import.
©Copyright SAP AG.
This new feature provides the ability to reduce SAP application downtime during import of Support Packages by about 60% when compared to the old
” 4. Due to this significant savings. SAP recommends implementing these SP Stacks regularly. SP Stacks should be seen as an entity unto themselves – customers must obtain the minimum requirements and dependencies between individual components. The intention of SP Stacks is to offer better mechanisms to apply support packages to complex systems that contain a lot of different components. Figure 4. ©Copyright SAP AG. This is shipped as part of a SPAM update. The technology for applying Support Packages and patches will not change.6C as well.7. SP stacks are released synchronously. Therefore.6 Support Package Stacks The SP (Support Package) Stacks are sets of Support Packages and patches for the respective SAP release and must be used in the given combination. . The method described here is similar to what we know from SAP release upgrades as the “Repository Switch. the system will switch from the “existing repository” to the new “shadow repository”.66 UPGRADING SAP method.37: SAP Support Package Stacks.” After the entire Support Packages are imported into the “shadow repository”. SAP has decided to downgrade the functionality to SAP R/3 4. and apply the Support Packages and patches specified in the SP Stack together. especially when the Import Queue contains all kinds of CRTs for plug-ins and other add-ons. The method is relatively easy and based on a set of tables that form the socalled “shadow repository” and are created in parallel to the existing “repository. Downtime savings are achieved. This switch is the only phase that requires application downtime.
either by Internet Explorer or by the SAP Download Manager.7 Support Packages as of NetWeaver 7.0.0 With the introduction of SAP NetWeaver 7. The only requirement was to have access to the download section. With the options of embedded installations (also known as MCOS – Multiple Components in One System) you can expand the installation functionality even more. due to the complexity and number of different Support Packages. This is done through a tool called the Maintenance Optimizer.0 system. SAP has decided to control the download through the SAP Solution Manager. Therefore. Figure 4. The SAP ECC 6. SAP has decided to help administrators in this task by supplying tools. which is based on SAP Application Server 7. consists of a core system (formerly known as R/3) and various add-ons and industry solutions. which is the central core component of the SAP ERP 2005 Business Suite.0 component. ©Copyright SAP AG. Now that all the industry solutions are embedded in our SAP ECC 6. The implementation of Support Packages to an SAP ECC 6. Once these components are activated or added to the SAP system they become subject to patch and change management.0 system can be quiet complex. Support Packages were directly downloaded through the SAP Support Marketplace.00. SAP introduced a new concept for deploying Support Packages. the number of components has grown significantly. Both the SAP Maintenance . However.7.SAP SOFTWARE LOGISTICS 67 4. In the past.38: SAP ERP 2005 components.
39: mySAP ERP 2005 Business Suite Support Package Stacks.68 UPGRADING SAP Optimizer and the SAP SLM (Software Lifecycle Manager) are examples of such tools.7. Secondly. . regardless of the number of Support Packages. however. all objects are first imported into the SAP system. All import steps are performed in sequential order for all objects in the queue.8 Tables Used with SPAM The SAP Patch Manager uses various tables to keep track of progress.9 SPAM Queue Conflicts Not all Support Packages can be combined in one single queue for import. all objects are activated and at last all data for these objects is imported. 4. This means that for all included Support Packages. ©Copyright SAP AG. The tables are in the PAT*name range: Table Name PAT00 PAT01 PAT02 PAT03 PAT07 PAT09 TEPSIN Patch steps Patch status Conflicts between patches and add-ons Patch directory Patch prerequisites Patch history EPS bundle inbox Table Description TIP These tables contain some nice information you can use in case of problems. status of each step. So each step is only executed once. and history of all applied patch bundles. 4. Figure 4. it is strongly recommended not to change the contents of these tables yourself.7. The reason for this is caused by the way SPAM works.
data elements. it will first import all SP1-specific data and then import SP2-specific data. however. This can all be prevented upfront by importing all Support Packages in batches. expects this “new” field to be there. In this example the error occurs in the TABIM phase. In order to save costs on CD-ROM media. which do not have conflicts.” The SAP Download Manager is a J2SE (Java 2 Standard Edition) based tool that runs on your PC and connects to SAP through the Internet using HTTPS. Search for the term OCS or OSS to find all these relevant notes. Assume we have a table TABX that is modified in SP1 by adding a new field to it. the table will lack the “new” field. Figure 4.10 SAP Download Manager There are several ways to obtain the Support Packages: (1) using transaction SPAM. The SP1-specific TABIM phase. 4.SAP SOFTWARE LOGISTICS 69 However. So the “INSERT” statement will fail due to a missing table field. This extra field. You first need to add the requested OCS packages to the “download basket. (2) by connecting to the OSS SAP system in Walldorf. As soon as the TABIM (table import) phase starts. and table fields. SAP has introduced a third source for your OCS bundles: “The Internet. Information about possible conflicts between Support Packages can be found in the relevant OSS notes. is removed again in SP2. Because SP2 is applied after SP1. although in most cases the error occurs in the ACT phases when there is an incompatibility between domain definitions. or (3) by requesting for the so-called OCS Bundle CD-ROMs.40: Error in TABIM phase due to missing fields.7. however.” . it is possible that changes or modifications to certain objects are included more than once.
this process has changed (see Section 4. the number of components has dramatically increased and therefore the number of different patches has also increased. By using the SAP Maintenance Optimizer (MOP) the support team can locate the required patch files much easier.0.8). The MOP is implemented as a component inside the SAP Solution Manager and deployed through a Support Package. 4. The MOP tool is accessed through Transaction SOLUTION_MANAGER → Select Solution → Change Management . entire installation and upgrade kits can be obtained using the SAP Download Manager.41: Screen-shot of SAP Download Manager. Besides Support Packages and kernel patches. As explained in the previous section. With the introduction of NetWeaver 7.70 UPGRADING SAP This basket is part of the OCS Patch area on the SAP Service Marketplace.8 SAP MAINTENANCE OPTIMIZER In order to keep the Total Cost of Ownership (TCO) low for implementing Support Packages and patches on the SAP NetWeaver and Business Suite. So first use the “ordinary” Microsoft Internet Explorer Web interface for selecting the packages and add them to the download basket. and use the separate SAP Download Manager to really download them to your PC. SAP has released a tool that helps to determine the right patch sets. Figure 4.
©Copyright SAP AG. the MOP tool is invoked by pressing the “Maintenance Optimizer” button.SAP SOFTWARE LOGISTICS 71 → Support Package Stacks.42: SAP Maintenance Optimizer in Solution Manager. This will show a screen with all the components in your landscape. ©Copyright SAP AG. This will bring up the guided procedure for obtaining the right Support Package. A properly installed and configured SLD is thus a requirement for using the MOP. After the selection of the system. .43: SAP Maintenance Optimizer download wizard. The MOP is using the SAP Landscape Directory (SLD) to obtain this information. Figure 4. Figure 4.
which was one of the first IS-Solutions released by SAP. As of this writing. From this moment onward the process of applying Support Packages is exactly the same as in the past. does modify standard SAP. and IS-Healthcare for hospitals. Once done. which means it delivers functional software products for general businesses and for industryspecific businesses. CRTs (Conflict Resolution Transports) are loaded with the Support Packages. IS-Media for the media and publishing industry. the files can be downloaded using the regular process with the SAP Download Manager. This industry-specific functionality is implemented through IS-Solutions. the system needs to take care of this exceptional situation. the IS_SELECT phase will take care of this. The tool is just used to prepare the download activity. Once checked. During upgrades. the package needs to be confirmed and is checked by SAP against the license agreement. The result of this is that every time an upgrade is performed or Support Packages are loaded into the system. 4. the files are downloaded to the PC.72 UPGRADING SAP After the required patch files have been selected. When loading Support Packages into the system. . which are additions to the standard “core” R/3. screens.9 INDUSTRY SOLUTIONS AND ADD-ONS SAP covers both the horizontal and the vertical marketplace. List of IS-Solutions: SAP for Aerospace and Defense SAP for Automotive SAP for Banking SAP for Chemicals SAP for Consumer Products SAP for Professional Services SAP for Public Sector SAP for Retail SAP for Service Providers SAP for Telecommunications SAP for Media SAP for Mill Products SAP for Mining SAP for Oil and Gas SAP for Pharmaceuticals SAP for Healthcare SAP for High Tech SAP for Higher Education and Research SAP for Industrial Machinery and Components SAP for Insurance SAP for Engineering and Construction SAP for Utilities There are two types of IS-Solutions: Solutions that modify the standard “core” SAP and solutions that do not modify standard SAP. This means that standard SAP programs. and tables are modified and/ or overwritten by IS-Oil–specific coding. for example. the files appear in the Download Basket residing in the SAP Support Marketplace. This means that the files are not downloaded using the MOP tool. Known IS-Solutions are IS-Oil for the oil and gas industry. However. IS-Oil.
APO. However.9. The following phases are executed to install an IS-Solution using R3up: Phase INITPUT DBCHK Description Enter all parameters Determine RDBMS release DBINFO. PI. it just becomes active after the Industry Solution is switched on. or Plug-Ins. use R3up (same tool as the R/3 Upgrade tool) to install. SAP EH&S (Environment Heath and Safety) for management of dangerous goods and SAP FS-CD (Financial Services Collections and Disbursements) for the insurance companies.0 it is possible to use multiple IS-Solutions in a single SAP system.1 Installation Using R3up The installation process of IS-Solutions differs from product to product. such as IS-Oil and IS-Utilities. As mentioned in previous sections. These add-ons are.44: Two types of SAP IS-Solutions. SAP has released all kinds of add-ons to R/3 and other components. as of SAP ERP 6. With SAP ERP 6.LOG Log file .0 all Industry Solutions are embedded in the system by default. 4. Figure 4. for example.SAP SOFTWARE LOGISTICS 73 you still need a special upgrade-software kit. Other add-ons are. The installation process is similar to IS-Solutions and may also modify standard SAP coding. . certain (recently released) solutions are installed using transaction code SAINT and other products. which can be installed into an R/3 system that has been already used for several years. or SAP Enterprise Portals. you need to know what add-ons are installed in your SAP system. An example of the second type IS-Solution is IS-Utilities. that are used for BW. Next to IS-Solutions. The second type is basically an add-on and is installed on top of the standard “core” R/3. Therefore. TIP Use transaction code BAOV or look at table AVERS to see what IS-Solutions or add-ons are loaded on your system. for example. which does contain the new ISSolution.
ELG PDDIT023.LOG TRBATCHK.ELG ADOIM.ELG CONV.LOG DDIC.LOG ENDCOMS.LOG PDDIT020.LOG EXECIS.LOG PATCHOUT.LOG RDDIT021.LOG ISC_IMP.ELG TABIM.LOG BATCHCHK.LOG RSSPAM02.LOG ISOUT.74 UPGRADING SAP RFCCHK BATCHCHK VERSCHK ADDSPAREQ EXECIS IS_CHK READDATA KEY_CHK PATCH_CHK CLNT_CHK CNV_CHK TRBATCHK INTCHK IS_READ SPACECHK FREECHK ISC_IMP IS_MERGE JOB_RDDIT021 REPACHK ADJUSTCHK MODPROF STARTR3 DDIC_yy JOB_UMOD20 ACT_yy CON_yy TABIM_yy ADOIM_yy XPRA_yy JOB_RDDIT023 JOB_RSSPAM02 JOB_RDDIT020 END RFC connection test Check Batch engine Check SAP release Prepare DB space check Check for installed IS-Solutions Display installed IS-Solutions Read software from CD-ROM Enter key from OSS note Check status of Support Packages Client locked or updated? Check TBATG conversations Check if TRBAT is empty Check if inactive nametab is empty Copy IS-Solution to /usr/sap/put Check DB freespace Check OS filesystem freespace Import IS command files Check imported command files Merge add-on in table TODIR Check for open repairs Determine DDIC object adjusted Stop system and adjust profiles Start R/3 system Import of DDIC objects Adjust BSEG table Activate new DDIC objects Conversion of DDIC objects Import entries in tables ADO import.ELG PSUMOD20.LOG REPACHK.LOG ADJUSTCHK.LOG DDXTnCHK.LOG ACT.LOG DBINFO.LOG ALPUPDP.LOG TBATGCHK.matchcodes Run XPRA reports Update AVERS table Load missing CRTs Update AVERS table again Load end RFCCHK. conv.LOG .LOG CLNTOUT.ELG XPRAS.
The steps the SAINT tool uses to import software into your SAP system are quite similar to the way Support Packages are imported. .LOG Most of the phases and their sequence are exactly the same as with a release upgrade. 4. The SAINT tool is relatively easy to use. It offers an “installation” wizard that guides the engineer through the entire installation process. therefore. you also patch the SAINT tool.45: SAINT SAP Add-On Installation Tool. When you patch the SPAM tool.SAP SOFTWARE LOGISTICS 75 ENDCHK MODPROFP CHK_POSTUP SPAUINFO EXITINFO Test target system Modify profiles and start system Display P errors Display SPAU list Display exit information ALPUPDP.9. ©Copyright SAP AG. The transaction code SAINT will start the SAP Add-On Installation Tool. it’s called a “SPAM/SAINT” patch. Figure 4. SAP also uses another tool to deploy add-ons.2 Installation Using SAINT Besides using R3up as an add-on installation tool. which is part of SPAM (SAP Patch Manager).
76 4. A modification really changes a bit of standard SAP code and has a big drawback—every time SAP changes their code. the modification needs to be reviewed and changed (back) again.6. Another advantage is the ability to put all code in its own customer namespace. Where an “User Exit” is based on the PERFORM statement. enhancements. As of SAP NetWeaver 7. not overwritten during an upgrade. a “Customer Exit” is based on “Function Modules” and therefore has a better parameter interface defined. ©Copyright SAP AG.” These are spots in the SAP code where a customer can add or adjust code by themselves. which is. by default. Customizing is the process whereby the standard SAP software is parameterized. The evolution of enhancements in SAP started with the ability to use “User Exit. A very well-known “User Exit” is MV45AZFF. is the Business Add-In. The code itself is embedded in the standard SAP workflow and does not touch SAP code. .0. which is used by SAP order processing. This framework includes the following technologies: Source Code Enhancement Function Group Enhancement Class Enhancement Kernel-BADI Enhancement Figure 4. Another option. introduced in SAP 4. An enhancement adjusts an existing piece of SAP code so it is serving a business process better. a new paradigm has been introduced under the name “Enhancement Framework” that brings all enhancement techniques under one roof. These BADIs are based on ABAP objects and provide the ability to have multiple versions.46: Evolution of enhancement technologies. the location of code might change over time. however.10 UPGRADING SAP ENHANCEMENT FRAMEWORK SAP supports various methods for adjusting the software: customizing. and modifications.
A new transaction. ©Copyright SAP AG. SPAU_ENH. SAP is also introducing business function sets and business functions.47: Additional ABAP language statements for enhancements. To make Switch Framework handling easier. provides the ability to keep. during the upgrade process. A business function set corresponds to an industry solution.0. Each . SAP ERP 6. Therefore.SAP SOFTWARE LOGISTICS 77 The Enhancement Framework tools have been embedded in the ABAP Workbench under transaction SE80 called “Enhancement Information System. The switch framework expands the capabilities of the Enhancement Framework by providing the ability to switch on sets of enhancements. or Business Suite 2005.” The ABAP objects language has been extended with two keywords to support the addition of enhancements in ABAP programs: ENHANCEMENT-POINT and ENHANCEMENT-SECTION.11 SWITCH FRAMEWORK SAP also introduced the “Switch Framework” in NetWeaver 7.0. This new switch framework is used to implement Enterprise Extensions and Industry Extensions. existing BADI code can be kept and unchanged after the upgrade to NetWeaver 7. Figure 4.0. old “classic” BADI implementations and move them into the new “Enhancement Framework” concept. 4. and to better group the individual switch settings.
48: Switch Framework architecture. Once an IS-Solution is activated.78 UPGRADING SAP business function set is a group of business functions. you will be able to activate an entire Industry Solution. and each business function group consists of a set of switch settings. . all kinds of programs. data. Figure 4. In some cases. and tables are generated. it is also possible to activate multiple IS-Solutions in your system. However. During the switch phase. there are some restrictions depending on the combination of the IS-Solutions. ©Copyright SAP AG. Two transactions are important here: SFW3 for the creation of a Business Function Set (BFS) and SFW5 to activate a Business Function Set. The following objects are subject to the Switch Framework: By package assignment Appends. CI-includes for structures in DDIC Fixed-value appends to domains Secondary indexes Append search helps Enhancement implementations Switch Business Configuration Sets (Switch BC Sets) By direct assignment Screen elements and flow logic Menu entries and functions IMG nodes Customizing By using the Switch Framework. it cannot be switched off. SI-. such as IS-Oil or IS-Media.
which can be accessed through transaction SNOTE. As an example. but switched off in the other. These corrections are described in SAP notes that can be found at http://service. The source code needs to be changed manually using the SE38 ABAP Editor.12 SAP NOTES Bug fixes are collected in Support Packages. This means that certain release-specific objects are switched on in one system.sap. The implementation of individual SAP notes can be quite labor intensive. . It’s much more efficient when the modification browser can be used to support decisions in SPAU and SPDD. Because you have to make these modifications to standard SAP code. you have to obtain an object key first through the SAP Service Marketplace. It’s recommended to use the “Modification” buttons in the SE38 ABAP Editor. 4. The most efficient way of implementing SAP notes is by using the SAP NoteAssistant. ©Copyright SAP AG. a single development system can be used to hold various releases that are switched on or off. which can be used to mark modifications in the ABAP source code.49 Apply SAP notes using NoteAssistant.com/notes. Figure 4. During upgrades and the implementation of Support Packages. transactions SPDD (Dictionary Objects) and SPAU (ABAP Objects) need to be performed in order to determine what to do with the modifications. There is also an option to apply individual source code corrections.SAP SOFTWARE LOGISTICS 79 The combination of both Enhancement-Points and the Switch Framework enables customers to deploy different internal releases at the same time.
5B 4. interpreting the ABAP code. 4.1I_COM SAP 4. In general.5B SAP Basis release SAP R/3 3. The SAP NoteAssistant is supported as of SAP R/3 4.13 RELEASE UPGRADES An SAP release upgrade is the most complex topic of the software logistics in SAP.0B_COM SAP 4.6B 4.14 SAP KERNEL PATCHES The SAP Kernel is responsible for running all transactions in the system. and accessing the data in the tables. download the source code correction specified in the SAP Note.5B. and apply this code automatically (including updates to the modification database). 4.10 6. it’s only shipped as part of certain Basis Support Packages.1H and 3.0B in extended maintenance SAP R/3 4.6C 4.6D 6. however.1I .0B SAP R/3 4.5B SAP R/3 4. which resides in the “/sapmnt/SID/exe” directory. the entire repository of objects is replaced with a newer version. the SAP Kernel is downward compatible according to this scheme: SAP Kernel Bundle SAP 3. The SAP kernel consists of various executables. During a SAP release upgrade.80 UPGRADING SAP The SAP NoteAssistant provides the ability to connect to SAP.20 Minimum Precondition SAPKH45B45 SAPKB46B33 SAPKB46C25 SAPKB46D14 SAPKB61027 SAPKB62013 INFO Additional information about the SAP NoteAssistant can be found in SAP Note 560756. The following table shows which SAP releases require what Basis Support Package: SAP Basis Release 4. The techniques used during an upgrade are similar to the import of individual transports and the implementation of Support Packages.0B_EXT SAP 4.
however. which all have their own patch level codes. be sure that the latest copy of rfclib32 is used as well. dbmsslib for Microsoft SQLServer. it’s ./R3trans –v .40 Unicode SAP AS 7.40 Unicode SAP 7. Another important part of the SAP Kernel is the dynamic link libraries (DLLs for Microsoft Windows and . Transport driver program $ . Transport tool $ . dboraslib for Oracle.SAP SOFTWARE LOGISTICS 81 SAP 4. a lot of older SAP systems are still based on non-Unicode. It depends on the character set used in the SAP database which of the two should be used.” In case the SAP JCo (Java Connector) is used on the SAP system. The SAP Kernels can be downloaded in . read SAP Note 19466. All new SAP installations are based upon the Unicode database. SAP kernel (dispatcher + workprocesses) $ . NOTE For the latest information on SAP Kernel patches. a new type of software deployment package is available. you also have to upgrade the “lib_dbsl. In most cases when disp+work executable is upgraded. Internet connection manager There are two types of SAP Kernels: Unicode and non-Unicode. called an Enhancement Package. To reduce the number of ERP releases. An Enhancement Package extends SAP ERP 2005 with new functionality that is normally released through SAP upgrades. 4.00 non-Unicode SAP 7. and the rfclib32 for all RFC communication.40 non-Unicode SAP Web AS 6.00 Unicode Each SAP Kernel bundle consists of several binaries.sap./icman –v .00 Unicode SAP R/3 4./disp+work –v .10 until 6.6C SAP Web AS 6.6D SAP 6.40 non-Unicode SAP 6.6B and 4. So if a customer would like to leverage new functionality.o files for UNIX).00 non-Unicode SAP AS 7.SAR (SAP Archive format) from http://service. SAP has decided to keep the 2005 release as a core release up to at least 2010 and only add new functionality to the system through Enhancement Packs. The exact patch level of a binary can be obtained through the “-V” option at the command prompt of the operating system: $ cd /sapmnt/SID/exe $ ./tp –v . such as “lib_dbsl” (Database-specific interface libraries). com/patches.15 ENHANCEMENT PACKS As of SAP ERP 2005.10 until 6.
Enhancement Packages are incremental. Enhancement Packages contain new functionality that is added to the ERP applications and can be licensed seperately. Alternatively. This results in a much more complex Support Package strategy. SAP has released tools like SLM (SAP Life-Cycle Manager) and the MOP (SAP Maintenance Optimizer). but rather implement one or more Enhancement Packs instead. it automatically installs Number 1. Depending on the release status. The language in which a dialog user works is specified during logon by making a selection on the logon screen. 4. Enhancement Packages do not replace Support Packages. you have to implement Support Packages for these Enhancement Packages as well. and DDIC objects. screens. SAP will also release Enhancement Packages for other Business Suite components like CRM.82 UPGRADING SAP no longer required to go through an entire upgrade process. To support customers with this. . Support Packages are released to fix bugs and contain performance improvements. Due to the fact that Enhancement Packages are new functionality. which means that multiple languages can be used by end users. The functionality that has been added to the system through Enhancement Packages will become part of the next major SAP release. SRM.50: mySAP ERP 2005 Enhancement Package strategy. Tools like these should help to reduce the complexity and effort of applying Support Packages. Figure 4. Implementing Enhancement Package is optional to the customer and need to be considered on a case-by-case basis. which means new programs. the SAP system supports up to 30 different languages.16 LANGUAGES SAP applications based on the ABAP engine are multilanguage. which means that if you do not have any installed in your system and you would like to install Number 2. PLM and SCM. ©Copyright SAP AG. it can be specified by a system parameter or by a default setting in the user master record.
By selecting this line. Figure 4. this line will provide the ability to start loading the language. For every language in the system. Languages are imported by using R3load. you can specify the location of these installation files. which are identified by a language key. whether it’s imported or not. The language import files are delivered as R3load or Transport files (co. The different languages are implemented as text elements. If the language has not been imported into the SAP system. you can see all import details of this particular language. Additional languages need to be imported into the system using the Language management tool accessible through transaction SMLT.6C).51: Initial screen of SMLT Language Management (SAP R/3 4. there is a line item in the overview screen of SMLT.6C. you will be able to select the appropriate language and add it to the list. All SAP support languages have their own unique language key that is specified in table T002: Field SPRAS LASPEZ LAHQ LAISO Type (dimension) LANG (1) CHAR (1) CHAR (1) CHAR (2) Description Language key Language specification Degree of translation ISO 639 Language code When an additional language needs to be installed in the system the language key needs to be available in this table. Through transaction SMLT. .SAP SOFTWARE LOGISTICS 83 After a “fresh” install of an SAP system only German (DE) and English (EN) are available as languages. ©Copyright SAP AG. up to SAP R/3 release 4.and datafiles) on a CD-ROM.6C or by using R3trans as of SAP R/3 4. During the import phase in SMLT.
TIP Text elements.’ Text elements are available for all kinds of SAP tables: Master. Although a table or ABAP program can have multiple text elements. the customizing table TVKO that contains all Sales Organizations is accompanied with table TVKOT for the text elements. For example. but without importing the language. lists all relevant language fields.DDTEXT=’Anmeldedaten. who logs-on in Danish will only see English or German texts. there is only one Master Language. Table DD02L points to DD02T. As mentioned before.’ DD02T. of each object is specified in table TADIR field MASTERLANG. The translation workbench is a tool for translating language-dependent texts.84 UPGRADING SAP As already stated. if you want to use the Danish language. The master language. The customer can decide whether it translates certain text elements using the Translation Workbench. which can be accessed using transaction SE63.TABNAME = ‘USR02. The table DD02T points back to DD02L. which contains (most important fields are shown here): Field TABNAME DDLANGUAGE DDTEXT Type (dimension) CHAR (40) CHAR (2) CHAR (120) Description Name of table (as in DD02L) Language key (as in T002) Text it self For example. with at least two fields: language key and text. one for each installed language. table DD02L contains all table definitions in SAP.6C. languages are implemented as text elements. for example. but the language is not (yet) available from SAP. The master language is the language where the objects are created and maintained in. As of release 4. and therefore languages and translations. and contains all texts in different languages for all table names. Therefore. to cope with legal requirements. SAP switched from R3load to R3trans for language imports.6C. DD02T. This could be done for “Dangerous Goods Movement” documents. assume that languages are client independent. and Customizing tables. System. All text elements are stored in tables. identified by a language key.DDLANGUAGE=’D’ and DD02T. This provides the ability to translate certain text elements into Danish yourself. The reason for this is related to Support Packages. which on most occasions is English or German. So when a text is put on the screen it points to a row in a table. In SAP releases older than 4. The tool can be used to translate additional texts in incompletely translated languages. For example. The Danish language is completely supplemented with either English or German. . The dialog user. are stored in tables with (TVKOT) and without (DD02T) the client-specification field MANDT. Transaction. the option is to install the Danish language in SMLT.
and datafiles online in order to add additional languages to your system. the SMLT tool will import missing text elements belonging to that “new” language and from the already applied Support Packages. A negative consequence of this “new” method is the increased size of each Support Package. the text element of all supported languages.6B. Just store all required EPS packages in “/usr/sap/transEPS/in. If you did so. the “new” language is only added in the “core” of the SAP system. In order to do this. During the normal implementation of Support Packages.” . SMLT is able to disassemble all required files from the EPS package.53: Language import option as of SAP R/3 4.SAP SOFTWARE LOGISTICS 85 you could not install “new” additional foreign languages to your system if there were already Support Packages applied. Figure 4. When an additional language is added to the system at a later stage. TIP You do not have to keep all co. Figure 4. the co. all objects that were modified due to Support Packages will not have a proper translation. in all Support Packages.and datafiles of these Support Packages need to be available for accessing. The solution to this problem is to include.6C.52: Language import problem of SAP R/3 up to release 4. SAP will only import those languages that are installed in the system.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.