Code: Alles auswählen.
LOOP AT gt_join INTO gs_join.
READ TABLE gt_ausgabe TRANSPORTING NO FIELDS WITH KEY
iban = gs_join-iban.
IF sy-subrc = 0
AND gs_ausgabe-bukrs <> gs_join-bukrs.
insert gs_join INTO gt_ausgabe.
ENDIF.
ENDLOOP.
Ein INSERT ist immer möglich, nur musst Du ihm sagen, wo Du die Zeile denn gerne eingefügt haben möchtest. Das kann er nicht hellsehen! Bei einem APPEND ist es klar; da wird die Zeile ans Ende angehängt. Ein INSERT schiebt sie irgendwo in der Mitte rein. Wo genau, musst Du ihm sagen. Und Du wirst ja auch wissen, weshalb Du den APPEND nicht willst, also hast Du ja offenbar eine Vorstellung davon, wo Deine neue Tabellenzeile landen soll.Ist bei einem Read ein Insert nicht möglich??
Code: Alles auswählen.
insert gs_join INTO gt_ausgabe INDEX 1.
Code: Alles auswählen.
insert gs_join INTO TABLE gt_ausgabe.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
L0w-RiDer
Code: Alles auswählen.
LOOP AT gt_ausgabe INTO gs_ausgabe.
lv_help_count = lv_help_count + 1.
READ TABLE gt_join TRANSPORTING NO FIELDS WITH KEY
iban = gs_ausgabe-iban.
IF sy-subrc = 0.
if gs_ausgabe-bukrs <> gs_join-bukrs.
INSERT gs_join INTO gt_ausgabe INDEX lv_help_count.
endif.
ENDIF.
ENDLOOP.
Hey, sorry prinzipell nicht falsch aber gefährlich deine Aussage. Denn ein Insert sollte im Normalfall immer bevorzugt werden vor einem APPEND außer es ist wirklich wichtig, dass die Einträge am Ende der Tabelle landen( auch im ABAP: im Style Guide). Denn der INSERT funktioniert mit allen Tabellentypen und auch Schlüsseltypen. Machen leider viele Entwickler falsch.DeathAndPain hat geschrieben: ↑09.04.2019 17:10Ein INSERT ist immer möglich, nur musst Du ihm sagen, wo Du die Zeile denn gerne eingefügt haben möchtest. Das kann er nicht hellsehen! Bei einem APPEND ist es klar; da wird die Zeile ans Ende angehängt. Ein INSERT schiebt sie irgendwo in der Mitte rein. Wo genau, musst Du ihm sagen. Und Du wirst ja auch wissen, weshalb Du den APPEND nicht willst, also hast Du ja offenbar eine Vorstellung davon, wo Deine neue Tabellenzeile landen soll.Ist bei einem Read ein Insert nicht möglich??
Wenn sie z.B. am Anfang der internen Tabelle eingefügt werden soll, dann schreibst Du:
Wenn Deine Zieltabelle sortiert ist und Du willst, dass der INSERT die neue Zeile dort einfügen soll, wo sie entsprechend der Sortierung stehen muss, dann schreibst Du:Code: Alles auswählen.
insert gs_join INTO gt_ausgabe INDEX 1.
Code: Alles auswählen.
insert gs_join INTO TABLE gt_ausgabe.
Sehe ich anders. Wenn ich einer meiner Tabellen einen Wert hinzufüge, mache ich mir immer Gedanken darüber, was für eine interne Tabelle ich vor mir habe. Das ist schon deswegen notwendig, weil ich beim Einfügen in Nicht-Standard-Tabellen zum einen den Schlüssel verwenden sollte und zum anderen die Tabelle einen UNIQUE KEY haben könnte und ich vermeiden muss, dass es zu DUPLICATE KEY-Dumps kommt. In Eclipse (was ich zum Entwickeln nur noch nutze, weil es einfach so viel besser ist als die SE38) reicht ja einmal auf dem Tabellennamen F2 drücken, dann sehe ich das.Denn ein Insert sollte im Normalfall immer bevorzugt werden vor einem APPEND außer es ist wirklich wichtig, dass die Einträge am Ende der Tabelle landen( auch im ABAP: im Style Guide). Denn der INSERT funktioniert mit allen Tabellentypen und auch Schlüsseltypen.