ABAP Dictionary in the Classical ABAP World
Play the video to learn about the tasks of the ABAP dictionary.
Let us have a closer look at these tasks.
A database table definition in the ABAP Dictionary is a representation of the table on the database. It is independent from the details of the database. As an example, it uses its own built-in types and not the DB-specific types. The definition contains the field list of the table and additional table properties.
When ABAP code accesses the database table in an ABAP SQL statement, the ABAP Syntax check analyzes the definition in the ABAP Dictionary. Among other things, it makes sure the table and the table fields exist.
At runtime, the database Interface translates the ABAP SQL statement into the database specific SQL syntax and sends it to the database. For this, it also queries the table definition in the ABAP Dictionary.
Note
In the past, database views were handled in the same way. But those ABAP dictionary views are outdated and ABAP Core Data Services views are used instead (see the next lesson).
The second task of the ABAP dictionary is the providing of data types for ABAP code. The data types defined in the ABAP Dictionary are visible in the entire system. This distinguishes them from data types defined with ABAP keyword TYPES.
Dictionary types can be scalar types (data elements), structure types (structures) and table types. The definitions of database tables have a double role: In the first place, they define a database object, but in addition, they can also serve as data types in ABAP code.
Note
In general, the use of database table definitions as data types is not recommended. Use dedicated structure types instead.
In the classical ABAP UI technologies, the ABAP Dictionary fulfilled a third task. Dictionary objects, mostly structure types and database table definitions, were enriched with semantic information, like foreign key relations and search help bindings. When UI elements referenced the dictionary objects, the additional information was used to provide end user texts, value helps, input checks, and so on.
This task of the ABAP Dictionary is not relevant for modern UI technologies, namely the ABAP RESTful Application Programming Model. The ABAP RESTful Application Programming Model uses metadata in CDS entities to provide services for the user interface.
In this training course we will not discuss ABAP Dictionary features related to classical ABAP UI programming. Classical ABAP UI techniques are outdated and not supported in ABAP Cloud.