Symptomen
Tijdens het vrijgeven van een debiteurenfactuurbatch wordt de batch opgeschort met systeembericht 6909. De ardebug geeft het volgende foutbericht:
Schending van primaire sleutelbeperking 'HistDocSlsTax0'. Kan geen dubbele sleutel invoegen in het object 'HistDocSlsTax'.
Oorzaak
Er staat nog een factuur in de ardoc-tabel met hetzelfde referentienummer als een van de facturen in deze batch. Het resultaat is dat Solomon probeert een dubbele record in te voegen in de tabel HistDocSlsTax.
Tijdelijke oplossing
Voer de volgende stappen uit om dit probleem te omzeilen:
-
Zoek de gedupliceerde records. Voer hiervoor de volgende SQL-instructie uit:
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
Opmerking <XXXXXX-> een tijdelijke aanduiding is voor het opgeschorte batchnummer.Dit script retourneert de ardoc-record van de twee (of meer) facturen met hetzelfde referentienummer.
-
Werk de factuur in de opgeschorte batch bij naar iets anders, bijvoorbeeld door een 'A' toe te voegen aan het einde. Hier volgt een voorbeeld van de benodigde update-instructies:
update ardoc set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'update artran set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'
Meer informatie
Wanneer u een nieuw referentienummer selecteert, controleert u of het nieuwe referentienummer nog niet is gebruikt. Probeer ook het factuurnummer op dezelfde lengte te houden als de andere referentienummers.