HCM – Transferência – Violação de chave
Incidente
No módulo Administração de Pessoal, ao tentar realizar uma transferência de empresa, é apresentada a mensagem: Violação de Chave.
Causa
Esta mensagem é apresentada, pois há alguma informação duplicada em alguma tabela. Após rodar o log SQLMon foi identificada a tabela:
Error - [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'cp_r040acu'. Cannot insert duplicate key in object 'dbo.r040acu'. The duplicate key value is (4, 1, 1244, Apr 3 2014 12:00AM, 1, 1).
Solução
Para que a mensagem não seja apresentada ao efetuar a transferência, realize os passos a seguir:
1. Acesse em Colaboradores/ Férias / Períodos / Cadastro e localize o período apresentado na mensagem;
2. Clique na aba Acumulados e verifique se há algum totalizador com informação duplicada:
3. Acesse o CBDS e exclua a informação incorreta realizando o SELECT na tabela R040ACU :
SELECT * FROM R040ACU WHERE NUMEMP = XX AND NUMCAD = XXXX AND INIPER = XX-XX-XXX AND CODTOT = XXX;
4. Efetue o DELETE a seguir:
DELETE R040ACU WHERE NUMEMP = XX AND NUMCAD = XXXX AND INIPER = XX-XX-XXX AND CODTOT = XXX AND VALTOT = XX;
4. Realize novamente a transferência e valide o processo.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema. É recomendável a realização de backup da base atualizado sempre que realizada qualquer ação via banco.