Vergleich Inhalt zweier DB-Tabellen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Vergleich Inhalt zweier DB-Tabellen

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Hallo,

ich würde gerne den Inhalt zweier Datenbanktabellen vergleichen die gleich aufgebaut sind, ca 200.000 Sätze und je 94 Felder. Ich möchte nur unterschiedliche Datensätze erhalten bzw. ausgeben.

Gibt es da Standard FuBas?

Danke für Eure Hilfe.
Gruss

Martin

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


Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Probier mal: BKK_COMPARE_TABLES
Viele Grüße
Britta

Beitrag von Kresiquadratur (ForumUser / 8 / 0 / 0 ) »
Ich bin auf der Suche einer Lsöung die ein ähnliches Problem behandelt. Jedoch hilft dabei BKK_COMPARE_TABLES nicht weiter, da dieser FB nur komplette Zeilen mit einander vergleicht, und nur bei Tabellen, die gleich lang sind, falls ich das richtig sehe.

Ich bastel an einer Methode, zwei Tabellen der gleichen Struktur mit einander zu synchronisieren. Also folgendes Beispiel:

Code: Alles auswählen.

     it_alt               it_neu

 F1 | F2 | F3    F1 | F2 | F3 
----+----+----  ----+----+----
 Key| Key| -     Key|Key | -  
----+----+----  ----+----+----
 001| 01 | v1    001| 01 | v5 
 002| 02 | v2    003| 01 | v3 
 003| 01 | v3    004| ...| ...
 004| ...| ...    
Es können also Einträge gelöscht, hinzugefügt oder einfach geändert worden sein.

Wie würde man den einen solchen Vergleichstest machen :?:

Code: Alles auswählen.

LOOP AT it_neu INTO wa_neu
  READ TABLE it_alt INTO wa_alt WHERE "alle_keyfelder_alt EQ alle_keyfelder_neu".
  IF sy-subrc EQ 4.
    WRITE: 'Eintrag ist neu!'.
  ELSEIF sy-subrc EQ 2.
    IF "restliche_nichtkeyfelder_alt EQ alle_nichtkeyfelder_neu"
      WRITE: 'Eintrag ist verändert!'.
    ENDIF.
  ELSE.
    WRITE: 'Eintrag ist unverändert'.
  ENDIF.
ENDLOOP.
Und das gleich dann nochmal in umgekehrter Reihenfolge, um herauszufinden, welche Einträge gelöscht wurden?

Herauskommen sollte also:
001| 01: Eintrag ist verändert!
002| 02: Eintrag gelöscht!
003| 01: Eintrag ist unverändert!
005| ..: Eintrag ist neu! (zum Beispiel)

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3249
Views
Vergleich zweier IDocs
von ABAP-Azubi » 07.04.2014 14:57 • Verfasst in ABAP® für Anfänger
9
Antw.
2889
Views
Durchlaufen zweier Tabellen
von Spookykid » 11.04.2011 11:22 • Verfasst in ABAP® für Anfänger
4
Antw.
2271
Views
Bestimmte Spalten zweier Tabellen abgleichen
von kaufikauf » 15.08.2014 08:55 • Verfasst in ABAP® für Anfänger
4
Antw.
2638
Views
Einfügen zweier interner Tabellen in eine dritte mit LOOP
von alexkr. » 12.12.2017 11:11 • Verfasst in ABAP® für Anfänger
2
Antw.
2280
Views
Tabellen-Vergleich FuBa ??
von gabo » 16.12.2007 19:03 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
vor 2 Tagen von Radinator 2 / 2766
Login Daten Management
vor 3 Tagen von sap_enthusiast gelöst 5 / 937

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.

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
vor 2 Tagen von Radinator 2 / 2766
Login Daten Management
vor 3 Tagen von sap_enthusiast gelöst 5 / 937

Unbeantwortete Forenbeiträge