Erro de problema
- "[Microsoft] [ODBC SQL Server Driver] [SQL Server] Violação da restrição de CHAVE PRIMÁRIA PKRM30301 Não pode inserir chave duplicada no objeto RM30301" ocorre ao executar a Remoção de Transação Paga no Gerenciamento de
Recebíveis.
Observação - Quando você atinge OK nesta caixa de diálogo, uma caixa de diálogo de informações é exibida informando "O procedimento armazenado em Remoção de Transação Paga retornou os seguintes resultados: DBMS:2627, eEnterprise 0".
Causa Potencial
Há um documento duplicado em algum lugar nas tabelas Recebíveis. Normalmente, é um número de sequência duplicado.
Resolução
1. Execute o seguinte no banco de dados da Empresa para encontrar os registros que estão causando o erro no RM30301:
selecione RMDTYPAL, DOCNUMBR, SEQNUMBR do grupo RM10101 por
RMDTYPAL, DOCNUMBR, SEQNUMBR com
contagem(*) > 1
2. Usando as informações retornadas da consulta anterior, execute o seguinte para exibir dados para um Número de Documento específico: selecione
SEQNUMBR como NUMBR, * de RM10101 em que DOCNUMBR = 'insira o Número do Documento da etapa 1' ordem por NUMBR
3. Atualize o campo SEQNUMBR para que não haja uma duplicata. Use a chave fornecida abaixo. Se você tiver 2 registros com uma SEQNUMBR de 16384, precisará alterar um deles para 32768, se você tiver 2 registros com 65536, será necessário atualizar um para 81920, etc. Cada linha de um documento deve ter sua própria seqnumbr exclusiva em múltiplos de 16384.
update RM10101 set SEQNUMBR = XXX where DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536 81920 98304 If the first script does not return results, try
these:
select * from RM10101 w, RM30301 h onde
w.RMDTYPAL = h.RMDTYPAL e
w.DOCNUMBR = h.DOCNUMBR e
w.SEQNUMBR = h.SEQNUMBR
selecione a.TRXSORCE,a.RMDTYPAL,a.DOCa.DOCNUMBR de RM20101 a, RM30301 b onde
a.RMDTYPAL = b.RMDTYPAL ea.DOCNUMBR = b.DOCNUMBR Este artigo foi ID do Documento
TechKnowledge:32359