Árvore de páginas

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.