Chyba
problému – "[Microsoft] [Ovládač ODBC SQL Server] [SQL Server] Porušenie obmedzenia PRIMARY KEY PKRM30301 Nemôže vložiť duplicitný kľúč v objekte RM30301" sa vyskytuje pri spúšťaní plateného odstránenia transakcie v spravovanii pohľadávok.
Poznámka – Po stlačení tlačidla OK v tomto dialógovom okne sa zobrazí dialógové okno s informáciami: Uložená procedúra v odstránení platenej transakcie vrátila nasledujúce výsledky: DBMS:2627, eEnterprise 0.
Potenciálna
príčina V tabuľkách Prijaté úroky je duplicitný dokument. Zvyčajne ide o duplicitné poradové číslo.
Rozlíšenie
1. Spustením nasledujúceho súboru v databáze Spoločnosť vyhľadajte záznamy, ktoré spôsobujú chybu v skupine RM30301: vyberte položky
RMDTYPAL, DOCNUMBR, SEQNUMBR zo skupiny RM10101
podľa RMDTYPAL, DOCNUMBR a SEQNUMBR s
počtom(*) > 1
2. Pomocou informácií vrátených z predchádzajúceho dotazu spustite nasledujúci príkaz na zobrazenie údajov konkrétneho čísla dokumentu: vyberte položku
SEQNUMBR ako NUMBR, * zo služby RM10101, kde DOCNUMBR = "zadajte poradie Číslo dokumentu z kroku 1" podľa NUMBR
3. Aktualizujte pole SEQNUMBR tak, aby nebolo duplicitné. Použite nižšie uvedený kód. Ak máte 2 záznamy s číslom SEQNUMBR čísla 16384, musíte jeden z nich zmeniť na 32768, ak máte 2 záznamy s číslom 65536, ktoré je potrebné aktualizovať na 81920 atď. Každý riadok dokumentu by mal mať vlastné jedinečné číslo seqbr vo viacnásobných číslach čísla 16384.
update RM10101 set SEQNUMBR = XXX, kde DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536
81920 98304 Ak prvý skript nevráti
výsledky, vyskúšajte tieto možnosti:
select * z RM10101 w, RM30301
h, kde w.RMDTYPAL = h.RMDTYPAL
w.DOCw.DOCNUMBR = h.DOCNUMBR
a w.SEQNUMBR = h.SEQNUMBR
select a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR zo služieb RM20101 a, RM30301 b, kde
a.RMDTYPAL = b.RMDTYPALa.DOCNUMBR = b.DOCNUMBR Tento článok bol
TechKnowledge Document ID:32359