Árvore de páginas

Ponto de Entrada

Descrição:

Este ponto de entrada está localizado na rotina Interpretacao Edi (OFIIA310) e será executado antes da gravação. O objetivo do ponto de entrada é realizar a verificação e validação do saldo atual de um item.

Localização:

Atualizações / Mov integracao / Interpretacao Edi (OFIIA310)

Eventos:

While (cSQLVI0)->(!Eof())


If lPE

If !ExecBlock("OFA310SD",.f.,.f.,{"VI0"})

(cSQLVI0)->(DbSkip())

Loop

Endif

Endif


DbSelectArea("SF1")

If !DbSeek(xFilial("SF1")+(cSQLVI0)->VI0_NUMNFI+(cSQLVI0)->VI0_SERNFI+(cSQLVI0)->VI0_CODFOR+(cSQLVI0)->VI0_LOJFOR)


If (cSQLVI0)->VIA_QTDFAT > 0

nPos := aScan(aVetor,{|x| x[1] == Subs((cSQLVI0)->VIA_CODITE,1,7)})

If nPos > 0

aVetor[nPos,2] := aVetor[nPos,2] + (cSQLVI0)->VIA_QTDFAT

Else

aadd(aVetor,{Subs((cSQLVI0)->VIA_CODITE,1,7),(cSQLVI0)->VIA_QTDFAT})

Endif

Endif


Endif


(cSQLVI0)->(DbSkip())


Enddo


If Select(cSQLSB2) > 0

(cSQLSB2)->(DbCloseArea())

EndIf

If Select(cSQLSC7) > 0

(cSQLSC7)->(DbCloseArea())

EndIf

If Select(cSQLVI0) > 0

(cSQLVI0)->(DbCloseArea())

EndIf


DbSelectArea("VIO")

// Atualiza Arquivo VIO com os Saldos Atuais

for i = 1 to Len(aVetor)

// Ponto de Entrada para Verificação do Saldo Atual

If lOFA310SA

aVetor[i,2] := ExecBlock("OFA310SA", .f., .f., aVetor[i])

EndIf


If aVetor[i,2] > 0

RecLock("VIO",.t.)

VIO_FILIAL := xFilial("VIO")

VIO_CODITE := aVetor[i,1]

VIO_QTDADE := aVetor[i,2]

MsUnlock()

Endif


Next


cMsg := "Os codigos de Peca a seguir nao existem no Arquivo de Produtos (SB1): " + Chr(10)

For i = 1 to Len(aVetNSB1)

cMsg := cMsg + aVetNSB1[i] + Chr(10)

Next

Programa Fonte:

OFIIA310.PRW

Função:

OFIIA310()

Parâmetros:
NomeTipo Descrição

aVetor[i]

Vetor

Código do Item

Retorno:
NomeTipoDescrição

nQtdade

Numérico

Saldo Atual

Exemplo:

Include totvs.ch

/*

===============================================================================

###############################################################################

##+----------+------------+-------+-----------------------+------+----------+##

##|Função | OFA310SA | Autor | MIL | Data | 22/04/2020 |##

##+----------+------------+-------+-----------------------+------+----------+##

##|Descrição | Verificação Saldo Atudal na Rotina OFIIA310 |##

##+----------+--------------------------------------------------------------+##

###############################################################################

===============================================================================

*/

User Function OFA310SA()

Local cCodIte := ""

Local nQtdade := 0

Local aVet := ParamIxb[1]


cCodIte := aVet

// Tratar nQtdade e Retorná-lo

Return nQtdade