What is Data Dictionary in SAP ABAP

ABAP data dictionary is where database objects are created and maintained. You don’t create any database objects directly in your database system; you create them only in the data dictionary.

Some of the terminology around an SAP system may be slightly different than what you may have learned when studying database systems, and if you’re new to the idea of database systems, then all of this is also new. This is an introductory book, so we’ll cover this topic (starting with the basic building blocks of a database system).


Three different type categories exist in the ABAP Dictionary:

  • Data elements
  • Structures
  • Table types

1.Data Element

Data elements describe the individual fields in the ABAP Data Dictionary. They are the smallest indivisible units of the complex types, and they are used to define the type of table field, structure component or row type of a table. Information about the meaning of a table field and also information about editing the corresponding screen field could be assigned to a data element. This information is automatically available to all the screen fields that refer to the data element. Data elements describe either elementary types or reference types.

2.Data Domain

The domain is used for the technical definition of a table field such as field type and length, and the data element is used for the semantic definition (short description). A data element describes the meaning of a domain in a certain business context. It contains primarily the field help and the field labels in the screen.

The domain is assigned to the data element, which in turn is assigned to the table fields or structure fields. For instance, the MATNR domain (CHAR material number) is assigned to data elements such as MATNR_N and these are assigned to many table fields and structure fields.

3. Structure

Structures are useful for painting screen fields, and for manipulating data that has a consistent format defined by a discrete number of fields.

A structure may have only a single record at run-time, but a table can have many records.

4. Tables

Tables can be defined independent of the database in ABAP Dictionary. When a table is activated in ABAP Dictionary, similar copy of its fields is created in the database as well. The tables defined in ABAP Dictionary are translated automatically into the format that is compatible with the database because the definition of the table depends on the database used by the SAP system.

A table can contain one or more fields, each defined with its data type and length. The large amount of data stored in a table is distributed among the several fields defined in the table.

The structure of the objects of application development are mapped in tables
on the underlying relational database. The attributes of these objects correspond to fields of the table.
A table consists of columns (fields) and rows (entries).

It has a name and different general attributes, such as delivery class and maintenance authorization. A field has a unique name and attributes; for example, it can be a key field. A table has one or more key fields, called the primary key.

The values of these key fields uniquely identify a table entry. You must specify a reference table for fields containing a currency (data type CURR) or quantity (data type QUAN). It must contain a field (reference field) with the format for currency keys (data type CUKY) or the format for units (data type UNIT). The field is only assigned to the reference field at program runtime.


Next article we will learn how to create Data Dictionary in SAP ABAP.