Sieh Dir einmal meinen Test-Report an. Er ließt dynamisch eine Tabelle über SELECT. Dann macht er einen LOOP über diese dynamische Tabelle und ,…
Noch Fragen ???
Gruß
Arni
*&--------------------------------------------------------------*
*& Report *
*& *
*&--------------------------------------------------------------*
*& *
*& *
*&------- ---------------------------------------- ---------*
REPORT ZDTTEST11 .
* In der Tables-Anweisung müssen alle Tabellen definiert
* werden, die jemals dynamisch verwendet werden könnten. Dies
* ist bis SAP-Release 6.10 notwendig.
TABLES /RTC/AS_JOB_LS.
PARAMETERS: TABNAME LIKE DD02L-TABNAME DEFAULT ‚/RTC/AS_JOB_LS‘.
FIELD-SYMBOLS: TYPE TABLE.
data: table_fields like dbfield occurs 0 with header line.
data: begin of text_table occurs 0,
line(500).
data: end of text_table.
* Die drei folgenden Zeilen sind Systeme notwendig, die nur
* UNICODE Programme erlauben z.B. 6.10 er Systeme mit Profil-
* Parameter abap/unicode_check = on
*data: itab type ref to data.
*create data: itab type standard table of (tabname).
*assign: itab->* to .
* Muß in UNICODE-Systemem verwendet werden.
*perform read_table_data tables
* table_fields
* using tabname.
* Wird in nicht UNCODE-Systemen verwendet
PERFORM READ_TABLE_DATA TABLES TEXT_TABLE
TABLE_FIELDS
USING TABNAME.
* Ausgeben der Spalten-Überschriften
loop at table_fields.
write table_fields-name.
endloop.
write :/.
* Muß in UNICODE-Systemem verwendet werden.
*perform write_list tables
* using tabname.
* Wird in nicht UNCODE-Systemen verwendet
PERFORM WRITE_LIST TABLES TEXT_TABLE
USING TABNAME.
*---------------------------------------------------------------*
* FORM WRITE_LIST *
*----------------------------------- ---------------------------*
* … *
*------------------ --------------------------------------------*
* Ausgabe der einzelnen Tabellen-Zeilen
FORM WRITE_LIST TABLES ITAB
USING TABNAME.
FIELD-SYMBOLS: TYPE TABLE,
TYPE ANY,
.
ASSIGN (TABNAME) TO .
ASSIGN LOCAL COPY OF: ITAB[] TO .
LOOP AT INTO .
do.
read table table_fields index sy-index.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE TO
.
if sy-subrc 0.
exit.
endif.
write : .
enddo.
write :/.
endloop.
ENDFORM.
*---------------------------------------------------------------*
* FORM read_table_data
*---------------------------------------------------------------*
*
*---------------------------------------------------------------*
* Lesen der Tabelleninfos z.B. Anzahl der Felder, Größe der
* Felder,…
FORM READ_TABLE_DATA TABLES ITAB
table_fields structure dbfield
using tabname.
call function ‚DB_GET_TABLE_FIELDS‘
exporting
* FIELD_INFO = ‚A‘
tabname = tabname
* IMPORTING
* SUBRC =
tables
dbfields = table_fields
exceptions
others = 1.
sort table_fields by keyflag descending keypos column.
* Lesen der Tabelle in interene Tabelle.
SELECT * FROM (TABNAME) INTO TABLE ITAB.
endform. "read_table_data
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]