Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Processing Internal Data →  Assignments →  Assigning References →  Setting Field Symbols →  ASSIGN 

ASSIGN - mem_area

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


... static_dobj 
  | dynamic_dobj
  | dynamic_access
  | writable_exp ...

Alternatives

Static SpecificationDynamic SpecificationsSpecifying an Expression

Effect

mem_area is used to specify the memory area that is assigned to the field symbol.

  • The first variant static_dobj is a static variant that is assigned a statically defined data object or part of one of these objects.
  • The second and third variants are dynamic. The variants dynamic_dobj are used for general dynamic access to data objects; the variants dynamic_access are used for dynamic access to the attributes of classes.
  • The result of a writable expression is assigned in the fourth variant.

In an inline declaration of the field symbol with FIELD-SYMBOL(<fs>), the typing of the field symbol is performed for the static variant and for a specified expression with the data type mem_area. In the dynamic variants, the typing is performed with the generic type data.

The variants differ in the way that the system behaves after a successful assignment:

  • The return code sy-subrc is not set for the static variant.
  • In dynamic variants and when a table expression is specified, the statement ASSIGN sets the return code sy-subrc.


Notes

  • In an internal table with a header line, either the header line or the table body can be assigned to a field symbol. In the statement ASSIGN, the name of an internal table with a header line addresses the header line. To address the table body, [] must be appended to the name in the usual way. A field symbol to which a table body is assigned behaves in the same way in operand positions as a table without a header line.
  • Field symbols to which data objects or parts of data objects are assigned in the heap are memory-preserving, like heap references.
  • In an inline declaration of the field symbol with FIELD-SYMBOL(<fs>), the data type of the assigned memory area determines the typing of the field symbol.

Continue

ASSIGN - static_dobj

ASSIGN - dynamic_dobj

ASSIGN - dynamic_access

ASSIGN - writable_exp