Code: Alles auswählen.
REPORT ztestrefdata.
DATA: gt_data TYPE zztestrefdata,
wa_data TYPE zzteststrefdata.
CONSTANTS: co_tb01 TYPE tabname VALUE 'MARA',
co_tb02 TYPE tabname VALUE 'MAKT',
co_tb03 TYPE tabname VALUE 'VBAK'.
FIELD-SYMBOLS: <tab> TYPE ANY TABLE.
* MARA
CLEAR wa_data.
CREATE DATA wa_data-data TYPE TABLE OF (co_tb01).
ASSIGN wa_data-data->* TO <tab>.
SELECT * FROM mara UP TO 10 ROWS
INTO TABLE <tab>.
APPEND wa_data TO gt_data.
* MAKT
CLEAR wa_data.
CREATE DATA wa_data-data TYPE TABLE OF (co_tb02).
ASSIGN wa_data-data->* TO <tab>.
SELECT * FROM makt UP TO 10 ROWS
INTO TABLE <tab>.
APPEND wa_data TO gt_data.
* VBAK
CLEAR wa_data.
CREATE DATA wa_data-data TYPE TABLE OF (co_tb03).
ASSIGN wa_data-data->* TO <tab>.
SELECT * FROM vbak UP TO 10 ROWS
INTO TABLE <tab>.
APPEND wa_data TO gt_data.
BREAK-POINT.
Code: Alles auswählen.
REPORT ztestrefdata.
DATA: gt_data TYPE zztestrefdata,
wa_data TYPE zzteststrefdata.
DATA: gt_vbap TYPE TABLE OF vbap.
FIELD-SYMBOLS: <tab> TYPE ANY TABLE,
<wa> TYPE ANY.
DO 3 TIMES.
CASE sy-index.
WHEN '1'.
wa_data-tabname = 'MARA'.
wa_data-ktext = 'Materialien'.
WHEN '2'.
wa_data-tabname = 'MAKT'.
wa_data-ktext = 'Materialtexte'.
WHEN '3'.
wa_data-tabname = 'VBAK'.
wa_data-ktext = 'Vertriebsbeleg'.
ENDCASE.
* Datenobjekt instanzieren
CREATE DATA wa_data-data TYPE TABLE OF (wa_data-tabname).
ASSIGN wa_data-data->* TO <tab>.
* Daten selektieren aus Datenbank
SELECT * FROM (wa_data-tabname) UP TO 10 ROWS
INTO TABLE <tab>.
APPEND wa_data TO gt_data.
ENDDO.
* alternativ Zuweisung aus itab
SELECT * FROM vbap UP TO 10 ROWS
INTO TABLE gt_vbap.
wa_data-tabname = 'VBAP'.
wa_data-ktext = 'Vertriebsbelegpos.'.
* Datenobjekt instanzieren
CREATE DATA wa_data-data TYPE TABLE OF (wa_data-tabname).
ASSIGN wa_data-data->* TO <tab>.
* Zuweisung aus Itab
<tab> = gt_vbap[].
APPEND wa_data TO gt_data.
* Daten sinnlos ausgeben ( Unicodeprüfung deaktiviert )
LOOP AT gt_data INTO wa_data.
WRITE: / 'Daten aus Tabelle ' ,wa_data-tabname.
ASSIGN wa_data-data->* TO <tab>.
LOOP AT <tab> ASSIGNING <wa>.
WRITE / <wa>.
ENDLOOP.
SKIP 4.
ENDLOOP.
BREAK-POINT.
Code: Alles auswählen.
*(1) DATA: data_tab TYPE REF TO data.
FIELD-SYMBOLS: <data_tab>, <data_tab2>.
CREATE DATA tab_line-data_table
TYPE STANDARD TABLE OF iflot.
*(2) CREATE DATA data_tab
* TYPE STANDARD TABLE OF iflot.
ASSIGN mares_line-data_table->* TO <data_tab>.
*(3) ASSIGN data_tab->* TO <data_tab>.
<data_tab> = gt_iflot[].
tab_line-tabname = 'IFLOT'.
tab_line-ddtext = 'Technischer Platz '.
*(4) tab_line-data_table = <data_tab>.
APPEND tab_line TO gt_tab.