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.
3323
Views
Vergleich zweier IDocs
von ABAP-Azubi » 07.04.2014 14:57 • Verfasst in ABAP® für Anfänger
9
Antw.
2983
Views
Durchlaufen zweier Tabellen
von Spookykid » 11.04.2011 11:22 • Verfasst in ABAP® für Anfänger
4
Antw.
2344
Views
Bestimmte Spalten zweier Tabellen abgleichen
von kaufikauf » 15.08.2014 08:55 • Verfasst in ABAP® für Anfänger
4
Antw.
2703
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
5
Antw.
4067
Views
Vergleich von internen Tabellen
von Artie200 » 01.02.2011 16:42 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

IBAN und BUT0BK
vor 22 Stunden von GastX gelöst 4 / 1209
Gewährleistungsende im Equipment
vor 2 Tagen von Yourairld gelöst 8 / 23488
IF mit AND und OR
vor einer Woche von GastX 6 / 11590
Meine Inbox
vor einer Woche von Rabea1103 1 / 9123

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

IBAN und BUT0BK
vor 22 Stunden von GastX gelöst 4 / 1209
Gewährleistungsende im Equipment
vor 2 Tagen von Yourairld gelöst 8 / 23488
IF mit AND und OR
vor einer Woche von GastX 6 / 11590
Meine Inbox
vor einer Woche von Rabea1103 1 / 9123