Simptome
În timp ce se lansează un lot de facturi de creanțe conturi, lotul se suspendă cu mesajul de sistem 6909. Ardebug va da următorul mesaj de eroare:
Încălcarea restricției PRIMARY KEY "HistDocSlsTax0". Imposibil de inserat cheia dublată în obiectul "HistDocSlsTax".
Cauză
Există o altă factură în tabelul ardoc cu același număr de referință ca una dintre facturile din acest lot. Rezultatul este că Solomon încearcă să insereze o înregistrare dublată în tabelul HistDocSlsTax.
Soluție de evitare
Pentru a rezolva această problemă, urmați acești pași:
-
Găsiți înregistrările dublate. Pentru a face acest lucru, rulați următoarea instrucțiune SQL:
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
Rețineți <XXXXXX> este un substituent pentru numărul lotului suspendat.Acest script va returna înregistrarea ardoc a două (sau mai multe) facturi cu același număr de referință.
-
Actualizați factura din lotul suspendat la ceva ușor diferit, de exemplu, adăugând un "A" la sfârșit. Iată un exemplu de instrucțiuni de actualizare necesare:
update ardoc set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'update artran set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'
Mai multe informații
Când selectați un nou număr de referință, asigurați-vă că noul număr de referință nu a fost deja utilizat. De asemenea, încercați să păstrați numărul facturii de aceeași lungime ca celelalte numere de referință.