Problembeschreibung

Beim Freigeben eines Debitorenrechnungsbatches wird der Batch mit der Systemmeldung 6909 ausgesetzt. Der ardebug gibt die folgende Fehlermeldung aus:

Verletzung der PRIMARY KEY-Einschränkung "HistDocSlsTax0". Es kann kein doppelter Schlüssel in das 'HistDocSlsTax'-Objekt eingefügt werden.

Ursache

Die ardoc-Tabelle enthält eine weitere Rechnung mit der gleichen Referenznummer wie eine der Rechnungen in diesem Batch. Das Ergebnis ist, dass Solomon versucht, einen doppelten Datensatz in die HistDocSlsTax-Tabelle einzufügen.

Problemumgehung 

Führen Sie die folgenden Schritte aus, um dieses Problem zu umgehen:

  1. Suchen Sie die doppelten Datensätze. Führen Sie dazu die folgende SQL-Anweisung aus:

    select refnbr, doctype, batnbr, * from ardoc tablea where doctype='IN' and refnbr IN (select refnbr from ardoc tableb where doctype='IN' and tablea.refnbr=tableb.refnbr and tablea.tstamp<>tableb.tstamp and (tablea.batnbr='<XXXXXX>' OR tableb.batnbr='<XXXXXX>')) order by refnbr, batnbr

    Beachten Sie<XXXXXXXX> ein Platzhalter für die angehaltene Batchnummer ist.Dieses Skript gibt den ardoc-Datensatz der beiden (oder mehr) Rechnungen mit der gleichen Referenznummer zurück.

  2. Aktualisieren Sie die Rechnung im angehaltenen Batch auf etwas anderes, z. B. durch Hinzufügen eines "A" am Ende. Hier sehen Sie ein Beispiel für die erforderlichen Updateanweisungen:

    update ardoc set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'update artran set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'

Weitere Informationen

Wenn Sie eine neue Referenznummer auswählen, stellen Sie sicher, dass die neue Referenznummer noch nicht verwendet wurde. Versuchen Sie auch, die Rechnungsnummer auf dieselbe Länge wie die anderen Referenznummern zu halten.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.