Á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:-
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

NomeTipoDescrição
cOrigemCaractereOrigem da demanda de unitização
cArmazemCaractereArmazém da montagem de unitizadores
cEnderecoCaractereEndereço da montagem de unitizadores
cTipUniCaractereTipo do unitizador
cIdUnitCaractereID do unitizador

05. RETORNO

NomeTipoDescrição
cPrdOriCaractereCódigo do produto origem¹
cProdutoCaractereCódigo do produto
cLoteCtlCaractereNúmero de lote do produto
cSubLoteCaractereNúmero de sublote do produto
nQtConfNuméricoQuantidade 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

------