Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:SIGAWMS - Gestão de Armazenagem
Função:WMSV084 - Montagem de Unitizador (Coletor)
País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-12542


02. DESCRIÇÃO

Este Ponto de Entrada permite efetuar validação para o produto na montagem do unitizador .

03. LOCALIZAÇÃO

Localizado logo após o input dos dados de quantidade do produto no unitizador.

04. PARÂMETROS

NomeTipoDescrição

cProduto

CaractereCódigo do produto informado na montagem do unitizador.

cLoteCtl

CaractereLote produto.

nQtd

NuméricoQuantidade do produto informado. 

cArmazem

CaractereCódigo do Local.

cEndereco

Caractere

Endereço.

cOrigem

CaractereCódigo da origem do documento referente a montagem do unitizador.

cTipoUni

Caractere

Tipo de unitizador informado na montagem.

05. RETORNO

Lógico - .T. ou .F.

06. VERSÕES

Protheus 12.1.23 ou superiores.

07. OBSERVAÇÃO

Todos os parâmetros são recebidos na User Function via PARAMIXB conforme consta em Execblock / Customização

08. EXEMPLO

------

#INCLUDE "PROTHEUS.CH"


User Function WV084VPR
   
    Local lRet      := .T.
    Local cAliasQry := Nil
    Local cProduto  := PARAMIXB[1]
    Local cLoteCtl  := PARAMIXB[2]
    Local nQtd      := PARAMIXB[3]
    Local cArmazem  := PARAMIXB[4]
    Local cEndereco := PARAMIXB[5]
    Local cOrigem   := PARAMIXB[6]
    Local cTipoUni  := PARAMIXB[7]
    
    If cOrigem = 'SD1'
        //Validar se o produto/Lote/Endereço ja´esta com o mesmo tipo de unitizador , caso nao esteja não permitir incluir o produto. 
        cAliasQry := GetNextAlias()
        BeginSql Alias cAliasQry
            SELECT DISTINCT 1
            FROM %Table:D0Q% D0Q
            INNER JOIN %Table:D0S% D0S
            ON D0S.D0S_FILIAL =  %xFilial:D0S%
            AND D0S.D0S_IDD0Q = D0Q.D0Q_ID
            AND D0S.%NotDel%
            INNER JOIN %Table:D0R% D0R 
            ON D0R.D0R_FILIAL =  %xFilial:D0R%
            AND D0R.D0R_IDUNIT = D0S.D0S_IDUNIT
            AND D0R.D0R_CODUNI <> %Exp:cTipoUni%
            AND D0R.%NotDel%
            WHERE D0Q.D0Q_FILIAL =  %xFilial:D0Q%
            AND D0Q.D0Q_LOCAL = %Exp:cArmazem%
            AND D0Q.D0Q_ENDER = %Exp:cEndereco%
            AND D0Q.D0Q_ORIGEM =  %Exp:cOrigem%
            AND D0Q.D0Q_CODPRO = %Exp:cProduto%
            AND D0Q.D0Q_LOTECT =  %Exp:cLoteCtl%
            AND D0Q.%NotDel%
        EndSql
        If (cAliasQry)->(!Eof())
             VTAlert("Atencao! Tipo de unitizador difere do ja utilizado para este produto/lote no endereco.","WV084PR_PE",.T.)
             lRet := .F.
        EndIf
    EndIf 
Return lRet 

------