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: |
|
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