Code: Alles auswählen.
data(|LT_PART_{ l_tabix }|) = LT_PART[].
Code: Alles auswählen.
DATA lt_part type t_type.
FIELD-SYMBOLS <ex_tab> TYPE any.
DATA dref TYPE REF TO data.
CREATE DATA dref TYPE t_type.
DATA(ex_tab) = |LT_PART_{ l_tabix }|.
ASSIGN dref->* TO <ex_tab>.
<ex_tab> = lt_part.
Code: Alles auswählen.
DATA: BEGIN OF ls_struc,
name TYPE string,
r_inhalt TYPE REF TO data,
END OF ls_struc.
TYPES ty_struc_t LIKE TABLE OF ls_struc.
DATA lt_struc TYPE ty_struc_t.
FIELD-SYMBOLS <ex_tab> TYPE any.
Code: Alles auswählen.
CREATE DATA ls_struc-r_inhalt TYPE TABLE OF t_type.
ASSIGN ls_struc-r_inhalt->* TO <ex_tab>.
<ex_tab> = lt_part.
ls_struc-name = |LT_PART_{ l_tabix }|.
ls_struc-r_inhalt = <ex_tab>.
APPEND ls_struc TO lt_struc.
Code: Alles auswählen.
TYPES: BEGIN OF ty_struc,
name TYPE string,
r_inhalt TYPE REF TO data,
END OF ty_struc.
TYPES ty_struc_t TYPE STANDARD TABLE OF ty_struc WITH DEFAULT KEY.
DATA lt_struc TYPE ty_struc_t.
FIELD-SYMBOL: <lt_table> TYPE STANDARD TABLE. "<-- Wichtiges Casting für den generischen Tabellenzugriff
* Eine neue "Tabelle" erzeugen und befüllen
DATA: r_table TYPE REF TO data.
CREATE DATA r_table TYPE STANDARD TABLE OF t000 WITH DEFAULT KEY.
ASSIGN r_table->* TO <lt_table>.
SELECT * FROM t000 INTO CORRESPONDING FIELDS OF TABLE <lt_table>.
APPEND VALUE #( name = 'LT_PART_01' r_inhalt = r_table ) TO lt_struc.
* Auf eine "Tabelle" zugreifen und Inhalte ausgeben
READ TABLE lt_struc ASSIGNING FIELD-SYMBOL(<ls_struc>)
WITH KEY name = 'LT_PART_01'.
IF sy-subrc EQ 0.
ASSIGN <ls_struc>-r_inhalt->* TO <lt_table>.
LOOP AT <lt_table> ASSIGNING FIELD-SYMBOL(<la_line>).
ASSIGN COMPONENT 'MANDT' OF STRUCTURE <la_line> TO FIELD-SYMBOL(<ld_mandt>).
WRITE <ld_mandt>.
ENDLOOP.
ENDIF.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
sapdepp • Icke0801