Eroare
de problemă - "[Microsoft] [Driver SQL Server ODBC] [SQL Server] Încălcarea restricției PRIMARY KEY PKRM30301 Nu poate insera cheie dublată în obiectul RM30301" are loc atunci când rulează Eliminare tranzacție cu plată în Managementul creanțelor.
Notă - Atunci când ajungeți la OK în această casetă de dialog, apare o casetă de dialog de informații care spune "Procedura stocată în Eliminarea tranzacției cu plată a returnat următoarele rezultate: DBMS:2627, eEnterprise 0."
Cauză
potențială Există un document dublat în tabelele Creanțe. De obicei, este un număr de secvență dublat.
Rezolvarea
1. Rulați următoarele pentru a găsi înregistrările care provoacă eroarea în RM30301:
selectați RMDTYPAL, DOCNUMBR, SEQNUMBR din grupul RM10101 după
RMDTYPAL, DOCNUMBR, SEQNUMBR
having count(*) > 1
2. Utilizând informațiile returnate din interogarea anterioară, rulați următoarele pentru a vizualiza datele pentru un anumit număr de document: selectați
SEQNUMBR ca NUMBR, * din RM10101 unde DOCNUMBR = 'enter the Document Number from step 1' order by NUMBR
3. Actualizați câmpul SEQNUMBR astfel încât să nu există o dublură. Utilizați cheia furnizată mai jos. Dacă aveți 2 înregistrări cu SEQNUMBR de 16384, trebuie să modificați una dintre ele la 32768, dacă aveți 2 înregistrări cu 65536, trebuie să actualizați una la 81920 etc. Fiecare linie a unui document trebuie să aibă propriul seqnumbr unic în multipli de 16384.
actualizare RM10101 set SEQNUMBR = XXX, unde DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536
81920 98304 Dacă primul script nu returnează rezultatele, încercați
următoarele: selectați * din
RM10101 w, RM30301 h unde
w.RMDTYPAL = h.RMDTYPAL și
w.DOCNUMBR = h.DOCNUMBR și
w.SEQNUMBR = h.SEQNUMBR
SELECT a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR din RM20101 a, RM30301 b,
unde a.RMDTYPAL = b.RMDTYPAL șia.DOCNUMBR = b.DOCNUMBR Acest articol a fost
TechKnowledge Document ID:32359