Page tree

Ponto de Entrada

Descrição:

Ponto de Entrada utilizado na integração do cadastro de Fornecedor (versão da mensagem 1.000).

Eventos:

Ponto de Entrada executado antes da chamada da rotina automática do cadastro de Fornecedor.

Programa Fonte:

MATI020.PRX

Função:

Todos

Parâmetro:
ParametroTipoDescrição
PARAMIXB[1]ArrayArray dos campos que devem ser incluídos no cadastro de Fornecedor.
PARAMIXB[2]NumericoOpção realizado (3 - Incluir, 4 - Alterar, 5 - Excluir).

Retorno:

Nome

Tipo

Descrição

Obrigatório

 aCab

Array

Array com as informações que devem ser executadas na rotina automática.

*

 

Exemplo:

#Include 'Protheus.ch'

User Function MT020EAI()

Local aArray := PARAMIXB[1]
Local nOpc := PARAMIXB[2]
Local aArea := GetArea()
Local aTamCod := TamSx3("A2_COD")
Local aTamLoj := TamSx3("A2_LOJA")
Local nPosCGC := aScan(aArray,{|x| Alltrim(x[1]) == "A2_CGC"})
Local nPosCOD := aScan(aArray,{|x| Alltrim(x[1]) == "A2_COD"})
Local nPosLOJ := aScan(aArray,{|x| Alltrim(x[1]) == "A2_LOJA"})
Local nPosPES := aScan(aArray,{|x| Alltrim(x[1]) == "A2_PESSOA"})
Local cCGC := ""
Local cTpPes := ""
Local cCod := ""
Local cLoj := ""
Local lExit := .T.

If nPosCGC > 0
           cCGC := aArray[nPosCGC,2]

           If nPosPES > 0
                   cTpPes := aArray[nPosPES,2]
                   cCod := PadR( SubStr(cCGC,1,aTamCod[1]) , aTamCod[1])
                   cLoj := PadR( SubStr(cCGC,aTamCod[1]+1,aTamLoj[1]), aTamLoj[1])

                   If cTpPes == "F" .And. nOpc == 3
                            While lExit
                                   SA2->(DbSetOrder(1))
                                   If SA2->(DbSeek(xFilial("SA2") + cCod + cLoj))
                                           cLoj := Soma1(cLoj)
                                   Else
                                           lExit := .F.
                                   Endif
                             Enddo
                    Endif

                    If nPosCOD > 0
                            aArray[nPosCOD,2] := cCod
                    Endif

                    If nPosLOJ > 0
                           aArray[nPosLOJ,2] := cLoj
                    Endif
           Endif
 Endif

RestArea(aArea)

Return aArray