Ibiza90 hat geschrieben:Habe nun jeweils die Daten in interne Tabellen selektiert und möchte diese miteinander vergleichen.
Sprich ist einer der Datensätze in der neuen Tabelle nicht vorhanden einfügen, ist er vorhanden soll aber raus, löschen.
Ist der Datensatz in beiden Tabellen vorhanden, soll nichts passieren.
Code: Alles auswählen.
* Prüfen auf neue/geänderte Sätze
LOOP AT itab1 INTO wa1.
READ TABLE itab2 INTO wa2 WITH TABLE KEY feld1 = wa1-feld1 feld2 = wa-feld2.....
IF sy-subrc <> 0.
* neuer Satz muss in itab2 eingefügt werden....
ELSE.
* Vergleichen der beiden Sätze
IF wa1 <> wa2.
* itab2 muss geändert werden.
ELSE. "braucht man nicht wirklich
* beide Sätze sind gleich, also nicht tun
ENDIF.
ENDLOOP.
* Jetzt noch prüfen, ob Sätze aus itab2 gelöscht werden müssen
LOOP AT itab2 INTO wa2.
READ itab1 INTO wa1 WITH TABEL KEY feld1 = wa2-feld1 feld2 = wa-feld2.....
IF sy-subrc <> 0.
* itab2 Satz muss gelöscht werden
ELSE.
* hier ist nichts getan werden
ENDIF.
ENDLOOP.