2. Objectives
• The participants will be able to:
– Explain why an Object must be activated and
demonstrate how to activate an Object.
– Describe how SAP handles Version Management.
March-2005 ABAP Dictionary Changes | 2.07 2
3. Activation
March-2005 ABAP Dictionary Changes | 2.07 3
Activation Icon
ABAP DictionaryABAP Dictionary
Data Object
An object must be fully activated in the SAP system in order to be used by other
objects
4. Mass Activation
March-2005 ABAP Dictionary Changes | 2.07 4
The mass activation program RDDMASG0 can either be run online or
scheduled as a background job
Online
Background
5. Table Activation
March-2005 ABAP Dictionary Changes | 2.07 5
ABAP ProgramsABAP Programs
UpdatesUpdates
Screen PainterScreen Painter
? Log Entries
Consistency Checks
?
ABAP programs and Screen Painter screens always use the current
version of a table activated in the Dictionary.
A data object is automatically checked for consistency (among data types) when
the object has been changed.
6. Database Utility
March-2005 ABAP Dictionary Changes | 2.07 6
DB
ABAP
ABAPDictionary
Dictionary
Log File
Online
vs.
Background
The Database (DB) Utility is a tool used in SAP to serve as an interface between
the database management software (i.e., ORACLE™, INFORMIX™, DB2™,
INGRES™, etc) and the ABAP Dictionary
7. Change Key of Value Table
March-2005 ABAP Dictionary Changes | 2.07 7
Tables
YANGIE1
YEMPLOY
Domain
“YZIPCODES”
Value Table
1 9 7 0 2
1 9 7 0 2
NUMC 10
“YZIP”
Changing the primary key of a value table that is being used by a domain,
requires a lengthy process because of the embedded links between the domain
and the value table.
8. Versions
March-2005 ABAP Dictionary Changes | 2.07 8
An object in the ABAP Dictionary can exist in various versions
There are two VERSIONS of an object that can exist in the ABAP Dictionary:
Active & Revised.
9. Version Management
March-2005 ABAP Dictionary Changes | 2.07 9
Active Version
Historical
Version
Several temporary versions of an active object can be stored when a CTS is open.
Historical versions are created every time a CTS is released.
11. Demonstration
• Creation of an ABAP report program and
assigning the same to a package.
• Subsequently releasing the same program and
then making further changes to the program.
• Then going to the version management for
the program and viewing the differences
between the current active version and the
one released previously.
March-2005 ABAP Dictionary Changes | 2.07 11
12. Practice
• Creation of an ABAP report program and
assigning the same to a package.
• Subsequently releasing the same program and
then making further changes to the program.
• Then going to the version management for
the program and viewing the differences
between the current active version and the
one released previously.
March-2005 ABAP Dictionary Changes | 2.07 12
13. Locks on Dictionary Objects
March-2005 ABAP Dictionary Changes | 2.07 13
ABAP
ABAPDictionary
Dictionary
When you activate an object any locks on the object are automatically released
14. SPDD Transaction
March-2005 ABAP Dictionary Changes | 2.07 14
Versions of repaired SAP standard objects can be compared with new
SAP standard objects by using the transaction SPDD
15. Summary
• An object must be fully activated in the SAP
system in order to be used by other objects
• When an object is changed and re-activated,
all other objects currently linked to the
changed object are automatically updated
• Changing the primary key of a value table that
is being used by a domain, requires a lengthy
process because of the embedded links
between the domain and the value table
March-2005 ABAP Dictionary Changes | 2.07 15
16. Questions
• Why should SAP Objects be activated ?
• How are different versions of programs
maintained in SAP ?
March-2005 ABAP Dictionary Changes | 2.07 16
Hinweis der Redaktion
An object must be fully activated in the SAP system in order to be used by other objects (e.g., a domain must be activated prior to being used by a data element, tables must be activated prior to being used in an ABAP program, etc.).
ABAP Dictionary objects are activated either:
Individually (immediately after each object is saved with the activation icon) or
Mass (several objects grouped together for later activation after each one has been saved)
Two steps are required to perform a mass activation:
1. Enter the object types and names in a table named TACOB. Use the menu path: System Services Table Maintenance Extended Table Maintenance or transaction SM30 to access this table. Enter TACOB for the table name and click the maintain pushbutton. Some of the object types are:
DOMA (domains)
DATA ELEMENTS (data elements)
TABL (tables)
2. Execute the mass activation program RDDMASG0 via transaction SE38, or use the menu path: System Services Reporting (transaction SA38). Enter TACOB for the external table name and click the Execute pushbutton.
The mass activation program RDDMASG0 can either be run online or scheduled as a background job.
Greater efficiency is gained when objects are activated online due to the links that can occur between subcomponents of objects. (i.e., links between data elements and various tables).
For example, if several tables attempt to use the same data elements, failures can occur when the tables are activated because the data elements are waiting on a background job to run in order to be activated.
ABAP programs and Screen Painter screens always use the current version of a table activated in the Dictionary.
Entries are made in a log file to keep track of each occurrence when a table has been activated.
When an object is changed and re-activated, all other objects currently linked to the changed object are automatically updated, (i.e., when a domain is changed and activated, all data elements, tables, report programs, module pool programs reflect the change, they do not need to be reactivated as well). As you can see, changing and reactivating objects can greatly affect a large number of associated objects.
If appropriate, a data object is automatically checked for consistency (among data types) when the object has been changed.
The Database (DB) Utility is a tool used in SAP to serve as an interface between the database management software (i.e., ORACLE™, INFORMIX™, DB2™, INGRES™, etc) and the ABAP Dictionary. It is used to:
Convert data (i.e., change field lengths and data types, etc.)
Activate objects in the ABAP Dictionary
Create tables and indices
Perform all standard table operations in the database that were entered in the ABAP Dictionary
The DB Utility automatically writes the SQL commands necessary to create, change and delete tables and indexes in the physical database, and records the tables in the ABAP Dictionary.
As the DB Utility is operating, a log file gets created which contains information on whether or not the conversion was successful and the point of failure during the conversion if it was not successful.
The DB Utility can be run either online or in the background.
You can also manually run the DB Utility from any ABAP Dictionary screen under the UTILITIES menu or transaction SE14.
Changing the primary key of a value table that is being used by a domain, requires a lengthy process because of the embedded links between the domain and the value table.
It is not a simple process to change and reactivate a value table. Changing the table is step 3 and reactivating the table is step 5 in an 8 step process that is necessary in order in change the key fields of a value table being used by a domain.
The 8 steps are:
Delete “old” value table from domain
Activate domain without value table
Change primary key
Maintain all dependent tables (remove check table)
Activate dependent tables
Reactivate value table
Type value table in affected domain: Activate domain
Maintain dependent tables if required: (Define foreign keys)
An object in the ABAP Dictionary can exist in various versions and a listing of them can be viewed within the object’s dictionary maintenance screen via the menu path Utilities Version management.
There are two VERSIONS of an object that can exist in the ABAP Dictionary:
Active: valid in the dictionary and in any development objects (i.e., programs) in which it is used.
Revised: a modified version. A lock is taken.
You can switch between the two versions.
Once an object is activated, you can change it and save a modified (revised) version. This can be viewed from Utilities Version management. If you activate this new revised version, it overwrites the original activated object.
In the Version Manager, objects which are saved appear with the notation “mod.”
Objects which are activated appear with the notation “act.”
(Continued on next page)
Versions (continued):
Temporary versions (under the heading “Version(s) in the version database”):
During the development process while a change request is open, several temporary versions of an active object can be stored. Even after the object has been activated, it can be reset to the previous status. Store versions in the maintenance screen of objects via the leftmost menu (i.e., Table, Data Element, Program)®Store version. Temporary versions act as backup versions prior to the change request being released. When a change request is released, all temporary versions are deleted.
Historical versions:
If an object has been changed and activated, when the corresponding change request for the object is released for transport, the active version is stored as an historical version in a versions database. These versions are created every time a change request is released after an object has been changed. From the object maintenance screen, use the menu path Utilities®Version management to see an overview of all versions that exist for an object.
Versions of non-dictionary objects (i.e., programs) can be stored. However, only active, temporary and historical versions are possible (modified versions).
Display:
List all defined attributes of object.
Compare:
Differences between this version and previous versions are highlighted.
Retrieve:
Retrieve stored version of object. Version is located in the ABAP Dictionary and takes the form of a revised version.
Remote compare:
Comparison with versions from other systems.
When you activate an object any locks on the object are automatically released.
Other users can see the revised version in the Dictionary but can only access the active version.
Versions of modified (repaired) SAP standard objects can be compared with new SAP standard objects by using the transaction SPDD.
SPDD compares an inactive SAP standard version with the active modified (repaired) version and displays the results of the comparison in tabular form. All modifications to SAP objects made by clients are incorporated for review and considered by SAP during a system upgrade for a new release of SAP.