Árvore de páginas

Ponto-de-Entrada: A250FSD4 - Filtra as requisições empenhadas na atualização do MATA250


Versões:Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Espanhol , Inglês, Português


Descrição:

LOCALIZAÇÃO : Executado nas funções A250Atu(), A250Estoq(), LotesSD4() e ExplodeSD4().

EM QUE PONTO : O Ponto de entrada é executado na tela de atualização do MATA250

Utilizado para filtrar as requisições empenhadas na atualização do mesmo.


Programa Fonte: MATA250.PRX


Sintaxe:

A250FSD4 - Filtra as requisições empenhadas na atualização do MATA250 ( ) --> lRet

lRet  (Lógico)
  • Um retorno lógico .T. confirma a requisição do empenho
  • Um retorno .F. não faz a requisição do empenho
  • Se o retorno não for logico o sistema ira assumir .T. (verdadeiro).

Parâmetros passados para o PARAMIXB:    
PARAMIXB[01] = Índice utilizado para o cálculo da quantidade a ser requisitada na SD4.
PARAMIXB[02] = Indicador de atualização de saldo ( .T. = Efetua a atualização de saldo / .F. = Não efetua atualização de saldo/Somente validações de estoque)
Funções:
      • A250Estoq() Verifica quantidade em estoque dos empenhos da OP - PARAMIXB[02] =  F  
      • LotesSD4() Verifica saldo em estoque e gera lotes produção automática - PARAMIXB[02] =  F  
      • A250Atu() Atualizações (SD3, SB2, SB3, SC2...) -  PARAMIXB[02] = T 
      • ExplodeSD4() Processa as produções através do empenho -  PARAMIXB[02] = T

Exemplo de como é calculado e utilizado o índice (PARAMIXB[01])

Estrutura
Pai: PA-001
Componentes: MP-001 QTD: 1 e MP-002 QTD: 3
                        
OP: 00023601001   QTD: 50

Empenho - SD4

D4_COD: MP-001   D4_QTDEORI: 50    D4_QUANT: 50
D4_COD: MP-002   D4_QTDEORI:150   D4_QUANT: 150

Apontando quantidade 6

O primeiro valor do PE corresponde ao índice da quantidade que está sendo apontada com base na quantidade planejada da OP.
Ou seja:

Índice= Quantidade apontada / Quantidade da OP
Índice = 6 / 50 = 0,12

Será apontada 0,12 da quantidade total da OP.

A requisição dos componentes é feita com base nos empenhos da ordem de produção (SD4 - Requisições Empenhadas) e o cálculo da quantidade a ser requisitada é com base no índice que está sendo apontado.

Para o componente MP-001 que possui quantidade empenhada de 50 e o índice da OP é de 0,12, será requisitado 6 (50 * 0,12 = 6).
Para o componente MP-002 que possui quantidade empenhada de 150 e o índice da OP é de 0,12, será requisitado 18 (150 * 0,12 = 18).


Exemplo
User Function A250FSD4()
    Local lRet        := .T.
	Local nIndice     := PARAMIXB[1]
    Local lAtuSaldo   := PARAMIXB[2]
	
	If SD4->D4_COD == 'MP-001' .And. nIndice < 1 //SD4 está posicionada no empenho que está sendo validado.
		lRet := .F.
	EndIf

   Return lRet