Christoph Lordieck
3. März 2026

ABAP Inline-Deklaration

ABAP Inline Deklaration

Bei der Inline-Deklaration handelt es sich um eine alternative Möglichkeit, um Variablen in ABAP zu deklarieren. Diese ermöglicht es an der aktuellen Schreibposition Variablen zu deklarieren, wodurch nicht mehr alle Variablen zu Beginn des Codes deklariert werden müssen.

Das Wichtigste im Überblick

  • Inline-Deklaration ist eine alternative Variablendeklaration direkt am Verwendungsort (DATA(var)), verfügbar ab ABAP 7.40.
  • Sie funktioniert dort gut, wo der Datentyp eindeutig ist; vorherige Nutzung führt zu Syntaxfehlern.
  • Typische Einsatzfelder sind Zuweisungen, SELECT INTO TABLE @DATA(…), LOOP INTO DATA(…) und Field-Symbol-Zuweisungen.
  • Vorteile sind schlankerer Code und weniger Typisierungsaufwand; Nachteile sind weniger Überblick und teils unklare Datentypen.

Datendeklaration

Vor der Einführung von ABAP 7.40 mussten Nutzer jede verwendete Variable zu Beginn des Codes vollständig mit dem Datentyp deklarieren. Ab der Version 7.40 können Variablen an verschiedenen Schreibpositionen im Code deklariert werden. Die Syntax für die Inline-Deklaration sieht folgendermaßen aus:

… DATA(var) …

Sie können die Inline-Deklaration an jeder Position verwenden, an der Sie den Typ eindeutig feststellen können. Zum Beispiel bei einer einfachen Zuweisung oder bei Zielfeldern verschiedener Anweisungen. Die Variable ist ab dieser Position gültig und kann im Programm verwendet werden. Eine Verwendung vor dieser Position führt zu einem Syntax-Fehler.

Sie benötigen unkomplizierte Unterstützung im Bereich ABAP Core Data Services? Wir haben den passenden ABAP CDS Entwickler für Sie.

Vorteile der Inline-Deklaration

Generell hat die Methode die folgenden Vorteile:

  • Der Programm-Code wird schlanker und lesbarer.
  • Die Inline-Deklaration markiert die Stelle, an der die Variable das erste Mal auftaucht und ermöglicht es, mit der Vorwärtsnavigation zu dieser Stelle zu springen.
  • Es ist keine explizite Typisierung notwendig. Der Typ der Variable wird bei einer Zuweisung von dem Operanden übernommen.
  • Es können Field-Symbols mit der Inline-Deklaration zugewiesen werden.
  • Bei einer Loop-Anweisung oder einem Select-Statement passt sich die Struktur bzw. Tabelle automatisch an.

Nachteile der Inline-Deklaration

Neben diesen Vorteilen ergeben sich jedoch auch einige Nachteile:

  • Der Überblick über alle vorhandenen Variablen geht verloren, weil die Variablen an der Schreibposition deklariert werden und nicht einheitlich zu Beginn des Codes.
  • Der Datentyp einer Variablen ist nicht direkt erkennbar.
  • Sie können die Inline-Deklaration nicht bei Aufrufen von Funktionsbausteinen oder Form-Routinen verwenden.

Anwendungsbeispiele

Zuweisung

DATA(lv_text) = ‘Lorem ipsum’.
DATA(lv_result) = lv_zahl1 + lv_zahl2.

Select into table

Bei einem Select-Statement passt sich die Variable automatisch den ausgewählten Spalten der Tabelle an. Der Vorteil dabei ist, dass Sie bestimmte Spalten auswählen oder eigene Spalten hinzufügen können, ohne dass Sie einen neuen Datentyp für die Variable definieren müssen.

SELECT carrid, connid, depptime, arrtime
FROM spfli
WHERE carrid = ‘LH’
INTO TABLE @DATA(lt_spfli).

Loop into

Die Loop-Schleife durchläuft eine Tabelle und schreibt den aktuellen Datensatz in eine Struktur. Mit der Inline-Deklaration passt sich der Datentyp der Struktur automatisch der Tabelle an.

LOOP AT lt_spfli INTO DATA(ls_wa).

ENDLOOP.

In unserem Webinar zeigen wir Ihnen, welche Prinzipien erfüllt sein müssen, um einen Clean Core im SAP-Umfeld zu erreichen.

Field-Symbols

Ein Field-Symbol können Sie mit der folgenden Syntax deklarieren:

… FIELD-SYMBOLS(<fs>) …

Die Inline-Deklaration bietet auch hier den Vorteil, dass Sie auf die explizite Typisierung verzichten können. Field-Symbols sind besonders bei dem Durchlaufen einer Loop-Schleife zu empfehlen. Dadurch können die Nutzer nicht nur den Datensatz auslesen, sondern auch Werte ändern.

ASSIGN lv_text TO FIELD-SYMBOL(<fs_text>).
LOOP AT lt_spfli ASSIGNING FIELD-SYMBOL(<fs_spfli>).

ENDLOOP.

Methoden

Bei einem Methodenaufruf können Sie die Inline-Deklaration für die Aktualparameter einsetzen. Der Nachteil dabei ist, dass der Datentyp nicht mehr innerhalb des Programms zu erkennen ist. Aus diesem Grund empfehle ich den Datentyp in einem Kommentar hinzuzufügen, sodass der Code einfach zu lesen bleibt. Andere Formen der Modularisierung, wie Funktionsbausteine und Form-Routinen, werden nicht unterstützt.

CALL METHOD cl_klasse=>methode
EXPORTING
iv_import = lv_text
IMPORTING
ev_export = DATA(lv_return).

Howto ABAPGit einrichten

abapGit einrichten [Howto]

In diesem How-to erkläre ich Ihnen Schritt für Schritt, wie Sie abapGit bei sich einrichten und davon profitieren können.

Fazit: Inline-Deklaration

Mit Hilfe der Inline-Deklaration können Sie den Programm-Code verkürzen und die Lesbarkeit erhöhen. Entwickler können auf die Typisierung von Variablen verzichten. Dadurch ersparen sie sich das Anlegen von speziellen Datentypen für beispielsweise Tabellen, die sie mit einem Select-Statement befüllen können. Außerdem können Anwender bei dem Durchlaufen einer Tabelle mit einer Loop-Schleife die Struktur direkt am Verwendungsort deklarieren. Das macht den Code leichter lesbar.

Allgemein ist zu beachten, dass die Inline-Deklaration die bisherige Deklaration nicht vollständig ersetzt. Vielmehr bietet sie eine Möglichkeit, die Lesbarkeit der Codes zu verbessern. Aus diesem Grund sollten Sie bei Aktualparametern von Methoden möglichst auf die Inline-Deklaration verzichten, weil der Datentyp sich nicht aus dem Programm-Code ableiten lässt. Im Gegensatz dazu ist es bei Hilfsvariablen empfehlenswert, diese am Verwendungsort zu deklarieren.

Websession: ABAP Inline-Deklaration

Kontaktieren Sie uns gerne, wenn Sie weitere Fragen zum Thema ABAP Inline-Deklaration haben.

Dieser Artikel erschien bereits im Februar 2020. Der Artikel wurde am 03.03.2026 erneut geprüft und mit leichten Anpassungen aktualisiert.

FAQ

Was bedeutet Inline-Deklaration in ABAP?

Inline-Deklaration erlaubt es, Variablen direkt an der Stelle zu deklarieren, an der sie erstmals gebraucht werden, z. B. mit DATA(var).

Ab welcher ABAP-Version ist Inline-Deklaration möglich?

Ab ABAP 7.40 können Nutzer Variablen an verschiedenen Stellen im Code inline deklarieren.

Wo kann ich Inline-Deklaration einsetzen und wo nicht?

Sie ist möglich, wenn der Typ eindeutig ableitbar ist (z. B. Zuweisung, SELECT … INTO TABLE @DATA(…), LOOP … INTO DATA(…), ASSIGN … FIELD-SYMBOL(…)). Nicht unterstützt wird sie bei Funktionsbausteinen und Form-Routinen.

Was sind die wichtigsten Vor- und Nachteile?

Vorteile: weniger Deklarationsblock am Anfang, schlankerer Code, automatische Übernahme des Typs. Nachteile: geringerer Überblick über alle Variablen und Nutzer können die Datentypen nicht immer direkt erkennen.

Christoph Lordieck

Christoph Lordieck

Als Bereichsleiter SAP Entwicklung berate ich Unternehmen rund um das Thema SAP Individualentwicklung. Einige Jahre Projekt- und Umsetzungserfahrung haben meinen Wissenshunger noch nicht gestillt und ich suche ständig nach neuen Themen und Entwicklungen im ABAP-Umfeld.

Sie haben Fragen? Kontaktieren Sie mich!




Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice