ABAP OO – Access class attributes dynamically

SAPThe piece of code presented in this article is just a short demonstration of how you can access class attributes dynamically – when the attribute name is stored in a variable which value is determined during run time.

CLASS lcl_myclass DEFINITION.
  PUBLIC SECTION.
    DATA:
      m_dynvar TYPE char10,
      m_var_a  TYPE c VALUE 'X',
      m_var_b  TYPE c VALUE 'Y'.
ENDCLASS.

DATA:
  lr_myclass TYPE REF TO lcl_myclass.

FIELD-SYMBOLS:
  <fs_var> TYPE any.

CREATE OBJECT lr_myclass.

lr_myclass->m_dynvar = 'm_var_A'.
ASSIGN lr_myclass->(lr_myclass->m_dynvar) TO <fs_var>.
WRITE <fs_var>.

lr_myclass->m_dynvar = 'm_var_B'.
ASSIGN lr_myclass->(lr_myclass->m_dynvar) TO <fs_var>.
WRITE <fs_var>.

Output:

X Y

Leave a Reply