HCM – Processo automatico de cálculo – Não Foi Possível Processar o Empregado XX da Empresa XX. Erro na Carga dos Lançamentos no Banco de Horas: Erro na execução da Stored-Procedure HR_ZERCMPBHR: Erro de acesso ao banco de dados: Banco de Dados: SQL Serve
Incidente
No módulo Controle de Ponto, ao realizar o cálculo automatico, é retornada a mensagem: Não Foi Possível Processar o Empregado XX da Empresa XX. Erro na Carga dos Lançamentos no Banco de Horas: Erro na execução da Stored-Procedure HR_ZERCMPBHR: Erro de acesso ao banco de dados:
Banco de Dados: SQL Server 2008. Erro do Banco (1205): Error Message: [Microsoft][SQL Server Native Client 10.0][SQL Server]Transaction (Process ID 232) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Causa
Esta mensagem é apresentada, pois existe mais de um processo de cálculo que possuem horários muito próximos.
Solução
Para que a mensagem não seja apresentada ao efetuar o calculo automatico., realize os passos a seguir:
1. Verifique se existem processos automáticos do tipo cálculo com horários muito próximo, no módulo Controle de Ponto em Recursos / Processos automáticos / Consultas:
2. Verifique o horário da Próxima Execução;
Importante
Este problema ocorre pois ao utilizar o banco de dados MSSQL, pode haver um bloqueio de tabelas, os processos automáticos da mesma rotina gravam nas mesmas tabelas. Então pode ser que pela proximidade de horário, quando o segundo processo começa a executar, o primeiro ainda não terminou.
Deve-se sempre colocar um processo para rodar em um horário e o outro processo em outro horário mais distante, dando assim um intervalo de tempo entre um processo e outro. Após fazer um acompanhamento se ainda irá ocorrer o Deadlock, caso ainda esteja ocorrendo, aumentar novamente o tempo dos processos.
Observação
Se mesmo assim o problema persistir, deve-se abrir um ticket de atendimento junto ao suporte HCM, com o log de processamento dos dois cálculos, para análise. Para coleta de logs realize os passos a seguir:
1. Acesse o módulo Controle de Ponto, clique em Diversos / Log / Listar e selecione o modelo Log do Agendador (HRLO004.GER);
1.1. Informe a data inicial e final do processo executado e selecionar o Tipo do Processo e Código do Processo em questão.