ABAP Keyword Documentation → ABAP - Reference → Declarative statemnts → Data Types and Data Objects → Declaring Data Types → TYPES → TYPES - BEGIN OF
TYPES - BOXED
Other versions: 7.31 | 7.40 | 7.54
Syntax
TYPES comp TYPE struc_type BOXED.
Effect
This statement defines a substructure comp
of a structure as a
static box. It can only
be used within the relevant structure definition with the
BEGIN OF and END OF
additions of the TYPES
statement and must be at the highest component level and not within nested BEGIN OF ... END OF
blocks.
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. -
If you want to create a nested structure whose static boxes already contain static boxes, this is only
possible if each substructure affected exists as an independent type. You cannot specify
BOXED
for substructures that exist as a result of nestedTYPES BEGIN OF ... TYPES END OF
. -
The
BOXED
addition can also be used in the DATA statement to declare a structured attribute of a class or an interface.
Example
The following section shows the permitted use of the addition BOXED
with
the statement TYPES
. In a structured type t_struc2
,
a substructure t_struc2-comp2
of type t_struc1
is declared as a static box.
TYPES: BEGIN OF t_struc1,
comp1 TYPE c LENGTH 100,
comp2 TYPE n LENGTH 100,
END OF t_struc1.
TYPES: BEGIN OF t_struc2,
comp1 TYPE string,
comp2 TYPE t_struc1 BOXED,
END OF t_struc2.