Post antigo, mas pode ser útil para outros ao abrir...
Eu passei a usar Text/Endtext ficou muito bom, pois posso posso criar criar e testar o código sql externamente e depois só colar no PRG, se precisar de manutenção so inverter; ficou muito bom mesmo esta nova forma de trabalhar, antes precisava ficar tirando os delimitadores.
Caso a compilação apresente erro, faça a declaração no topo;
#xcommand TEXT <into:TO,INTO> <v> => #pragma __cstream|<v>:=%s
Static function SQLFerias()
Local cSQL
Text into cSQL
select campo07 as IDSap,
pfunc.chapa,
nome,
dataadmissao,
datademissao,
Convert(datetime,DTVENCFERIAS,103) as DtVencFerias,
CODSITUACAO+'.'+PCODSITUACAO.DESCRICAO as CodTipo,
DtIniPerAquis,pfhstfer.DtFimPerAquis,NroPeriodo as Periodo,
Convert(datetime,DtIniGozo,103) as DtIniGozo,Convert(DateTime,DtFimGozo,103) as DtFimGozo,
pf.datapagto,
DiasAbono,NroFaltas as Faltas
from pfunc
left join pfhstfer on pfunc.chapa=pfhstfer.chapa
LEFT JOIN PCODSITUACAO ON CODSITUACAO = PCODSITUACAO.CODCLIENTE
left join PFUFERIASPER as PF on pfhstfer.codcoligada=pf.codcoligada and
pf.chapa=pfhstfer.chapa and
pfhstfer.dtfimperaquis=PF.FimPerAquis and
pfhstfer.DtIniGozo=pf.datainicio
left join c_txtSeparado on '0'+campo01=pfunc.chapa
where datademissao is null or datademissao >= convert(date,'01-03-2021',103)
--and pfunc.chapa='01000'
--and dtvencferias=dtfimperaquis
order by chapa,pfhstfer.dtfimperaquis desc,Periodo desc
EndText
Return cSQL