Árvore de páginas

MATI685EXC - PE executado antes de processar a mensagem de apontamento de perda (Recusa)

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):

PARAMIXB (Array) -> Informações da tabela SBC

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Versões/Release:

11.80.20

Ponto de Entrada

Descrição:

É utilizado para verificar se a mensagem de apontamento de perda (Recusa) deverá ou não ser processada. É executada antes da chamada do ExecAuto da rotina MATA685.

Quando existir, no array PARAMIXB a informação IDESTORNO, identifica que a mensagem recebida é referente à um estorno de perda. Para recuperar os valores da SBC no array PARAMIXB, utilizar a lógica existente no exemplo, para realizar o aScan retornando a posição onde o campo está no PARAMIXB.

Localização:

Function MATI685 -> Adapter de apontamento de perda.

Programa Fonte:

MATI685

Retorno:

Nome

Tipo

Descrição

Obrigatório

aRet

Array

Array contendo um identificador se a mensagem deverá ou não ser processada, e um texto que descreve o resultado do processamento.

Exemplo: aRet[1] := .T.

aRet[2] := "Deverá executar a importação."

OU: aRet[1] := .F.

aRet[2] := "Texto indicando que a importação não será processada."

Sim

 

Exemplo:

#Include 'Protheus.ch'
User Function MATI685EXC()
Local aRet := {}
Local aCabec := PARAMIXB[1]
Local aDetalhe := PARAMIXB[2]
Local nEstorno := aScan(aCabec,{|aX| AllTrim(aX[1]) == "IDESTORNO"})
Local nPosProd := aScan(aDetalhe,{|aX| AllTrim(aX[1]) == "BC_PRODUTO"})
Local nPosQtd := aScan(aDetalhe,{|aX| AllTrim(aX[1]) == "BC_QUANT"})
Local nPosMot := aScan(aDetalhe,{|aX| AllTrim(aX[1]) == "BC_MOTIVO"})
If nPosMot > 0
   If aDetalhe[nPosMot,2] == "15" /*Recusa as perdas do motivo 15*/
      aRet := {.F.,"Não integrar apontamentos do motivo 15."}
   Else
      aRet := {.T.,""}
   EndIf
EndIf
Return aRet