Greška u problemu
- "[Microsoft] [ODBC SQL Server Driver] [SQL Server] Kršenje ograničenja PRIMARY KEY PKRM30301 Nije moguće umetnuti duplirani ključ u objekat RM30301" javlja se prilikom pokrenutog plaćenog uklanjanja transakcije u upravljanju potraživaima.
Na primer: Kada u ovom dijalogu kliknite na dugme U redu, pojavljuje se dijalog sa informacijama koji navodi "Uskladištena procedura u uklanjanju plaćene transakcije dala je sledeće rezultate: DBMS:2627, eEnterprise 0".
Potencijalni
uzrok Postoji duplirani dokument na nekom mestu u tabelama Potraživanja. Obično je u redu duplirani broj sekvence.
1. rezolucija. Pokrenite sledeće u bazi podataka preduzeća da biste pronašli zapise koji uzrokuju grešku u RM30301: izaberite
RMDTYPAL, DOCNUMBR, SEQNUMBR iz grupe RM10101
by RMDTYPAL, DOCNUMBR, SEQNUMBR
having count(*) > 1
2. Pomoću informacija vraćenih iz prethodnog upita, pokrenite sledeće da biste prikazali podatke za određeni broj dokumenta: izaberite
stavku SEQNUMBR kao NUMBR, * iz RM10101 gde je DOCNUMBR = 'unesite broj dokumenta iz 1. koraka' redosledom po funkciji NUMBR
3. Ažurirajte polje SEQNUMBR da ne bi bilo duplikata. Koristite šifru koja je obezbeđena u nastavku. Ako imate 2 zapisa sa SEQNUMBR brojem 16384, morate da promenite jedan od njih na 32768, ako imate 2 zapisa sa 65536, morate da ažurirate jedan na 81920 itd. Svaki red dokumenta treba da ima sopstveni jedinstveni seqnumbr u višestrukim višestrukim od 16384.
update RM10101 set SEQNUMBR = XXX where DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152 65536 81920 98304 Ako prva skripta ne da rezultate, isprobajte ovo: izaberite * iz
RM10101 w, RM30301 h gde
je w.RMDTYPAL = h.RMDTYPAL i
w.DOCNUMBR = h.DOCNUMBR i
w.SEQNUMBR = h.SEQNUMBR
izaberite a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR iz RM20101 a, RM30301 b gde je
a.RMDTYPAL = b.RMDTYPAL ia.DOCNUMBR = b.DOCNUMBR Ovaj članak je
bio
TechKnowledge Document ID:32359