MontarFiltroR044CALcomR038HFI
Esta função retorna uma condição para ser utilizada em comandos sqls para realizar um filtro com as tabelas R044CAL e R038HFI.
Seu objetivo é retornar a data de início da apuração conforme a data da transferência de filial.
Sintaxe: MontarFiltroR044CALcomR038HFI(Alfa xR044CALCampo, Alfa xR038HFICampo, Alfa xR038HFIDatAlt, Alfa End xWhereR044CALcomR038HFI)
Parâmetros:
- xR044CALCampo => Será o identificador da R044CAL.NumEmp para relacionar com a R038HFI.
- xR038HFICampo => Será o identificador da R038HFI.NumEmp para relacionar com a R044CAL.
- Alfa xR038HFIDatAlt => Será o campo R038HFI.DatAlt que será comparado com o ínicio da apuração ou início da competência da R044CAL.
- xWhereR044CALcomR038HFI)=> Retorna o comando sql. O retorno sempre será : 'xR044CALCampo = xR038HFICampo AND INICMP <= xR038HFIDatAlt AND FIMCMP >= xR038HFIDatAlt' ou
- '(INIAPU <= xR038HFIDatAlt AND FIMAPU >= xR038HFIDatAlt OR (xR044CALCampo = xR038HFICampo AND FIMAPU < INICMP AND (INICMP <= xR038HFIDatAlt AND FIMCMP >= xR038HFIDatAlt)))' se o módulo ativo não estiver integrado com o módulo Admnistração de Pessoal.
Exemplo:
@ -- Relacionamento Histórico Filial -- @
Definir alfa AuxFilialSQL;
Definir alfa xWhereR044CALcomR038HFI;
MontarFiltroR044CALcomR038HFI("TAB1.NUMEMP","TAB2.NUMEMP","TAB2.DATALT", xWhereR044CALcomR038HFI);
AuxFilialSQL = " AND R038HFI.DATALT = (SELECT MAX (DATALT) FROM R038HFI TAB2,R044CAL TAB1 WHERE \
(TAB2.NUMEMP = R038HFI.NUMEMP) AND \
(TAB2.TIPCOL = R038HFI.TIPCOL) AND \
(TAB2.NUMCAD = R038HFI.NUMCAD) AND \
(TAB2.NUMEMP = TAB2.EMPATU) AND \
(TAB2.NUMCAD = TAB2.CADATU) AND \
" + xWhereR044CALcomR038HFI + " AND \
(TAB1.INIAPU <= " + datafinal + ")) ";
InsClauSQLWhere ("Colaboradores", AuxFilialSQL);
Utilização: Pode ser utilizado em todas as regras mas especificamente no Gerador de Relatório onde é feito relacionamento com a tabela R038HFI (Histórico de Filial)