Este erro ocorre quando existem registros na tabela rhu_repos_vag_dem inválidos, que não existem na tabela demitidos.
Procedimento:
Executar o comando no banco de dados:
SELECT * FROM rhu_repos_vag_dem
WHERE empresa = 'informar a empresa'
AND rhu_repos_vag_dem.dat_demissao not IN
(SELECT demitidos.dat_demis
FROM demitidos
WHERE demitidos.cod_empresa = 'informar a empresa'
AND demitidos.num_matricula = rhu_repos_vag_dem.matricula
AND demitidos.dat_demis = rhu_repos_vag_dem.dat_demissao )
Backup tabela rhu_repos_vag_dem
Se o sql acima retornar dados, devem ser excluídos.
Verificar se após a exclusão será corrigido o problema.
Obs: A versão atual do rhu1540 sempre que inclui, insere registro na tabela e a exclusão exclui os registros normalmente não deixando lixo na tabela.
Provavelmente alguma versão antiga do rhu1540 deixou estes lixos.