Dynamische Interne Tabellen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Dynamische Interne Tabellen

Beitrag von AEONFLUX (ForumUser / 6 / 0 / 0 ) »
Hallo,

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.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo AEONFLUX,

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
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3097
Views
8
Antw.
4019
Views
dynamische Tabellen
von juli » 11.08.2005 14:31 • Verfasst in ABAP® für Anfänger
3
Antw.
2370
Views
Dynamische interne Tabelle
von c0lt.seavers » 01.08.2007 09:55 • Verfasst in ABAP® für Anfänger
0
Antw.
1627
Views
Dynamische Tabellen Synchronisation
von Kresiquadratur » 19.07.2007 15:12 • Verfasst in ABAP® Core
4
Antw.
6543
Views
Interne Tabelle - dynamische Spaltenabfrage?
von MacLeod » 13.10.2011 11:48 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Gewährleistungsende im Equipment
vor 6 Stunden von Yourairld gelöst 8 / 22026
IF mit AND und OR
vor einer Woche von GastX 6 / 9686
Meine Inbox
vor einer Woche von Rabea1103 1 / 7347
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 8502

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Gewährleistungsende im Equipment
vor 6 Stunden von Yourairld gelöst 8 / 22026
IF mit AND und OR
vor einer Woche von GastX 6 / 9686
Meine Inbox
vor einer Woche von Rabea1103 1 / 7347
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 8502