Я пытался поместить ее в эту переменную, но это не сработало:
Какую ошибку вы получаете?
Вот пример со стандартным классом преобразования структуры, который также имеет ANY
типизированный параметр ex_value
, и он прекрасно работает с ANY
символами поля.
DATA: gattrdata LIKE brelattr-gattrdata.
FIELD-SYMBOLS: <fs_incl> TYPE ANY, <fs_wa> TYPE str_type.
CALL METHOD cl_abap_container_utilities=>read_container_c
EXPORTING
im_container = gattrdata
IMPORTING
ex_value = <fs_incl>
EXCEPTIONS
illegal_parameter_type = 1
OTHERS = 2.
CHECK sy-subrc = 0.
MOVE-CORRESPONDING <fs_incl> TO <fs_wa>.
В таких случаях вы можете угадать тип с помощью RTTS, а затем заменить символ поля на напечатанную ссылку ref_wa
:
DATA: ref_wa TYPE REF TO data,
ref_rowtype TYPE REF TO cl_abap_structdescr.
ref_rowtype ?= cl_abap_typedescr=>describe_by_data( <fs_incl> ).
CREATE DATA ref_wa TYPE HANDLE ref_rowtype.
, но определенно лучше / безопаснее знать тип заранее, как сказала Сандра.