Ja ich: Genauso verhalten sich die meisten User.autohandel7 hat geschrieben:macht etwas falsch, hat jemand Erfahrung.
Du möchtest im Ergebnis eine interne Tabelle, bei der jede Zeile aus den Schlüsselfeldern und EINEM Wert besteht.autohandel7 hat geschrieben: Der hat 4 festen Spalten un unbegrenzte Anzahl anderen Spalteten:
Code: Alles auswählen.
LOOP AT gt_excelin INTO gs_excelin.
CASE gs_excelin-col.
WHEN 1.
* neuer Schlüssel, also INIT
CLEAR: ls_intern.
* 1. Schlüsselfeld übernehmen
ls_intern-nummer = gs_excelin-value.
WHEN 2.
* 2. Schlüsselfeld übernehmen
ls_intern-name = gs_excelin-value.
WHEN 3.
* 3. Schlüsselfeld übernehmen
ls_intern-beschreibung = gs_excelin-value.
WHEN OTHERS.
* Wert übernehmen
ls_intern-teil1 = gs_excelin-value.
* Wertsatz in interne Tabelle übernehmen
APPEND ls_intern TO lt_intern.
ENDCASE.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
autohandel7
Sollte auch ohne gehen, da alle Felder der Zielstruktur vor dem Append gefüllt werden. Der INIT schützt davor, Daten des Vorgängers mit zu übernehmen, wenn nicht alle Felder der ZielStruktur explizit gefüllt werden.autohandel7 hat geschrieben:was meinst du, wofür 'clear: ls_intern' hier soll sein?