ARTICLE
DATA - Inline Declaration
Syntax
... DATA(var) ...
Effect
A declaration expression with the declaration operator DATA
declares a variable var used as an
operand in the current writer position
. The declared variable is visible statically in the program from
DATA(var) and is valid in the current
context . The declaration is made when the program is compiled,
regardless of whether the statement is actually executed.
The declaration operator DATA can be specified in every
compatible declaration position . The
date type of the variable is determined by the
operand type . It must be possible to
derive this type statically in full.
Wenn die Variable var mehrmals innerhalb der Anweisung mit dem
Deklarationsausdruck DATA(var) vorkommt, muss dieser vor den
anderen Nennungen aufgef�hrt sein mit einer Ausnahme: Bei Zuweisungen
mit dem Gleichheitszeichen = wird erst die rechte und dann die
linke Seite ausgewertet.
A variable var declared inline cannot be used in a reader
position of the same statement.
ABAP_PGL Only use inline
declarations locally .
Notes
A valid statement with an inline declaration of a variable can generally
be interpreted as a short form for a declaration statement used as a
direct prefix.
DATA var TYPE ...
... var ...
Exceptions to this rule occur only if an identically named data object
from a more global context is used in the same statement. This field
symbol is still valid and is only hidden after the statement.
Just like the statement DATA , an inline declaration does not open
a local context for the current statement block. An inline declaration
for a variable can only be made once within a context and the variable
cannot yet be declared there using DATA .
The operand position and the types of other operands can be included in
the static derivation of the operand type. If the type of a different
operand cannot be identified statically (perhaps because it is specified
as a generically typed field symbol), either a suitable
standard type is used or no inline
declaration is possible.
If more than one equally valid operand type is possible in the same
declaration position , the recommended
preferred data type is generally used.
Example
Inline declaration of an internal table as a target field of an
assignment and inline declaration of an appropriate work area in a
LOOP .
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.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved