ERP - Cadastros de Produtos - Não Alterou Tabela E075DER, Problemas Integridade do sistema - Violação de chave
Incidente
No módulo de Cadastros, ao tentar alterar o preço de custo no cadastro do produto na tela F075PRO - Cadastros / Produtos e Serviços / Produtos / Individual, é apresentada a mensagem: Não Alterou Tabela E075DER, Problemas Integridade do sistema - Violação de chave.
Causa
Esta mensagem é apresentada, pois há uma violação de restrição de chave primária na tabela e055hpf. O sistema está tentando inserir um valor de chave duplicado nessa tabela, o que não é permitido.
Observação
Identificamos uma causa após análise do SQLMon.
Havia o seguinte retorno no SQLMon:
ERROR - Error returned from ODBC function SQLExecute in TSqlCommandOdbc.Execute
ODBC Return Code: -1 (SQL_ERROR)
SQLState: [23000], ErrorCode: [2627], ErrorMessage: [[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'cp_e055hpf'. Cannot insert duplicate key in object 'dbo.e055hpf'. The duplicate key value is (2).
Procedure: SP_T055HPF, Line: 27]
Solução
Para que a mensagem não seja apresentada, realize os passos a seguir:
1. Utilize o SQLMon para saber qual a mensagem que é apresentada no log;
2. Verifique a mensagem. Caso seja a mesma mensagem descrita acima, siga os passos abaixo:
2.1. Execute os comandos abaixo e observe os retornos obtidos:
SELECT * FROM R900NXV WHERE CODPKY LIKE 'E055HPF';
SELECT MAX (IDEHPF) FROM E055HPF;
3. Analise se ambos os resultados são iguais. Se não forem, é necessário realizar um ajuste via banco;
Exemplo:
O retorno do comando na tabela R900NXV é diferente do comando na tabela E055HPF.
Nesse caso, deve ser realizado o ajuste na tabela R900NXV, para deixar o valor do retorno igual ao do comando da tabela E055HPF.
4. Dê continuidade no processo após realizar o ajuste.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.