Errore di problema
- "[Microsoft] [Odbc SQL Server Driver] [SQL Server] Violazione del vincolo PRIMARY KEY PKRM30301 Impossibile inserire la chiave duplicata nell'oggetto RM30301" si verifica quando si esegue la rimozione delle transazioni a pagamento in Gestione crediti.
Nota: quando si preme OK in questa finestra di dialogo, viene visualizzata una finestra di dialogo di informazioni che indica che "La stored procedure in Rimozione transazioni a pagamento ha restituito i risultati seguenti: DBMS:2627, eEnterprise 0".
Causa potenziale
È presente un documento duplicato nelle tabelle Crediti. In genere è un numero di sequenza duplicato.
Risoluzione
1. Eseguire le operazioni seguenti nel database Società per trovare i record che causano l'errore nel RM30301: selezionare
RMDTYPAL, DOCNUMBR, SEQNUMBR dal gruppo RM10101 di
RMDTYPAL, DOCNUMBR, SEQNUMBR con
count(*) > 1
2. Usando le informazioni restituite dalla query precedente, eseguire le operazioni seguenti per visualizzare i dati per un numero di documento specifico: selezionare
SEQNUMBR come NUMBR, * da RM10101 dove DOCNUMBR = 'immettere il numero di documento dal passaggio 1' in base all'ordine NUMBR
3. Aggiornare il campo SEQNUMBR in modo che non sia presente un duplicato. Usare la chiave fornita di seguito. Se si hanno 2 record con un SEQNUMBR di 16384, è necessario modificare uno di essi in 32768, se si hanno 2 record con 65536 è necessario aggiornarne uno a 81920 e così via. Ogni riga di un documento deve avere un seqnumbr univoco in multipli di 16384.
aggiornamento RM10101 set SEQNUMBR = XXX dove DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536
81920 98304 Se il primo script non restituisce
risultati, provare: selezionare * da
RM10101 w, RM30301 h dove
w.RMDTYPAL = h.RMDTYPAL e
w.DOCNUMBR = h.DOCNUMBR e
w.SEQNUMBR = h.SEQNUMBR
selezionare a.TRXSORCE,a.RMDTYPAL,h.DOCa.DOCNUMBR da RM20101 a, RM30301 b dove
a.RMDTYPAL = b.RMDTYPAL ea.DOCNUMBR = b.DOCNUMBR Questo articolo era
TechKnowledge DOCUMENT ID:32359