Zum Hauptinhalt springen

Datenobjekte

Deklaration variabler Datenobjekten

Bei der Deklaration eines Datenobjekts werden der Laufzeitumgebung Bezeichner und Datentyp des Datenobjekts bekanntgegeben. Die Deklaration erfolgt über das Schlüsselwort DATA.

TYPES t_decimal_16_2 TYPE p LENGTH 16 DECIMALS 2.

DATA carrier_id TYPE c LENGTH 3. " Using ABAP Default Type
DATA flight_price TYPE t_decimal_16_2. " Using Local Datatype
DATA connection_id TYPE /dmo/connection_id. " Using Data Element
Hinweis

Mit dem Zusatz LENGTH kann bei unvollständigen Datentypen die Länge des Datentyps in Byte angegeben werden und beim Datentyp P kann zusätzlich mit dem Zusatz DECIMALS die Anzahl der Nachkommastellen angegeben werden.

Wertzuweisung

Mit dem Zuweisungsoperator = wird dem Operanden der linken Seite der Wert des Ausdrucks der rechten Seite zugewiesen. Bei unterschiedlichen Typen wird automatisch eine Typkonvertierung durchgeführt, falls eine entsprechende Konvertierungsregel existiert.

" Assignment Operator
DATA carrier_id TYPE /dmo/carrier_id.
carrier_id = 'LH'.

" Static Default Value
DATA flight_date TYPE /dmo/flight_date VALUE '20230101'.

" Inline Declaration
DATA(connection_id) = '0400'.
Hinweis

Mit dem Zusatz VALUE kann der Wert eines elementaren Datenobjekts schon bei der Deklaration vorbelegt werden.

Initialisierung

Mit der Anweisung CLEAR kann der Inhalt eines Datenobjekts auf den Initialwert zurückgesetzt werden.

DATA carrier_id TYPE /dmo/carrier_id VALUE 'LH'.
CLEAR carrier_id.

Deklaration fixer Datenobjekte

Datenwerte von fixen Datenobjekten können zur Laufzeit nicht mehr verändert werden. Man unterscheidet dabei zwischen Literalen (fixe Datenobjekten ohne Bezeichner) und Konstanten (fixe Datenobjekte mit Bezeichner). Konstanten werden mit dem Schlüsselwort CONSTANTS definiert.

CONSTANTS co_pi TYPE p LENGTH 2 DECIMALS 2 VALUE '3.14'.

Systemfelder

Systemfelder sind eingebaute Datenobjekte, die von der Laufzeitumgebung geändert werden.

SystemfeldInhalt
SY-MANDTAnmeldemandant des Benutzers
SY-UNAMEAnmeldename des Benutzers
SY-LANGUAnmeldesprache des Benutzers
SY-DATLOSystemdatum des Benutzers
SY-TIMLOSystemzeit des Benutzers
SY-INDEXSchleifenzähler
SY-TABIXTabellenindex
SY-DBCNTDatensatzzähler
SY-SUBRCReturncode einer ABAP-Anweisung