ABAP Keyword Documentation → ABAP - Reference → Declarative statemnts → Data Types and Data Objects → Declaring Data Objects → DATA
DATA - BOXED
Other versions: 7.31 | 7.40 | 7.54
Syntax
DATA struc TYPE struc_type BOXED.
Effect
This statement defines a structured attribute of a class or an interface as a static box. It can only be located in the declaration section of a class or an interface and only at the highest level.
A structured data type must be specified for struc_type
. This can be a local
program structured type, a visible structured type of a class or a global interface, or a structure from the ABAP Dictionary, and can contain static boxes.
Static boxes support initial value sharing. The structure is not saved in the higher-level context itself. Instead, an internal reference that points to the actual structure is stored in place of the component. A static box is therefore a deep component.
Notes
- A structure with a static box is a deep structure and the corresponding restrictions apply.
-
The
BOXED
addition defines the static box with reference to its context (structure or class). A data type that is declared by a directTYPE
orLIKE
reference to a static box is assigned its data type but is not a static box. -
When a static box is copied from one structure to another structure using the
INCLUDE TYPE|STRUCTURE
statement, its static box attribute is also copied. -
The addition
BOXED
can also be used in the statementTYPES
to declare a substructure of a nested structured data type.
Example
The following section shows the allowed usage of the addition BOXED
with
the statement [CLASS-]DATA
. In a class, declares a static structure struc1
and a structured instance attribute struc2
as a static box.
CLASS c1 DEFINITION.
PUBLIC SECTION.
TYPES: BEGIN OF t_struc,
comp1 TYPE c LENGTH 100,
comp2 TYPE n LENGTH 100,
END OF t_struc.
PRIVATE SECTION.
CLASS-DATA struc1 TYPE t_struc BOXED.
DATA struc2 TYPE t100 BOXED.
ENDCLASS.