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.
3904
Views
8
Antw.
4113
Views
dynamische Tabellen
von juli » 11.08.2005 14:31 • Verfasst in ABAP® für Anfänger
3
Antw.
2428
Views
Dynamische interne Tabelle
von c0lt.seavers » 01.08.2007 09:55 • Verfasst in ABAP® für Anfänger
0
Antw.
1927
Views
Dynamische Tabellen Synchronisation
von Kresiquadratur » 19.07.2007 15:12 • Verfasst in ABAP® Core
12
Antw.
3393
Views
Dynamische Interne Tabele mit Kopfzeilen
von autohandel7 » 24.06.2015 13:13 • 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

Kundeneigenes Feld in Query
vor 3 Stunden von wreichelt 4 / 72
Simple Transformation XML=>ABAP Datentypen Problem
vor einer Woche von IHe gelöst 5 / 1825
Zu wenig Speicherplatz? Parameteranpassung?
vor einer Woche von IHe 3 / 8480

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

Kundeneigenes Feld in Query
vor 3 Stunden von wreichelt 4 / 72
Simple Transformation XML=>ABAP Datentypen Problem
vor einer Woche von IHe gelöst 5 / 1825
Zu wenig Speicherplatz? Parameteranpassung?
vor einer Woche von IHe 3 / 8480

Unbeantwortete Forenbeiträge

GUIXT Tabellen in Container ansprechen
letzen Monat von Denaris 1 / 33885
Speichern Popup in MM42 verhindern
letzen Monat von Noodl 1 / 34258
Meine Inbox
letzen Monat von Rabea1103 1 / 49726