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 as attributes bound to data objects or as standalone data objects. Standalone data types can be defined either in ABAP Dictionary or using the statement TYPES 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 created either implicitly when a program or procedure is loaded (named data object), or by using the statement CREATE DATA (anonymous data object). Named data objects are either variables (statements DATA, CLASS-DATA, and so on) or constants (statement CONSTANTS).

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

As far as the ABAP runtime environment is concerned, only the technical attributes 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

Continue

Bound and Standalone Data Types

Declaration of Data Types and Constants

Declaration of Variables

Inline Declarations

Including Structures

Using Types

Reference to Data Types or Data Objects

Table Work Areas

Literals

Strings

Start Values

Data Objects for Truth Values