Hallo!
Mir ist etwas bei dem READ Befehl unklar.
In meiner Loop-Schleife loope ich eigentlich
nur über die interne Tabelle i_g2a_lf und
nicht über die itab_lfa1. In der Read Zeile
wird die Kundenummer aus der internen Tabelle
i_g2a_lf mit der Kundennummer aus der zweiten
Tabelle itab_lfa1 verglichen durch
----> kundennr = w2_lfa1
Wir verändert sich der Wert von "kundennr" .
Der Wert von w2_lfa1 ist jedemal wenn der Loop
erneut ausgeführt wird die nächste Zeile
der internen Tabelle. Wie aber veändert
sich der Wert von kundennr bei
----> kundennr = w2_lfa1. Ist der Befehl
READ wie eine zweite Loop-Schleife zu sehen.
Kann mir das bitte jemand kurz erläutern.
Ich habe versucht im Debugger das Feld"kundennr"
in die Liste zu nehmen um zu sehen wie sich der
Wert immer verändert war aber leider nicht möglich
Code: Alles auswählen.
DATA itab_lfa1 TYPE STANDARD TABLE OF zkunden_tw.
DATA i_g2a_lf TYPE STANDARD TABLE OF zkd .
DATA w_lfa1 TYPE zkunden_tw.
DATA w2_lfa1 TYPE zkd.
SELECT * FROM zkunden_tw INTO TABLE itab_lfa1.
SELECT * FROM zkd INTO TABLE i_g2a_lf.
DATA n TYPE sy-index.
DATA zeilen TYPE i.
DESCRIBE TABLE itab_lfa1 LINES zeilen.
WRITE : / zeilen , 'Zeile hat die Tabelle'.
LOOP AT i_g2a_lf INTO w2_lfa1.
READ TABLE itab_lfa1 INTO w_lfa1 with key kundennr = w2_lfa1.
IF sy-subrc NE 0.
write: / 'Kunde', w2_lfa1, 'gibt es nicht'.
ENDIF.
ENDLOOP.