Erstellen einer dynamischen Tabelle / Struktur

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Erstellen einer dynamischen Tabelle / Struktur

Beitrag von popay (ForumUser / 8 / 0 / 0 ) »
Servus zusammen,

ich hoffe mir kann jemand weiterhelfen! Ich muss zur laufzeit in einer internen Tabelle weitere Spalten hinzufügen, wie kann ich dies realisieren?

Oder kann ich zur laufzeit eine struktur dynamisch anlegen und diese Struktur dann zur deklaration einer internen Tabelle benutzen? So das die internen Tabelle einmal 10 das nächstemal 13 Spalten hat.

Die internen Tabelle sollte dann mit dem FUBU "REUSE_ALV_GRID_DISPLAY" ausgegeben werden, mir ist aber erst zur Laufzeit bekonnt wieviele Spalten ich ausgeben muss!

Es wäre schön wenn mir jemand helfen könnte! Danke.

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


Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi popeye,

ich habe dein Problem einmal so gelöst - ganz easy:
ich definiere die Tabelle mit der maximalen Spaltenanzahl.

zur Laufzeit ermittle ich die nicht benötigten Spalten und blende diese beim bearbeiten des Feldkatalogs mit katalog-no_out = X einfach aus .



lg Andreas

Beitrag von popay (ForumUser / 8 / 0 / 0 ) »
Hi Andreas,

danke für den Hinweis!! Die Idee ist nicht schlecht, das werde ich mal ausprobieren.

Trotzdem würde mich interessieren wie ich in ABAP meine Daten bzw. meine Ausgabe variabel halten kann!
Es muss doch eine Möglichkeit geben eine interne Tabelle um eine Spalte zu erweitern?

Gruß popay

Beitrag von bakky ( / / 0 / 3 ) »
Hallo,

versuch es doch mal mit der Klasse CL_ALV_TABLE_CREATE. Die sollte aus einem Feldkatalog eine Interne Tabelle machen können.

Bis dann

Bakky

Beitrag von Gast ( / / 0 / 3 ) »
hallo,
anbei mal ein Aufbau und Selektion für dynamische Tabellen.
Vielleicht kannst du ja damit was anfangen :-)

parameters:
tab_name type tname, "Table name
tab_comp type tfieldname, "Field name
line_num type i default 10. "Line number
field-symbols:
<wa> type any,
<comp> type any.
data:
wa_ref type ref to data.

start-of-selection.

create data wa_ref type (tab_name).
assign wa_ref->* to <wa>.
select * from (tab_name) into <wa>.
check sy-dbcnt < line_num.
assign component tab_comp of structure <wa> to <comp>.
write: / tab_comp, <comp>.
endselect.

Beitrag von popay (ForumUser / 8 / 0 / 0 ) »
Danke für eure Hilfe, ihr habt mir sehr geholfen.
Ich habe jetzt eine dynamische Tabelle mit der Klasse CL_ALV_TABLE_CREATE erzeugt und habe die Tabelle auf mit dem ALV_GRID ausgeben können. Ich habe jetzt nur noch das Problem das ich mein Feldkatalog für die Klasse CL_ALV_TABLE_CREATE handisch anlegen muss. Dabei weiss ich jetzt nicht wie ich den Datentyp für ein Feld im Feldkatalog angeben kann.
Wenn ich jetzt zu meiner dynamischen Tabelle einen Arbeitsbereich anlege und dort Werte eintrage habe ich das Problem das alle Felder in diesem Arbeitsbereich vom Type CHAR mit der Länge 10 sind.

Welches Feld muss ich in der Strucktur lvc_s_fcat setzten um ein Feld vom Type CHAR mit der Länge 30 zu bekommen?

Danke für eure Hilfe
Gruß popay

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

Code: Alles auswählen.

DATATYPE	DATATYPE_D	CHAR	4	0	Datentyp im ABAP Dictionary
INTTYPE	INTTYPE	CHAR	1	0	ABAP-Datentyp (C,D,N,...)
INTLEN	INTLEN	NUMC	6	0	Interne Länge in Bytes
DD_OUTLEN	LVC_DDLEN	NUMC	6	0	ALV-Control: Ausgabelänge in Character
damit sollte es gehen

Code: Alles auswählen.

DATATYPE = 'CHAR'.
INTTYPE = 'C'.
INTLEN = 30.
DD_OUTLEN = 30.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

ich komme jetzt auch in die Situation eine variable Tabelle im ALV anzeigen zu müssen.

Da die Definiererei eine Höllenarbeit ist, werde ich eine Struktur im DDIC an legen, die von jedem Typ Feld, welchen ich gebrauche, ein Feld enthält.

Diese Struktur lasse ich in einen Feldkatalog umbauen (Funktionsbaustein ...). Dann nehme ich diesen Feldkatalog als Vorlage um meinen neuen Feldkatalog für die variable Tabelle zusammenzustellen. Dabei kommen natürlich einige Feldtype mehrmals vor, allerdings mit geändertem Namen.

Das ganze durch den CL_ALV_TABLE_CREATE geschickt müsste doch genau meine Tabelle ergeben.

Ich hoffe es geht.

Gruß
babap

Seite 1 von 1

Vergleichbare Themen

1
Antw.
572
Views
5
Antw.
4644
Views
Kurzdump bei dynamischen Erstellen von NODEs und Attributen
von Tobias85 » 11.02.2013 11:45 • Verfasst in ABAP Objects®
3
Antw.
607
Views
3
Antw.
7282
Views
Feldsymbole einer dynamischen Struktur zuweisen
von Margolwes » 25.06.2009 14:33 • Verfasst in ABAP® Core
2
Antw.
2379
Views
struktur erstellen
von Gast » 17.08.2005 13:32 • 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

Eclipse - warum/wann verwendet ihr es [nicht]
vor 58 Minuten von tar 21 / 1383
Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 22 / 2789
Daten an Tabelle binden
vor 8 Stunden von Lukas Sanders 2 / 868
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 423

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

Eclipse - warum/wann verwendet ihr es [nicht]
vor 58 Minuten von tar 21 / 1383
Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 22 / 2789
Daten an Tabelle binden
vor 8 Stunden von Lukas Sanders 2 / 868
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 423

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2459
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9045