ERP - Cadastro de Filial - Violação de chave
Incidente
No módulo de Cadastros, ao tentar cadastrar uma nova filial, é apresentada a mensagem: Violação de Chave.
Classe da exceção: eexaccess.
Causa
Esta mensagem é apresentada, pois existe uma diferença entre o valor do campo R900NXV.LSTVAL e o valor máximo do campo IDEUNI na tabela E070FIL.
Solução
Para que a mensagem não seja apresentada, realize os passos a seguir:
1. Verifique na tabela E070FIL se existe uma filial cadastrada com o valor de IDEUNI igual a zero (0), exemplo;
SELECT CODEMP, CODFIL, IDEUNI FROM E070FIL ORDER BY 3 ASC
2. Caso exista, ajuste esta filial para que o IDEUNI seja correspondente à sequência, por exemplo:
UPDATE E070FIL SET IDEUNI = 'XX' WHERE CODEMP = 'XX' AND CODFIL = 'XX' AND IDEUNI = '0'
3. Verifique se na tabela R900NXV o LSTVAL é correspondente ao MAX(IDEUNI) da tabela E070FIL, por exemplo:
SELECT * FROM R900NXV WHERE CODPKY = 'E070FILIdeUni'
SELECT MAX(IDEUNI) FROM E070FIL
4. Caso não seja, ajuste o LSTVAL da tabela R900NXV, por exemplo:
UPDATE R900NXV SET LSTVAL = 'XX' WHERE CODPKY = 'E070FILIdeUni'
Observação
Os comandos devem ser adaptados conforme necessidade, os comandos passados acima são exemplos, devendo ser avaliado pelo responsável.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.