DATA DICTIONARY
1. What is ABAP Data Dictionary?
ABAP Dictionary is used to create and manage data definitions (metadata). The ABAP Dictionary allows a central
description of all the data used in the system. New or modified information is automatically provided for all the
system components. Data Dictionary ensures data integrity, data consistency and data security.
The ABAP Dictionary supports the definition of user-defined types (data elements, structures, and table types).
We can create the corresponding objects (tables or views) in the relational database using these data
definitions. The ABAP Dictionary describes the logical structure of the objects used in application development
and shows how they are mapped to the relational database in tables or views.
2. What function does data dictionary perform?
Central information repository for application and system data. The ABAP Dictionary contains data definitions
(metadata) that allow us to describe all the data structures in the system (like tables, views, and data types) in
one place. This eliminates redundancy.
The functions performed by the data dictionary in a data management system are -
Management of data definitions.
Provision of information for evaluation.
Support for software development.
Support form documentation.
Ensures the data definitions are flexible and up to date.
3. Mention the various types of objects of the data dictionary.
The various types of data dictionary objects are: -
Tables
Views
Domain
Data Element
Structures
Table Types
Type Groups
Search Helps/Match code Objects
Lock Objects
4. What Is the Step-by-step Process to Create A Table in Data Dictionary?
Steps to create a table:-
Creating domains (data type, field length, Range).
Creating data elements (properties and type for a table field).
Creating tables (SE11).
5. Define domain and data element?
Domain - Domain is a central object for explaining the technical characteristics of an attribute of a business
objects. It describes the value range of the field.
Data Element – Data element is used to describe the semantic definition of the table fields like description the
field. Data element describes how a field can be displayed to end-user.
6. What is a Data Class?
A data class is a class that contains only fields and crude methods for accessing other classes. Data classes are
classified into four types depending on the type of data they contain:-
Master Data: Data change very rarely.
Transaction Data: Data changes are depending on requirements.
Organization Data: Data is a customized and entered to the system when the system is configured. It is
rarely changed.
System Data: Data is used by the SAP R/3 system.
7. What is a Size Category?
The Size category describes the probable space requirement of the table in the database.
8. How many types of size categories and data classes are there?
There are five size categories (0-4) and 11 data classes only three of which are appropriate for application tables:
• APPL0- Master data (data frequently accessed but rarely updated).
• APPL1- Transaction data (data that is changed frequently).
• APPL2- Organizational data (customizing data that is entered when system is configured and then rarely
changed).
The other two types are:
• USR
• USR1 – Intended for customer's own developments.
9. What are control tables?
The values specified for the size category and data class are mapped to database-specific values via control
tables.
10. What is the function of the transport system and workbench organizer?
The function of the transport system and the Workbench Organizer is to manage any changes made to objects
of the ABAP/4 Development Workbench and to transport these changes between different SAP systems.
11. What are the types of tables?
The various types of tables are as follows:-
1. Transparent tables
2. Cluster tables
3. Pool tables
Transparent tables: - Transparent tables are one to one relationship. That is if you create one
transparent table in the data dictionary, then it’ll store like only one data base table in the data base.
Cluster tables: - These tables are many to one relationship. That is if you create the many clustered
tables in DDIC then they will form like a table cluster & store in the data base. Data base Buffering isn’t
possible for clustered table. From this reason only fetching the data from clustered table take more
time. Clustered table is suitable when you fetch the fewer amounts of data from more fields.
Pooled table: - Pooled tables are many to one relationship. That means if you create many pooled tables
in DDIC, then they will form like a table pool & stored in the data base. Pooled tables are suitable when
we fetch the large amount of data from fewer fields.
Note: - Joins aren’t possible for Clustered & Pooled tables
12. What is a table pool?
A table pool (or pool) is used to combine several logical tables in the ABAP/4 Dictionary. The definition of a pool
consists of at least two key fields and a long argument field (VARDATA).
13. What are pooled tables?
These are logical tables, which must be assigned to a table pool when they are defined. Pooled tables can be
used to store control data (such as screen sequences or program parameters).
14. What is a table cluster?
A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different
cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a
cluster are thus stored in a single common table in the database.
15. Differentiate between structure and table in the data dictionary?
The difference between table and structure are -
TABLE STRUCTURE
Table can store data Structure can't store
physically data physically.
Table can include Structure can't include
primary key. primary key.
Table can include Structure can't have a
technical attribute. technical attribute.
16. What is TMG (Table Maintenance Generator)? Mention the steps to create a TMG and maintain the data by
using TMG.
Table Maintenance Generator is used to insert, update and delete the data of data base table without any code
(without DML Commands). Table Maintenance Generator is only possible for custom tables. The transaction
code for TMG is SM30.
Steps to create Table Maintenance Generator: -
Execute SE11->Select the radio button data base table-> Provide the data base table name for which table we
want to create the TMG->Click on change->In the menu bar click on utilities ->Table Maintenance Generator
->Select the authorization group which is provided by BASIS people->Provide the function group as table name->
Select the Maintaince type is one step or two step-> Provide the screen number (any number) -> Click on create
->Save in our own package->Click on save, back, active.
Steps to maintain the data by using TMG: -
Execute SM30->Provide table or view name as our table name (ZHAI11)->Click on maintain->Enter->Perform the
operations of the data (insert, update, delete).
17. How can we access the correction and transport system?
Each time you create a new object or change an existing object in the ABAP/4 Dictionary, you branch
automatically to the Workbench Organizer or correction and transport system.
18. Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables,
Structures, Views, Matchcode objects, Matchcode Ids, Lock objects.
19. How is conversion of data types done between ABAP/4 & DB layer?
Conversion between ABAP/4 data types and the database layer is done within the database interface.
20. How is the conversion of data types done between ABAP/4 & the external level?
Conversion between the external layer and the ABAP/4 layer is done in the SAP dialog manager DYNP.
21. How can we set the table spaces and extent sizes?
You can specify the extent sizes and the table spaces (physical storage area in the database) in which a
transparent table is to be stored by setting the size category and data class.
22. What is the function of the correction system?
The correction system manages changes to internal system components. Such as objects of the ABAP/4
Dictionary.
23. What are local objects?
Local objects (Dev class$TMP) are independent of correction and transport system.
24. What is a Development class?
Related objects from the ABAP/4 repository are assigned to the same development class. This enables you to
correct and transport-related objects as a unit.
25. In the ABAP/4 Dictionary Tables can be defined independent of the underlying database (T/F).
True.
26. ABAP/4 Dictionary contains the Logical definition of the table. A field containing currency amounts (data type
CURR) must be assigned to a reference table and a reference field. Explain.
As a reference table, a system containing all the valid currencies is assigned or any other table, which contains a
field with the currency key format. This field is called as reference field. The assignment of the field containing
currency amounts to the reference field is made at runtime. The value in the reference field determines the
currency of the amount.
27. A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference
field. Explain?
As a reference table, a system table containing all the valid quantity units is assigned or any other table, which
contains a field with the format or quantity units (data type UNIT). This field is called as reference field. The
assignment of the field containing quantity amounts to the reference field is made at runtime. The value in the
reference field determines the quantity unit of the amount.
28. What is the significance of Technical settings (specified while creating a table in the data dictionary)?
By specifying technical settings we can control how database tables are created in the database. The technical
settings allows us to
• Optimize storage space requirements.
• Table access behavior.
• Buffering required.
• Changes to entries logged.
29. What is a Table attribute?
The table's attributes determine who is responsible for maintaining a table and which types of access are
allowed for the table. The most important table attributes are:
• Delivery class.
• Table maintenance allowed.
• Activation type.
30. What is the significance of Delivery Class?
The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance.
• Whether SAP provides the table with or without contents.
• Determines the table type.
• Determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a
client copy is performed.
31. What is the max. no. of structures that can be included in a table or structure.
Nine.
32. What are two methods of modifying SAP standard tables?
• Append Structures and
• Customizing Includes.
33. What is the difference between a Substructure and an Append Structure?
• In case of a substructure, the reference originates in the table itself, in the form of a statement include….
• In case of an append structure, the table itself remains unchanged and the reference originates in the append
structure.
34. To how many tables can an append structure be assigned?
One.
35. If a table that is to be extended contains a long field, we cannot use append structures. Why?
Long fields in a table must always be located in the end, as the last field of the table. If a table has an append
structure the append line must also be on the last field of the table.
36. Can we include customizing include or an append structure with Pooled or Cluster tables?
No.
37. What are the two ways for restricting the value range for a domain?
• By specifying fixed values.
• By stipulating a value table.
38. Structures can contain data only during the runtime of a program (T/F)
True.
39. What are the aggregate objects in the Dictionary?
• Views
• Match Code.
• Lock Object.
40. The data of a view is not physically stored, but derived from one or more tables (T/F)
True.
41. What is a Match Code?
Match code is a tool to help us to search for data records in the system. Match Codes are an efficient and user-
friendly search aid where key of a record is unknown.
42. What are the two levels in defining a Match Code?
• Match Code Object.
• Match Code Id.
43. What is a match code Id?
A match code Id is a one character ID that can be a letter or a number.
44. Can we define our own Match Code ID's for SAP Matchcodes?
Yes, the number 0 to 9 are reserved for us to create our own Match Code Ids for a SAP defined Matchcode
object.
45. What is an Update type with reference to a Match code ID?
If the data in one of the base tables of a matchcode ID changes, the matchcode data has to be updated. The
update type stipulates when the matchcode is to be updated and how it is to be done. The update type also
specifies which method is to be used for Building matchcodes. You must specify the update type when you
define a matchcode ID.
46. Can matchcode object contain Ids with different update types?
Yes.
47. What are the update types possible?
The following update types are possible:
• Update type A: The matchcode data is updated asynchronously to database changes.
• Update type S: The matchcode data is updated synchronously to database changes.
• Update type P: The matchcode data is updated by the application program.
• Update type I: Access to the matchcode data is managed using a database view.
• Update type L: Access to the matchcode is achieved by calling a function module. What are the two different
ways of building a match code object? A match code can be built in two different ways:
• Logical structure: The matchcode data is set up temporarily at the moment when the match code is accessed.
(Update type I, k).
• Physical Structure: The match code data is physically stored in a separate table in the database. (Update type
A, S, P).
48. What are the differences between a Database index and a match code?
• Match code can contain fields from several tables whereas an index can contain fields from only one table.
• Match code objects can be built on transparent tables and pooled and cluster tables.
49. What is the function of a Domain?
• A domain describes the technical settings of a table field.
• A domain defines a value range, which sets the permissible data values for the fields, which refers to this
domain.
• A single domain can be used as basis for any number of fields that are identical in structure.
50. Can you delete a domain, which is being used by data elements?
No.
51. What are conversion routines?
Non-standard conversions from display format to sap internal format and vice-versa are implemented with so-
called conversion routines.
52. What is the function of a data element?
A data element describes the role played by a domain in a technical context. A data element contains semantic
information.
53. Can a domain, assigned to a data element be changed?
Yes. We can do so by just overwriting the entry in the field domain. Can you delete data element, which is being
used by table fields. No.
54. Can you define a field without a data element?
Yes. If you want to specify no data element and therefore no domain for a field, you can enter data type and
field length and a short text directly in the table maintenance.
55. What is a view?
A view is a logical view on one or more tables. A view on one or more tables i.e., the data from a view is not
actually physically stored instead being derived from one or more tables.
56. How many types of Views are there?
• Database View
• Help View
• Projection View
• Maintenance View
57. Explain the Lock Objects and mechanism?
Lock mechanism allows simultaneous accessing of same data records by two or more users at the same time.
Functional Modules are responsible for set and release the locks. Function modules are automatically generated
from the lock objects definition in the ABAP/4 Dictionary.
When these functional modules are called, the retrieved table rows get locked or unlocked with the definition of
certain values to the fields.
58. What are the functions of Lock Objects?
Lock objects main function is to synchronize the access of several users using same data by more than one
program. Lock objects are used to avoid the inconsistency when data is inserted or changed in the database.
59. What are the various types of lock objects?
Read/Shared Lock
This lock allows read-only access to the object shared.
It allows programs and users to read the data or object but not write/modify/update the same.
Thus it protects ‘read’ access to data or object.
Write/Exclusive Lock
This lock allows neither read nor write access to shared objects by other transactions or users.
Thus it protects ‘write’ access to data or object.
Enhanced/Exclusive without Cumulating Lock
This lock works similarly to write/exclusive lock.
Enhanced lock includes additional features like protecting the object or data from further access
attempted by same program, transaction or user.
60. What is database utility?
Database utility is the interface between the ABAP/4 Dictionary and the underlying the SAP system.
61. What are the basic functions of Database utility?
The basic functions of database utility are:
• Create database objects.
• Delete database objects.
• Adjust database objects to changed ABAP/4 dictionary definition.
62. What is Repository Info. Systems?
Repository Info. Systems is a tool that makes data stored in the ABAP/4 Dictionary available.