Chyba
problému – "[Microsoft] [ovladač ODBC SQL Server] [SQL Server] Porušení omezení primárního klíče PKRM30301 nemůže vložit duplicitní klíč do objektu RM30301" dochází při spuštění odebrání placené transakce ve správě pohledávek.
Poznámka: Když v tomto dialogovém okně narazíte na OK, zobrazí se dialogové okno s informacemi o tom, že uložená procedura v odebrání placených transakcí vrátila následující výsledky: DBMS:2627, eEnterprise 0.
Potenciální příčina: V tabulkách Pohledávky je duplicitní
dokument. Obvykle se jedná o duplicitní pořadové číslo.
Rozlišení
1. Pokud chcete najít záznamy, které způsobují chybu v rm30301, spusťte následující příkaz: vyberte
RMDTYPAL, DOCNUMBR, SEQNUMBR ze skupiny RM10101 podle
RMDTYPAL, DOCNUMBR, SEQNUMBR s
count(*) > 1
2. Pomocí informací vrácených z předchozího dotazu zobrazte data pro určité číslo dokumentu: Vyberte
SEQNUMBR jako NUMBR, * z RM10101, kde DOCNUMBR = 'zadejte číslo dokumentu z kroku 1' podle
numbru 3. Aktualizujte pole SEQNUMBR, aby nebyl duplicitní. Použijte níže uvedený klíč. Pokud máte 2 záznamy se SEQNUMBR z roku 16384, musíte změnit jeden z nich na 32768, pokud máte 2 záznamy s 65536, musíte ho aktualizovat na 81920 atd. Každý řádek dokumentu by měl mít vlastní jedinečný seqnumbr v násobcích 16384.
update RM10101 set SEQNUMBR = XXX where DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536
81920 98304 Pokud první skript nevrátí výsledky, zkuste toto: vyberte * z
RM10101 w, RM30301 h kde
w.RMDTYPAL = h.RMDTYPAL
aw.DOCNUMBR = h.DOCNUMBR a
w.SEQNUMBR = h.SEQNUMBR
select a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR z RM20101 a, RM30301 b where
a.RMDTYPAL = b.RMDTYPAL aa.DOCNUMBR = b.DOCNUMBR Tento článek byl
TechKnowledge Document ID:32359