Fehlermeldung beim Buchen Analytical Accounting oder speichern Master Datensatz in Microsoft Dynamics GP: "Kann nicht einfügen Schlüsselduplikat in Objekt 'AAGXXXXX'"

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 897280
Problembeschreibung
Wenn Sie versuchen, in Microsoft Dynamics GP Analytical Accounting Transaktionen buchen, erhalten Sie folgende Fehlermeldung:

[Microsoft] [ODBC SQL Server Driver] [SQL Server] Verstoß gegen CONSTRAINT PRIMARY KEY 'PKAAG30000', kann keine doppelten Schlüssel im Objekt einfügen 'AAG30003'

Hinweis
In dieser Fehlermeldung AAG30000 ist ein Platzhalter für die Tabelle. Das Wort "Constraint" ist "Einschränkung".

Die Fehlermeldung, die angezeigt werden kann die folgenden Tabellen enthalten:
  • AAG00103
  • AAG00500
  • AAG00600
  • AAG00601
  • AAG00602
  • AAG00603
  • AAG00400
  • AAG00401
  • AAG00201
  • AAG00310
  • AAG00900
  • AAG00901
  • AAG00902
  • AAG00903
  • AAG10000
  • AAG10001
  • AAG10002
  • AAG10003
  • AAG20000
  • AAG20001
  • AAG20002
  • AAG20003
  • AAG30000
  • AAG30001
  • AAG30002
  • AAG30003
Ursache
Dieses Problem tritt auf, weil der nächste verfügbare Wert (AaRowID) für diese Tabelle (AaTableID) in der AAG00102-Tabelle in der entsprechenden Tabelle (oder untergeordnete Tabellen) bereits verwendet wurde.

Beispielsweise wird "30000" Tabelle in Tabelle AAG00102 AAG30000, AAG30001, AAG30002 und AAG30003-Tabellen betrachten, so alle Tabellen in der Reihe der entsprechenden Tabelle prüfen.



Lösung
Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden unter höchste verwendete Tabelle AA (und untergeordnete Tabellen) Vergleich gegen den nächsten verfügbaren Wert in der Tabelle AAG00102 gespeichert.

Hinweis Vergewissern Sie befolgen Sie die Anleitung in diesem Artikel, dass Sie eine vollständige Sicherungskopie der Datenbank, die Sie wiederherstellen können verfügen, falls ein Problem auftritt.

Methode 1: Verwendung SQL Skript Werte in AAG00102 für die meisten AA Tabellen aktualisieren

Ein SQL-Skript über den unten stehenden Link herunterladen und Ausführen es in SQL Server Management Studio die Datenbank automatisch die nächste verfügbare Nummer in der AAG00102-Tabelle im Vergleich zum letzten gespeicherten aktualisieren verwendet Wert AA-Tabelle. Das Skript sucht in den folgenden Tabellen: AAG10000, AAG20000, AAG30000, AAG00201, AAG00400, AAG00401, AAG00500, AAG00600, AAG00900 und AAG00903. So sieht die meisten Tabellen AA, aber nicht alle und nicht für eine Reihe untergeordneter Tabellen. Um das Skript zu erhalten, finden Sie auf der folgenden Microsoft-Website:

https://mbs.Microsoft.com/Files/Customer/GP/downloads/servicepacks/AA_Update_AAG00102.SQL

Methode 2: Manuelle Forschung und Update-Wert im AAG00102 für jeweils eine AA-Tabelle

  1. Öffnen Sie SQL Server Management Studio. Dazu klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft SQL Server-Versionund klicken Sie dann auf SQL Server Management Studio.
  2. Im Fenster Verbinden mit SQL Server , SQL Server Management Studio mit melden Sie sa-Kennwort an.
  3. Klicken Sie auf der Neue Abfrage Öffnen Sie ein Abfragefenster und kopieren, oder geben im Abfragefenster das folgende Skript Symbol. Für die Datenbank ausgeführt.
    select MAX (aaGLHdrID) from AAG30000*/Insert in the appropriate column/table for the aaGLHdrID and AAG30000 placeholders in the script.
  4. Beachten Sie die Abfrageergebnisse, die höchsten Wert zuletzt in der Tabelle angezeigt werden. (Weist die Tabelle untergeordneten Tabellen, stellen Sie den höchsten Wert in diesen sowie zuletzt überprüfen.)
  5. Geben Sie im Abfragefenster das folgende Skript, und führen Sie in der Dynamics-Datenbank:
    select * from AAG00102 where CMPANYID = 'nnn'
    Hinweis In dieser Abfrage ersetzen die nnn Platzhalter mit Firmen ID ein. Um die Kennung des Unternehmens zu suchen, geben Sie folgende Abfrage im Abfragefenster.
    select * from SY01500
    Wählen Sie die DYNAMICS -Datenbank in der Liste oben im Fenster und drücken Sie F5.
  6. Stellen Sie sicher, dass der Wert im Feld AaRowID für den AaTableID -Wert 30000 (oder entsprechende Tabelle) gleich oder größer als der Wert, den Sie in Schritt 4 notiert haben.
  7. Verwenden Sie das folgende Skript den Wert aktualisieren. Dazu geben Sie im Abfragefenster das folgende Skript, und drücken Sie dann F5.
    update aag00102 set aaROWID = 'yyyy' where aaTableID = 30000 and CMPANYID = 'zzz'
    Hinweis In diesem Skript ersetzen die JJJJ Platzhalter mit dem Wert, den Sie in Schritt 4 notiert haben. Ersetzen Sie die zzz Platzhalter mit Firmen ID ein. Auch ersetzen Sie die AaTableID mit der entsprechenden Tabelle.
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Eigenschaften" aufgeführt sind.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 897280 – Letzte Überarbeitung: 10/22/2015 22:32:00 – Revision: 24.3

Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2010, Microsoft Dynamics GP 10.0

  • kberrmsg kbmbsmigrate kbbug kbmt KB897280 KbMtde
Feedback