DATA - BOXED
DATA struc TYPE struc_type BOXED.
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.
- A structure with a static box is a deep structure and the corresponding restrictions apply.
BOXEDaddition defines the static box with reference to its context (structure or class). A data type that is declared by a direct
LIKEreference 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|STRUCTUREstatement, its static box attribute is also copied.
BOXEDcan also be used in the statement
TYPESto declare a substructure of a nested structured data type.
The following section shows the allowed usage of the addition
[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.