Tempo aproximado para leitura: 00:03:00 min
Dúvida
Error log Cannot insert duplicate key row in object 'dbo.CNAXXX na Inclusão do Contrato
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - TOTVS Protheus Gestão de contratos - A partir da release 12.1.2410.
Solução
Segue abaixo algumas possibilidades da causa para esse erro.
1. Normalmente, esse erro ocorre devido a uma inconsistência na base de dados. Ele indica que, ao executar essa ação no sistema, está sendo feita uma tentativa de inserir um registro na tabela CNA com chave duplicada.
Ou seja, o conteúdo que está sendo incluído possui uma chave primária (chave única) que já existe gravada na tabela.
Com isso, ocorre a quebra de integridade, pois os índices configurados não permitem a inserção de registros duplicados.
Por gentileza abrir um ticket para equipe de suporte solicitando as tabelas apenas afim de visualização e comparação SIX, SX2 e SX3 padrão da tabela CNA para pra que possa ser analisado no ambiente em questão (Importante ressaltar que é apenas para análise e comparação em teu ambiente.
A recomendação do suporte é que não manipule sua base, para que seu dicionário esteja de acordo com o Portal do cliente, pois existem particularidades de cada ambiente.
Recomenda-se verificar no error.log o conteúdo que o sistema está tentando gravar, se possui registro um idêntico na Tabela CNA.
Segue exemplo abaixo:
INSERT INTO CNA010(CNA_FILIAL,CNA_CONTRA,CNA_NUMERO,CNA_FORNEC,CNA_LJFORN,CNA_DTINI,CNA_VLTOT,CNA_SALDO,CNA_DTFIM,CNA_TIPPLA,CNA_PRORAT,CNA_CRONOG,CNA_FLREAJ,CNA_RPGANT,CNA_RATEIO,R_E_C_N_O_) VALUES ( :1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16)
-- Binded Parameters List --
#1 [C] [010101]
#2 [C] [000000000000003]
#3 [C] [000001]
#4 [C] [XXXXXX]
#5 [C] [0001]
#6 [D] [20221201]
#7 [N] [3300.000000]
#8 [N] [3300.000000]
#9 [D] [20491231]
#10 [C] [001]
#11 [C] [2]
#12 [C] [000001]
#13 [C] [2]
#14 [C] [2]
#15 [C] [2]
#16 [R] [71]
Há de fato na tabela do ambiente um registro com esses dados (Verificar o trecho acima de exemplo no erro ocorrido)?
Segue procedimento para realizar essa verificação devidamente:
-> Verifica a integridade de registros duplicados
-> Configuração da verificação da integridade de Registros Duplicados
Se de fato há o registro, precisamos primeiramente identificar o porque de já haver esse registro idêntico no banco., com mesmos números.
O dado que já possui gravado na base com mesmo índice é antigo ou recente?
Caso seja antigo, sabe informar se foi appendado na base em algum momento de implantação, desconsiderando assim o incremento de numeração automático?
OBS: Caso identifique que a gravação duplicada é, na verdade, por falha em seu controle automático de numeração, consulte aqui as instruções para ajuste do controle automático de numeração.
2. Pesquise no arquivo de erro se possui algum ponto de entrada sendo executado.Para localizar pesquise por XX7 ou CFUNCTION no arquivo do erro.
Caso possua customização sendo chamada no erro.
Peço por gentileza, que realize os testes desativando as customizações do ambiente através dos 3 métodos indicados nesta documentação, impreterivelmente.
1 - Através da chave IXBLOG no arquivo APPSERVER.ini
2 - Através do Configurador CFG - Catálogo de Personalizações
3 - Desabilitar customizações chamadas no dicionário de dados
3. Teste com as últimas atualizações do portal
Caso o problema persista após as verificações acima, solicitamos, por gentileza, a abertura de um ticket em um de nossos canais de atendimento para a equipe de suporte.
É importante encaminhar o arquivo de erro completo e com ambiente atualizado, sem customizações, juntamente com o vídeo demonstrando o processo realizado até o momento da ocorrência.
Saiba Mais:
0 Comentários