Skip to content

ABAP Keyword Documentation →  ABAP Programming Guidelines →  Robust ABAP 

Data Types and Data Objects

Together with classes and objects, data types and data objects are the essentials of ABAP programming.

  • Data Type
A data type describes a data object, just as a class describes an object. In this sense, a data type is comparable with a class without methods. ABAP interprets the content of a data object in accordance with its data type. Data types exist either bound as a property of data objects or independently. Independent data types can be defined either in the ABAP Dictionary or using the TYPES statement in an ABAP program.
  • Data Object
A data object is an instance of a data type, just as an object is an instance of a class. It exists in the internal session of an ABAP program or as a shared object in the shared memory and occupies memory there for the contained data. A data object is generated either implicitly when a program or procedure is loaded (named data object), or by using the CREATE DATA statement (anonymous data object). Named data objects are either variables (DATA, CLASS-DATA statements, and so on) or constants (CONSTANTS statement).

A data type describes the technical properties of a data object (for example, the elementary types it is comprised of, its length) and semantic properties (what type of entity is represented by the data object). Types that are defined in the ABAP dictionary have additional properties, for example for input/output on a classic screen or in Web Dynpro.

As far as the ABAP runtime environment is concerned, only the technical properties of a data object are of interest for program execution. However, the semantic information, which is linked to the appropriate use of types, is essential for the legibility of the source code. For this reason, some of the rules covered in this section could also fall under the heading Structure and Style, since this covers not only robustness, but also good style, which, although it does not affect program execution, is nevertheless significant for readability and maintainability.

Other versions: 7.31 | 7.40 | 7.54


Bound and Standalone Data Types

Declaration of Data Types and Constants

Declaration of Variables

Including Structures

Using Types

Reference to Data Types or Data Objects

Table Work Areas



Start Values

Data Objects for Truth Values