ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Deklarationen →  Inline-Deklarationen → 

DATA - Inline-Deklaration

Syntax

... DATA(var) ...

Wirkung

Ein Deklarationsausdruck mit dem Deklarationsoperator DATA deklariert eine Variable var, die an der aktuellen Schreibposition als Operand verwendet wird. Die deklarierte Variable ist ab DATA(var) statisch im Programm sichtbar und im aktuellen Kontext gültig. Die Deklaration erfolgt beim Kompilieren des Programms und unabhängig davon, ob die Anweisung tatsächlich ausgeführt wird.

Der Deklarationsoperator DATA kann an jeder dafür vorgesehenen Deklarationsposition aufgeführt werden. Der Datentyp der Variablen wird durch den Operandentyp bestimmt. Dieser muss statisch vollständig ableitbar sein.

Eine inline deklarierte Variable var darf nicht an einer Leseposition der gleichen Anweisung verwendet werden.

Programmierrichtlinie

Inline-Deklarationen nur lokal verwenden.

Hinweise

DATA var TYPE ...
... var ...
Abweichungen von der Regel ergeben sich nur, wenn in der gleichen Anweisung ein gleichnamiges Datenobjekt eines globaleren Kontexts verwendet wird. Dieses ist in der Anweisung noch gültig und wird erst hinter der Anweisung verschattet.

Beispiel

Inline-Deklaration einer internen Tabelle als Zielfeld einer Zuweisung und Inline-Deklaration eines passenden Arbeitsbereichs in einer LOOP-Schleife.

TYPES t_itab TYPE TABLE OF i
             WITH NON-UNIQUE KEY table_line.

DATA(itab) = VALUE t_itab( ( 1 ) ( 2 ) ( 3 ) ).
LOOP AT itab INTO DATA(wa).
  ...
ENDLOOP.

Beispiel

Inline-Deklaration einer internen Tabelle als Zielfeld einer SELECT-Anweisung und Inline-Deklaration einer Variable für die nach HTML transformierte Tabelle. Der Datentyp der Variable wird durch den Rückgabewert der Methode bestimmt.

SELECT *
       FROM scarr
       INTO TABLE @DATA(itab).

DATA(html) = cl_demo_output=>get( itab ).