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).

Este artigo ajudou você?