Doppelte Primärschlüssel in der FAAT_DOC_IT

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

Doppelte Primärschlüssel in der FAAT_DOC_IT

Beitrag von msfox (Specialist / 403 / 61 / 79 ) »
Ich habe beim Kunden das Problem, dass die Transaktion AW01N (Anlagen unter S/4) mit einem Dump abbricht: "Laufzeitfehler ITAB_DUPLICATE_KEY in Programm CL_FINS_ACDOC_FAA_UTIL". In der Klasse gibt es eine interne Tabelle, die mit UNIQUE-Keys definiert ist. Beim SELECT über die CDS-View FAA_LINEITEMS kommen aber bestimmte Schlüssel nicht eindeutig. Die FAA_LINEITEMS Joint dabei auch auf die FAAT_DOC_IT. Die Primärschlüssel dort sind:

Code: Alles auswählen.

MANDT, BUKRS, ANLN1, ANLN2, GJAHR, AWTYP, AWREF, AWORG, AWSYS, SUBTA, AFABE, SLALITTYPE, DRCRK 
Gemäß SE11 sieht es in der Tabelle so aus:
Screenshot 2025-11-27 082316.jpg
Wie kann es sein, dass die Primärschlüssel (1. und 2. Zeile) gleich sind?
Die Werte in KSL sind soager unterschiedlich. Also nicht einfach ein Anzeigefehler mit identischer Zeile.
Zugegeben, via Z-Coding (nicht von mit) wird eine der beiden Zeilen nachträglich manuell hinzugefügt. Aber auch das führt schon nicht zum Fehler. Bei einem INSERT müsste doch ein Duplicate-Key-Error kommen.

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


Re: Doppelte Primärschlüssel in der FAAT_DOC_IT

Beitrag von rob_abc (Specialist / 153 / 42 / 60 ) »
Vielleicht sind die Felder gar nicht gleich auf der DB sondern werden nur in der Ausgabe gleich angezeigt, da Konvertierungsexit? Mal in der SE16N die unkonvertierten Werte ausgegeben? Dann dürfte er aber eigentlich auch nicht bei der ITAB dumpen. :/

Re: Doppelte Primärschlüssel in der FAAT_DOC_IT

Beitrag von msfox (Specialist / 403 / 61 / 79 ) »
Ich habe es über die SE16H geprüft.
Screenshot 2025-11-27 105414.jpg
Sieht gleich aus...
Wenn ich in der SE16N die Beträge der zwei Zeilen ändere, findet auch ein Update statt.
Aber normalerweise sind doch in der SE16N beim Editieren die Die Schlüsselfelder inaktiv. Hier nicht:
Screenshot 2025-11-27 105902.jpg
Lässt die Tabelle also Mehrfachschlüssel zu?
Wenn ja, wird das gesetzt?

Code: Alles auswählen.

Dann dürfte er aber eigentlich auch nicht bei der ITAB dumpen.
Jep. Wenn die DB-Tabelle Mehrfachschlüssel erlaubt, darf die SAP nicht im Coding plötzlich diese unterbinden.
--
Wenn ich in der SE11 genau die Primärschlüsselwerte als Selektionskriterium nehme, bekomme die zwei Zeilen.
--
Wenn ich in der SE16N eine der Zeilen kopieren und speichere, kommt die Fehlermeldung: "Es existiert bereits ein Datensatz mit den angegebenen Schlüssel".
Irgendwas macht also die Schlüssel der beiden gleichen Zeilen unterschiedlich.

Re: Doppelte Primärschlüssel in der FAAT_DOC_IT

Beitrag von DeathAndPain (Top Expert / 1993 / 270 / 419 ) »
ich habe zwar von CDS-Views keine Ahnung, aber für mich klingt das so, als ob aus irgendeinem Grund eine zweite Zeile mit selbem Primärschlüssel in die Datenbank gerutscht ist. Das ist eine Konsistenzverletzung, die eigentlich von der Datenbank verhindert werden müsste, aber vielleicht aufgrund irgendeiner Softwareschwachstelle reingerutscht ist.
Jep. Wenn die DB-Tabelle Mehrfachschlüssel erlaubt, darf die SAP nicht im Coding plötzlich diese unterbinden.
Der Primärschlüssel der Datenbank und der einer internen ABAP-Tabelle sind zwei völlig verschiedene Paar Schuhe. Es steht Dir aber frei, die ABAP-Tabelle nach Belieben mit der Zeilenstruktur der Datenbanktabelle, aber einem Schlüssel Deiner Wahl zu definieren. Du kannst z.B. eine Standardtabelle draus machen oder einen NON-UNIQUE SORTED KEY verwenden. Dann wirst Du keine Dumps haben. Wenn es sich aber wirklich um eine Inkonsistenz eurer Datenbank und nicht um irgendeine mir unbekannte Spezialität von CDS-Views handelt, dann wird das die Problemursache nicht verbessern.

Ich finde es aber gut und wichtig, dass man als Programmierer bei der Wahl der Schlüssel seiner internen Tabellen frei ist. Es ist durchaus nicht immer sinnvoll, intern den Schlüssel der zugehörigen Datenbanktabelle zu verwenden.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4302
Views
Primärschlüssel herausfinden
von m.schwertle » 31.10.2007 15:49 • Verfasst in ABAP® für Anfänger
4
Antw.
3008
Views
Primärschlüssel bei Tabellen
von rambozola » 06.12.2006 09:24 • Verfasst in Basis
2
Antw.
4185
Views
Primärschlüssel/Fremdschlüssel
von frany*89* » 25.07.2012 14:40 • Verfasst in ABAP® für Anfänger
8
Antw.
4880
Views
DB-Tabelle ohne Primärschlüssel
von janfri » 02.03.2006 16:19 • Verfasst in Basis
4
Antw.
2624
Views
Nicht eindeutiger Primärschlüssel in DB-Tabelle ?
von Bernhard Unglaub » 10.07.2007 11:58 • Verfasst in ABAP® Core

Über diesen Beitrag



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

Aktuelle Forenbeiträge

Forenbeteiligung
vor 20 Minuten von deejey 7 / 239

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.