Jefferson,
Bom dia!
Segue anexo o SQL, conforme sua solicitação, mas ontem surgiu nova dúvida.
Tenho dois tipo de contrato de trabalho, horista e mensalista:
No caso do horista, o calculo das férias, quando eu lanço para a folha, o sistema está realizando o calculo corretamente ex:
Funcionario horista com menos de um ano com direito as férias de apenas 5 dias. Ao lañçar para a folha e realizar o calculo, o sistema gera os 5 dias de férias, 7 dias de licença remunerado no mês e 8 dias de licença remunerada para o mês seguinte e 18 dias de salario, calculo correto.
No caso do funcionario mensalista, o sistema está calaculando da seguinte maneira:
Funcionario tem direito a 10 dias de férias, então ao lançar para a folha, o sistema calcula 10 dias de férias, 10 dias de licença remunerada e 20 dias de salário, sendo que o correto seria: 10 dias de férias, 2 dias de Licença remunerada e 18 dias de salário e 8 dias de licença remunerada para o proximo mês.
Será que está faltando algum ajuste.
Grato!
Fico no aguardo!
Demetrio
Segue abaixo SQL do periodo aquisitivo final
SELECT CASE WHEN
(
SELECT P.DATAADMISSAO
FROM PFUNC P
WHERE P.CHAPA=:CHAPA
AND P.CODCOLIGADA=:CODCOLIGADA
) <= '20100101'
THEN
MAX(PFHSTFER.DTFIMPERAQUIS)
ELSE
(
SELECT X.INICPROGFERIAS1-1
FROM PFUNC X
WHERE X.CHAPA=:CHAPA
AND X.CODCOLIGADA=:CODCOLIGADA
)
END
FROM PFHSTFER , PFUNC
WHERE PFHSTFER.CHAPA=:CHAPA
AND PFHSTFER.CODCOLIGADA=:CODCOLIGADA
AND PFUNC.CHAPA=:CHAPA
AND PFUNC.CODCOLIGADA=:CODCOLIGADA