Ich würde gerne in eine dynamisch aufgebaute itab selektieren.
Die zu selektierende Tabelle ist bereits variabel wählbar, was ich nun noch brauche ist eine itab, in welche ich die selektierten Tabellensätze appenden kann.
Da die itab strukturel zu der gewählten Tabelle passen muss kann ich diese nicht "hart" referenzieren, sonder sollte die Struktur auf die gewählte Tabelle passend erhalten.
So im Stile von :
select * from (pa_dbtab) into <fs_wa>.
append ........
Danke für Eure Hilfe
aeon
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
CODING:
report zzz.
parameters pa_dbtab type dd02l-tabname default 'T000'.
data:
d_ref type ref to data.
field-symbols:
<fs_wa> type any,
<fs_comp> type any.
* for type description:
data:
descr_ref type ref to cl_abap_structdescr,
wa_comp type abap_compdescr.
data:
pos type i value 1, len type i.
start-of-selection.
create data d_ref type (pa_dbtab).
assign d_ref->* to <fs_wa>.
* get reference to type descripion object by widening cast:
descr_ref ?= cl_abap_typedescr=>describe_by_data( <fs_wa> ).
* list headings:
sy-tvar1 = descr_ref->absolute_name+6.
* dynamical data selection and output:
select * from (pa_dbtab) into <fs_wa>.
do.
assign component sy-index of structure <fs_wa> to <fs_comp>.
if sy-subrc ne 0.
skip.
exit.
endif.
write <fs_comp>.
enddo.
endselect.
top-of-page.
* create the header line dynamically:
loop at descr_ref->components into wa_comp.
case wa_comp-type_kind.
when 'P'.
len = 2 * wa_comp-length + 1 + wa_comp-decimals.
when 'F'.
len = 22.
when 'I' or 'D'.
len = 10.
when 'T'.
len = 6.
when others.
len = wa_comp-length.
endcase.
write at pos(len) wa_comp-name color col_heading.
pos = pos + len + 1.
endloop.
uline.
deinem Coding nach zu urteilen, scheinst Du Dich in einem 4.7 (oder höher) zu befinden.
Dort sollte der CREATE DATA ... TYPE TABLE OF verfügbar sein.
Ansonsten kannst Du Dir eine Tabelle über die Klasse CL_ALV_TABLE_CREATE anlegen, wobei sich dazu ein Feldkatalog aus der CL_ABAP_STRUCTDESCR aufbauen lassen sollte.
Gruß
Ereglam
May the Force be with your code || .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .