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:
Nome | Tipo | Descrição |
xR044CALCampo | Alfanumérico | Será o identificador da R044CAL.NumEmp para relacionar com a R038HFI. |
xR038HFICampo | Alfanumérico | Será o identificador da R038HFI.NumEmp para relacionar com a R044CAL. |
xR038HFIDatAlt | Alfanumérico | Será o campo R038HFI.DatAlt que será comparado com o ínicio da apuração ou início da competência da R044CAL. |
xWhereR044CALcomR038HFI | Alfanumérico |
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).