Ansicht
Dokumentation

ABENDATA_INLINE - DATA INLINE

ABENDATA_INLINE - DATA INLINE

Addresses (Business Address Services)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

DATA, Inline-Deklaration für Variablen

... 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.

Falls es im aktuellen Kontext bereits ein Datenobjekt namens data gibt, wird eine Angabe DATA(var) nicht als Inline-Deklaration, sondern als Teilfeldzugriff interpretiert. Eine Syntaxwarnung weist dann darauf hin. Nur wenn es noch kein Datenobjekt namens data gibt, wirkt DATA(var) als Inline-Deklaration.

Inline-Deklarationen nur lokal verwenden.

Hinweise

  • Eine erlaubte Anweisung mit einer Inline-Deklaration einer Variablen kann in der Regel als Kurzform für eine direkt vorangestellte Deklarationsanweisung gesehen werden:
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.
  • Eine Inline-Deklaration öffnet genau wie die Anweisung DATA keinen lokalen Kontext für den aktuellen Anweisungsblock. Eine Inline-Deklaration für eine Variable kann nur ein einziges Mal innerhalb eines Kontexts vorgenommen werden und die Variable darf dort noch nicht mit DATA deklariert worden sein.
  • Eine Inline-Deklaration kann nie auf der rechten Seite einer Zuweisung oder innerhalb eines Ausdrucks vorkommen.
  • In die statische Ableitung des Operandentyps können die Operandenposition und auch die Typen anderer Operanden eingehen. Wenn der Typ eines anderen Operanden statisch nicht festgestellt werden kann, beispielsweise weil er als generisch typisiertes Feldsymbol angegeben ist, wird entweder ein geeigneter Standardtyp verwendet oder es ist keine Inline-Deklaration möglich.
  • Wenn der Operandentyp durch Bezug auf einen Datentyp des ABAP Dictionary definiert ist, wird dieser mit seinen semantischen Eigenschaften wie Feldhilfe, Eingabehilfe oder Konvertierungsroutinen übernommen.
  • Wenn an einer Deklarationsposition mehrere gleichberechtigte Operandentypen möglich sind, wird in der Regel der Datentyp verwendet, dessen bevorzugte Verwendung empfohlen ist.
  • Wenn im aktuellen Kontext keine anderen Schreibzugriffe auf die Variable var stattfinden sollen, ist es vorzuziehen, statt DATA eine unveränderliche Variable mit dem Deklarationsoperator FINAL zu deklarieren.

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

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.

Beispiel

Falls es im aktuellen Kontext noch kein Datenobjekt namens data gibt, ist die erste Anweisung eine Inline-Deklaration und die zweite Anweisung führt einen Teilfeldzugriff aus.

DATA(data) = '1'.
DATA(data) = '2'.






ROGBILLS - Synchronize billing plans   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5328 Date: 20240523 Time: 181918     sap01-206 ( 84 ms )