Tempo aproximado para leitura: 00 min
01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Módulo: | SIGAEST - Estoque & Custos |
Função: | Tratamento de filtro através de ponto de entrada utilizado em todas as querys da rotina, |
Programa: | MAT216 - Refaz saldo de terceiros |
Sintaxe: | MT216FIL - Utilização de Filtro em tabelas diversas |
Retorno: | Nulo |
02. SITUAÇÃO/REQUISITO
O ponto de entrada para permitir filtrar os registros utilizados nas tabelas SB2, SB6, SD1, SD2 e SC6.
ATENÇÃO: Este ponto de entrada precisa que seja informado os 5 itens do array respeitando a ordem das tabelas, vale ressaltar também que todos os filtros utilizados nas tabelas filtradas tem que serem compatíveis entre si, pois a passagem incorreta do filtro em qualquer uma das tabelas poderá causar divergência e até erros de gravação na tabela de saldos de terceiros ('SB6').
Composição do array de filtros:
aFiltros[1] := //-- Filtro adicional para a tabela SB2
aFiltros[2] := //-- Filtro adicional para a tabela SB6
aFiltros[3] := //-- Filtro adicional para a tabela SD1
aFiltros[4] := //-- Filtro adicional para a tabela SD2
aFiltros[5] := //-- Filtro adicional para a tabela SC6
Os filtros deste ponto de entrada deverão ser escritos em linguagem ADVPL, caso exista necessidade de realizar filtros utilizando procedure, seguir orientações do Item 04.
03. Exemplo pratico
//EXEMPLO EM BANCO DE DADOS SQL SERVER:
User Function MT216FIL()
Local aFiltro := {}
aAdd(aFiltro,"B2_COD = 'MP01 ' ") //-- Filtro adicional na tabela SB2
aAdd(aFiltro,"B6_PRODUTO = 'MP01 ' ") //-- Filtro adicional na tabela SB6
aAdd(aFiltro,"D1_COD = 'MP01 ' ") //-- Filtro adicional na tabela SD1
aAdd(aFiltro,"D2_COD = 'MP01 ' ") //-- Filtro adicional na tabela SD2
aAdd(aFiltro,"C6_PRODUTO = 'MP01 ' ") //-- Filtro adicional na tabela SC6
Return aFiltro
04. DEMAIS INFORMAÇÕES
Este ponto de entrada somente será executado SEM a procedure (015 - Refaz Poder de Terceiros) instalada. Caso necessite realizar filtros com a procedure instalada, deverá realizar alterações diretamente na procedure.