dynamische interne Tabelle füllen

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

dynamische interne Tabelle füllen

Beitrag von cuncon (Specialist / 143 / 98 / 1 ) »
Hallo zusammen,

kann jemand mir helfen? Ich habe eine dynamische interne Tabelle erzeug mit Methode cl_alv_table_create=>create_dynamic_table. Jetzt will ich diese dynamische interne Tabelle den Inhalt aus anderer interne Tabelle füllen, wo die Spalten von der statisch internen Tabelle gleich wie bei der dynamischen Tabelle ist. Wie mache ich das? Mein Coding sieht folgendes aus:

Code: Alles auswählen.


  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog           = gt_fcat
    IMPORTING
      ep_table                  = gz_table
    EXCEPTIONS
      generate_subpool_dir_full = 1
      OTHERS                    = 2.
*** Datenreferenz dem Feldsymbol <TABLE> zuweisen
  ASSIGN gz_table->* TO <table>.

LOOP AT gt_output ASSIGNING <gs_output>.
* hier wird die dynamische  interne Tabelle  <table> den Inhalt aus der Tabelle gt_output gefüllt
......
.....

ENDLOOP.
Vielen Dank für Eure Hilfe
cuncon

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


Re: dynamische interne Tabelle füllen

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Wie wäre es einfach mit einem
MOVE-CORRESPONDING <gs_output> TO <table>.
?

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
cuncon


Re: dynamische interne Tabelle füllen

Beitrag von cuncon (Specialist / 143 / 98 / 1 ) »
DeathAndPain hat geschrieben:Wie wäre es einfach mit einem
MOVE-CORRESPONDING <gs_output> TO <table>.
?
aha, geht das? Ich werde mit dem Befehl morgen ausprobieren. Muss man assign component nicht verwenden, um dynamische Tabelle zu zuweisen?

cuncon

Re: dynamische interne Tabelle füllen

Beitrag von a-dead-trousers (Top Expert / 4281 / 214 / 1140 ) »
cuncon hat geschrieben:Muss man assign component nicht verwenden, um dynamische Tabelle zu zuweisen?
Nur wenn du den Namen der Komponente nicht "irgendwie" statisch reproduzieren kannst.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
cuncon

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: dynamische interne Tabelle füllen

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
cuncon hat geschrieben:
DeathAndPain hat geschrieben:Wie wäre es einfach mit einem
MOVE-CORRESPONDING <gs_output> TO <table>.
?
aha, geht das?
Das ist ja das Schöne an MOVE-CORRESPONDING: Der schaut, welche Spalten hier und dort da sind, und schiebt dann die Werte rüber. Wo die Spalten herkommen, ist dem Befehl egal.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
cuncon


Re: dynamische interne Tabelle füllen

Beitrag von moo_jo (ForumUser / 36 / 10 / 7 ) »
Hallo zusammen,

Die Methode CALL METHOD cl_alv_table_create=>create_dynamic_table ist streng genommen obsolet. Mit Hilfe der RTTS Klassen gibt es schönere Möglichkeiten dynamische Objekte zu erzeugen. Auch wirst du hier nicht die Exception GENERATE_SUBPOOL_DIR_FULL auslösen! Mit deiner Methode kannst du Maximal 36 Tables erzeugen, danach ist Schluss!

Liebe Grüße,
Moo_jo

Folgende Benutzer bedankten sich beim Autor moo_jo für den Beitrag (Insgesamt 2):
4bytecuncon


Re: dynamische interne Tabelle füllen

Beitrag von cuncon (Specialist / 143 / 98 / 1 ) »
Hallo DeathAndPain,
ich habe den Befehl MOVE-CORRESPONDING <gs_output> TO <table> probiert, aber es gab Fehlermeldung: <table> ist keine Struktur oder interne Tabelle mit Kopfzeile.

cuncon

Re: dynamische interne Tabelle füllen

Beitrag von Romaniac (Specialist / 198 / 57 / 26 ) »
Hallo Cuncon,

das ist richtig, Dir fehlt noch ein neuer Eintrag in Deiner <table>, die ist ja erst mal komplett leer und nur dann kannst die Daten von Struktur zu Struktur kopieren; von Struktur zu Tabelle geht nicht:

Code: Alles auswählen.

LOOP AT gt_output ASSIGNING <gs_output>.
  append initial line to <table> assigning field-symbol(<s_table>).
  move-corresponding <gs_output> to <s_table>.

......
.....

ENDLOOP.
Alternative ab 7.4:

Code: Alles auswählen.

 move-corresponding gt_output to <table>.
Danach hat die rechte Tabelle gleich viel EInträge wie die Linke und alle gleichnamigen Felder sind gefüllt.

Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor Romaniac für den Beitrag:
cuncon

Geht nicht gibts nicht

Re: dynamische interne Tabelle füllen

Beitrag von gtoXX (Specialist / 185 / 34 / 31 ) »
cuncon hat geschrieben:Hallo zusammen,

..... anderer interne Tabelle füllen, wo die Spalten von der statisch internen Tabelle gleich wie bei der dynamischen Tabelle ist.
cuncon

Trotzdem die Frage : Wozu erzeugst Du dann die Tabelle dynamisch, anstatt gleich die interne Tabelle an das ALV zu übergeben ?
"Code lügt nicht ^^"

Seite 1 von 1

Vergleichbare Themen

15
Antw.
8859
Views
Interne Tabelle Füllen
von ABAPNeuling » 04.11.2004 13:42 • Verfasst in ABAP® für Anfänger
12
Antw.
1060
Views
Interne Tabelle füllen und ausgeben
von Armin93 » 01.10.2019 06:55 • Verfasst in ABAP® für Anfänger
12
Antw.
7689
Views
dynamisch interne Tabelle füllen
von LittleT » 03.04.2007 15:27 • Verfasst in ABAP® für Anfänger
3
Antw.
3287
Views
Interne Tabelle dynamisch füllen
von stas » 27.10.2007 10:41 • Verfasst in ABAP® Core
10
Antw.
4704
Views
Interne Tabelle mit Zeilen füllen
von Sonne1234 » 18.12.2019 16:30 • Verfasst in ABAP® für Anfänger

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 168