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
Nome | Tipo | Descrição |
---|---|---|
cProduto | Caractere | Código do produto informado na montagem do unitizador. |
cLoteCtl | Caractere | Lote produto. |
nQtd | Numérico | Quantidade do produto informado. |
cArmazem | Caractere | Código do Local. |
cEndereco | Caractere | Endereço. |
cOrigem | Caractere | Có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
------