DATA
Short Reference
ABAP Syntax:
Using Predefined Types
1 DATA { {var[(len)] TYPE abap_type [DECIMALS dec]}
| {var TYPE abap_type [LENGTH len] [DECIMALS dec]} }
[VALUE val|{IS INITIAL}]
[READ-ONLY].
Reference to Existing Types
2 DATA var { {TYPE [LINE OF] type}
| {LIKE [LINE OF] dobj} }
[VALUE val|{IS INITIAL}]
[READ-ONLY].
Reference Variables
3 DATA ref { {TYPE REF TO type}
| {LIKE REF TO dobj} }
[VALUE IS INITIAL]
[READ-ONLY].
Structures
4 DATA BEGIN OF struc [READ-ONLY].
...
DATA comp ...
INCLUDE {TYPE|STRUCTURE} ...
...
DATA END OF struc.
Internal Tables
5 DATA itab { {TYPE tabkind OF [REF TO]
type}
| {LIKE tabkind OF dobj} }
[ tabkeys ] [INITIAL SIZE n]
[WITH HEADER LINE]
[VALUE IS INITIAL]
[READ-ONLY].
Ranges Table
6 DATA rtab {TYPE RANGE OF type}|{LIKE RANGE OF dobj}
[INITIAL SIZE n]
[WITH HEADER LINE]
[VALUE IS INITIAL]
[READ-ONLY].
LOB Handle Structures
7
DATA dtype TYPE dbtab [READ-ONLY]
lob_handle_type
FOR lob_handle_columns
[ lob_handle_type
FOR lob_handle_columns
... ].
Static Boxed Component s
8 DATA struc TYPE struc_type BOXED.
What does it do? The statement DATA declares a
variable of any data type. The declared data
object is visible within the current context as of this position. Within
the declaration part of a class or an interface, DATA declares an
instance attribute whose validity is bound to an instance of a class.
This statement has various syntax forms, which allow elementary data
types, reference types, structured types, and table types to be defined.
With the exception of two additions ( VALUE
and READ-ONLY ), these are the same
syntax forms as in the statement TYPES . In this
way, a new data type can be defined when declaring a data object. The
most important difference compared with the statement TYPES is
that a data type defined using DATA (and not derived from an
existing type) is available only as a property of the declared data
object and is not independent. This kind of data type is bound to its
data object.
For the definition of a structure struc , any data declarations
specified are enclosed in two DATA statements with the additions
BEGIN OF and END OF . Here a struc structure is
declared that contains the enclosed data objects comp as a
struc-comp component. Structure definitions can be nested.
For the names var , ref , struc , comp ,
itab , and rtab , the naming
conventions apply.
Latest notes: The syntax of the DATA statement corresponds to the
syntax of the TYPES statement, with the
exception of two additions . In this way, a new
data type can be defined when declaring a data object. The most
important difference compared with the statement TYPES is that a
data type defined using DATA (and not derived from an existing
type) is available only as a property of the declared data object and is
not independent. This kind of data type is bound to its data object.
Data objects that are declared in a program, but cannot be accessed
there statically, produce a warning message in the enhanced program
check.
An inline declaration of
variables can be made using the declaration operator
DATA .
The obsolete variant DATA ... COMMON PART
declares interface work areas.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved