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: | - |
País: | Todos Países |
Ticket: | - |
Requisito/Story/Issue (informe o requisito relacionado) : | - |
02. DESCRIÇÃO
Este Ponto de Entrada permite que a operação de um armazém receba os produtos unitizados e realize o processo de registro de montagem do unitizador, sem que haja a necessidade de abrir o invólucro e efetuar a leitura e a digitação de quantidade de cada um dos produtos contidos no unitizador.
03. LOCALIZAÇÃO
Localizado logo após a leitura e validação do tipo e identificador do unitizador.
04. PARÂMETROS
Nome | Tipo | Descrição |
---|---|---|
cOrigem | Caractere | Origem da demanda de unitização |
cArmazem | Caractere | Armazém da montagem de unitizadores |
cEndereco | Caractere | Endereço da montagem de unitizadores |
cTipUni | Caractere | Tipo do unitizador |
cIdUnit | Caractere | ID do unitizador |
05. RETORNO
Nome | Tipo | Descrição |
---|---|---|
cPrdOri | Caractere | Código do produto origem¹ |
cProduto | Caractere | Código do produto |
cLoteCtl | Caractere | Número de lote do produto |
cSubLote | Caractere | Número de sublote do produto |
nQtConf | Numérico | Quantidade conferida |
¹ Quando não for um produto componente, é o próprio código do produto.
IMPORTANTE!
- Os valores retornados por este Ponto de Entrada devem possuir o mesmo tamanho dos campos correspondentes na tabela de Itens do Unitizador (D0S).
- Caso contrário, podem ser gerados error.logs ou inconsistências na base de dados.
06. VERSÕES
Protheus 12.1.17 ou superiores.
07. OBSERVAÇÃO
Quando este Ponto de Entrada for implementado, o Sistema solicitará as informações até o Tipo e ID do Unitizador. Sendo assim, o PE permanecerá responsável por retornar um array contendo todas as informações relativas aos produtos contidos no unitizador informado.
Sempre que for lido um ID de Unitizador inexistente na tabela de Etiquetas de Unitizador (D0Y), o Sistema criará o registro da etiqueta automaticamente.
Se o retorno do PE for uma variável diferente de array ou um array em branco, o Sistema solicitará a informação dos produtos contidos no unitizador informado.
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 WV084AUT()
Local cOrigem := PARAMIXB[1]
Local cIdUnit := PARAMIXB[3]
Local cSeekZZZ := ""
Local nTamPrd := TamSX3("D0S_CODPRO")[1]
Local nTamLot := TamSX3("D0S_LOTECT")[1]
Local nTamSub := TamSX3("D0S_NUMLOT")[1]
Local aItensUni := {}
Local aItem := {}
cSeekZZZ := xFilial("ZZZ")+cOrigem+cIdUnit
// Busca na tabela específica todos os itens que fazem parte daquela origem + etiqueta
ZZZ→ (DbSetOrder(1))
ZZZ→ (DbSeek(cSeekZZZ))
While !ZZZ->(Eof()) .And. ZZZ→ ZZZ_FILIAL+ZZZ->ZZZ_ORIGEM+ZZZ->ZZZ_IDUNIT == cSeekZZZ
// Adiciona o item relacionado à etiqueta no array auxiliar
AAdd(aItem,PadR(ZZZ→ZZZ_PRDORI ,nTamPrd))
AAdd(aItem,PadR(ZZZ→ ZZZ_PRODUT ,nTamPrd))
AAdd(aItem,PadR(ZZZ→ ZZZ_LOTECTL,nTamLot))
AAdd(aItem,PadR(ZZZ→ ZZZ_SUBLOT ,nTamSub))
AAdd(aItem,ZZZ→ ZZZ_QUANT)
// Adiciona o item no array principal de retorno
AAdd(aItensUni,aItem)
ZZZ→(DbSkip())
EndDo
Return aItensUni
------