Bom dia pessoal,
Seguinte, estou elaborando um crítica para a folha de pagamento onde se o funcionário não estiver afastado pela previdencia então criticamos o valor do desconto de almoço e vale transporte.
Vendo que não existia uma função que buscasse a data de afastamento final da tabela do histórico de afastamento (PFHSTAFT), onde esta data deveria ser nula, e a data inicial do afastamento, que deve ser menor que o dia inicial do mês, então resolvi criar um SQL para consultar esta tabela, e o fiz assim:
SELECT A.*
FROM PFHSTAFT A
WHERE A.DTFINAL IS NULL
AND A.CHAPA = :CHAPA
Salvei como INAFAST nos sql's do RM Labore. Após isso fui ao cadastro de formulas do RM e tentei criar a critica da seguinte forma:
EXECSQL ('INAFAST');
DECL(DATAAF);
SE SFUNC = 'P'
ENTAO SETVAR(DATAAF,RESULTSQL('INAFAST','DTINICIO'))
FIMSE;
SE (TABCOMPL ('TICKET' , 'S') = 'N' OU TABCOMPL ('TICKET' , 'S') = '' ) E CODSECAO <> '1.2.002.002' E (N('0041') + N('0042')) <> 30 E DATAAF < MTDATA (1 , MES , ANO)
ENTAO SE MV(MES,ANO,'0167') <= 0
ENTAO 'CRD06'
SENAO ''
FIMSE
SENAO ''
FIMSE
No SQL INAFAST é requerido a chapa do funcionário para que ele traga os campos referentes aos afastamentos que ainda não houveram retorno. O erro se dá ai. Preciso passar a chapa da formula para o SQL para que ele me traga a linha referente a data inicial.
Alguem pode me ajudar a solucionar este problema?