Symptomen
Bij het vrijgeven van een batch met debiteuren factuur onderbreekt de batch met systeembericht 6909. De ardebug geeft het volgende foutbericht weergegeven:
Schending van beperking van de primaire sleutel 'HistDocSlsTax0'. Dubbele sleutel in 'HistDocSlsTax'-object kan niet worden ingevoegd.
Oorzaak
Er is een andere factuur in de tabel ardoc met hetzelfde verwijzingsnummer als een van de facturen in deze batch. Het resultaat is dat Solomon probeert een dubbele record invoegen in de tabel HistDocSlsTax.
Tijdelijke oplossing
U kunt dit probleem voorkomen door de volgende stappen uit:
-
Dubbele records zoeken. Voer hiertoe de volgende SQL-instructie:
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, batnbrOpmerking < XXXXXX > is een tijdelijke aanduiding voor het batchnummer onderbroken.
Dit script wordt de ardoc facturen met dezelfde referentienummer van de record van de twee (of meer) terug. -
Werk de factuur van de geschorste partij iets iets anders, zoals door een 'A' tot het einde toe te voegen. Hier volgt een voorbeeld van de noodzakelijke 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, zorg ervoor dat het nieuwe nummer niet al gebruikt. Ook proberen om het nummer van de dezelfde lengte als de referentienummers.