DATA: lt_components TYPE cl_abap_structdescr=>component_table, r_tableTYPE REF TO data, "ссылкадлятаблицы r_areaTYPE REF TO data. "ссылкадляструктурытаблицы
FIELD-SYMBOLS: <table> TYPE STANDARD TABLE, "будущаятаблица <struc> TYPE ANY, "структуратаблицы <value> TYPE ANY. "любоеполеструктуры
"сформируемминимальныйнаборполейтаблицы PERFORM add_struc_item USING 'F1' 'STRING' CHANGING lt_components. PERFORM add_struc_item USING 'F2' 'STRING' CHANGING lt_components.
"создадимссылкунатаблицу PERFORM create_table USING lt_components CHANGING r_table.
ASSIGN r_table->* TO <table>."свяжемтаблицусреальнойпеременной
CREATE DATA r_area LIKE LINE OF <table>."ссылканаструктуру ASSIGN r_area->* TO <struc>. "структура
"простейший пример заполнения строки динамической таблицы APPEND INITIAL LINE TO <table> ASSIGNING <struc>.
ASSIGN COMPONENT 'F1' OF STRUCTURE <struc> TO <value>. <value> = 'Value 1'.
ASSIGN COMPONENT 'F2' OF STRUCTURE <struc> TO <value>. <value> = 'Value 2'.
"простейшийвыводнаэкран LOOP AT <table> ASSIGNING <struc>. DO. ASSIGN COMPONENT sy-index OF STRUCTURE <struc> TO <value>. IF sy-subrc = 0. WRITE: <value>, '|'. ELSE. EXIT. ENDIF. ENDDO. ENDLOOP.
"подпрограммадобавленияэлементаструктуры FORM add_struc_item USING p_field TYPE cl_abap_structdescr=>component-name p_type TYPE any CHANGING pt_component TYPE cl_abap_structdescr=>component_table .
"подпрограммасозданияссылкинадинамическуютаблтцу FORM create_table USING pt_components TYPE cl_abap_structdescr=>component_table CHANGING p_table TYPE REF TO data.
DATA: r_struc_typTYPE REF TO cl_abap_structdescr, r_dyntable_typ TYPE REF TO cl_abap_tabledescr, r_dyntable TYPE REF TO data, r_dynstruc TYPE REF TO data.