ABAPbeginner

ABAP Dictionary (Data Dictionary / DDIC)

Central repository for defining database tables, structures, data elements, domains, and views used across ABAP programs.

The ABAP Dictionary (SE11) is where SAP's data model is defined — tables, fields, types and their relationships.

A domain is like a raw material spec (steel, grade, dimensions); a data element is a labeled component built from that material (a bolt of that steel with a part number and description) usable in many different assemblies while sharing the same underlying material spec.

Key Concepts

1
Its central idea is that a field's definition is written once and referenced everywhere, rather than repeated.
2
Three layers, from technical to business meaning.
    DOMAIN         the technical type      CHAR 10, with allowed values
       ^
    DATA ELEMENT   the business meaning    "Material Number", field labels, F1 help
       ^
    TABLE FIELD    the use                 MARA-MATNR refers to that data element
3
So MATNR is defined once. Every one of the thousands of tables and programs using a material number points at the same data element, which points at the same domain.
MATNR
4
Why the layering pays for itself. Lengthen the domain and every field derived from it changes together. Fix a typo in the field label and every screen showing it is corrected.
5
Type a field as CHAR 18 directly instead of referencing the data element, and you have created a field that no longer changes with the rest of the system — the classic mark of inexperience, and the cause of truncation bugs when SAP lengthens a field.
CHAR 18
6
Table types. A transparent table maps one-to-one to a real database table; nearly everything is transparent today. Pooled and cluster tables stored several logical tables inside one physical table, which saved space on old databases at the cost of being unreadable by SQL. On HANA these have largely been converted to transparent, which is why reporting directly on tables such as BSEG became possible.
BSEG
7
Views combine tables without duplicating data. A database view joins tables; a projection view hides fields; a maintenance view provides an editable screen; a help view supports value help. In S/4HANA, CDS views have taken over most of this work.
8
Foreign keys and check tables give you validation for free. Declare that MARC-WERKS refers to T001W and the field is validated on entry, with the check table's contents offered as value help — no code.
MARC-WERKST001W
9
Search helps are the F4 dropdowns users rely on. They can be attached to a data element, so every field using it gets the same help everywhere.
10
Adding your own fields to an SAP table. Two upgrade-safe mechanisms:
11
    APPEND STRUCTURE   your fields are appended to the end of an SAP table
    CUSTOMIZING INCLUDE  SAP left a named slot (CI_*) for you to fill
12
Both keep your fields separate from SAP's definition, so an upgrade that adds SAP fields does not collide with yours. Adding a field by editing the SAP table directly is a modification, and it will be flagged at every upgrade.
13
One practical note. Changing a table that already holds data can require a table conversion — the database copies the data into the new structure. On a large table that takes time and locks it, so these changes are planned into a downtime rather than transported casually.
14
What the interviewer is probing.1. "What is the difference between a data element and a domain?" Probing: the layering. Stalls: "Nothing." Moves up: the domain defines the technical type and value range; the data element adds the semantic meaning and field labels.
15
2. "Why do search helps belong in DDIC?" Probing: the benefit. Stalls: "Convenience." *Moves up:* defined once on the data element, they appear in every screen and report using that field without extra code.
16
3. "What does a table maintenance generator give you?" Probing: the practical answer. Stalls: "A table." Moves up: a maintenance dialog for a custom table, with transport linkage so configuration moves through the landscape.
17
4. "What is the risk of changing an active table's key?" Probing: the hazard. Stalls: "None." Moves up: it forces a table conversion that rewrites the data, which on a large table means downtime and a real risk of failure mid-way.