Data objects contain the data with which ABAP programs work at runtime. They are not persistent, but only exist for the duration of the program. Before you can process persistent data (such as data from a database table or from a sequential file), you must read it into data objects first. Conversely, if you want to retain the contents of a data object beyond the end of the program, you must save it in a persistent form.
ABAP contains the following kinds of data objects:
LiteralsLiterals are not created by declarative statements. Instead, they exist in the program code. Like all data objects, they have fixed technical attributes (field length, number of decimal places, data type), but no name. They are therefore referred to as unnamed data objects.
Named Data Objects
You declare these data objects either statically or dynamically at runtime. Their technical attributes - field length, number of decimal places, and data type - are always fixed. These data objects have a name that you can use to address them from ABAP programs. They are therefore referred to as named data objects. ABAP contains the following kinds of named data objects:Text symbols are pointers to texts in the text pool of the ABAP program. When the program starts, the corresponding data objects are generated from the texts stored in the text pool. They can be addressed using the name of the text symbol. Variables are data objects whose contents can be changed using ABAP statements. You declare them using the DATA, CLASS-DATA, STATICS, PARAMETERS, SELECT-OPTIONS, and RANGES statements. Constants are data objects whose contents cannot be changed. You declare them using the CONSTANTS statement. Interface work areas are special variables that serve as interfaces between programs, screens, and logical databases. You declare them using the TABLES and NODES statements.
Predefined Data ObjectsPredefined data objects do not have to be declared explicitly - they are always available at runtime.
Dynamic Data ObjectsDynamic data objects are not declared statically in the declaration part of a program. Instead, you create them dynamically using data references. They do not have a name.