从子程序访问阴影变量?

Access shadowed variable from subroutine?

如何从子程序调用阴影变量?

下面是代码示例,我想在其中打印阴影变量值:

data i type i value 13.

perform _form.

form _form.
  data i like i.
  i = 17.

  " write shadowed i value here
endform.

有可能用 ASSIGN ('(PROGRAMM)VARIABLE') TO FIELD-SYMBOL(<lv_fs>) 动态地做到这一点。

举个例子。

REPORT zz_test.

DATA i TYPE i VALUE 13.

PERFORM _form.

FORM _form.
  FIELD-SYMBOLS <lv_shadow> TYPE i.
  DATA i LIKE i.
  i = 17.

  " write shadowed i value here
  ASSIGN ('(ZZ_TEST)I') TO <lv_shadow> CASTING.
  IF <lv_shadow> IS ASSIGNED.
    WRITE <lv_shadow>.
  ENDIF.
ENDFORM.