Histórico da Página
01. DADOS GERAIS
Produto: |
| ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linha de Produto: |
| ||||||||||||||||
Segmento: |
| ||||||||||||||||
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 monitorar a consulta de endereços para armazenagem do produto.
03. LOCALIZAÇÃO
Localizado na busca de endereços disponíveis para gerar os movimentos de endereçamento.
04. PARÂMETROS
Nome | Tipo | Descrição |
---|---|---|
cProduto | Caractere | Código do produto a ser armazenado |
cLocDest | Caractere | Armazém destino |
cEstDest | Caractere | Estrutura física destino |
cLoteCtl | Caractere | Lote do produto |
cNumLote | Caractere | Sublote do produto |
05. RETORNO
Nome | Tipo | Descrição |
---|---|---|
cAliasSBE | Caractere | Deverá retornar o alias da consulta criada para a busca de endereços |
Para que o processo funcione corretamente, esta consulta deve trazer obrigatoriamente uma estrutura de campos com as seguintes denominações:
Campo | Descrição | Valores |
---|---|---|
ZON_ORDEM | Ordem Zona Armazenagem | 00 - Zona do produto, 01...99 - Zona alternativa |
SLD_ORDEM | Ordem Saldo | 01 - Saldo produto, 02 - Saldo misto, 03 - Saldo outro produto, 99 - Sem saldo |
MOV_ORDEM | Ordem Movimento | 01 - Movimento pendente produto, 99 - Sem movimento pendente |
DCP_PEROCP | Indicador de percentual de ocupação | 0 - Não possui, 1 - Produto, 2 - Genérico, 3 - Outro produto |
PRD_ORDEM | Ordem Produto | 01 - Exclusivo produto, 02 - Qualquer produto |
SLD_PRODUT | Saldo do produto no endereço | Este não deve ser incrementado pelo saldo de rádio frequência (RF) pendente de entrada, o qual deverá estar contido no campo MOV_PRODUT |
MOV_PRODUT | Saldo RF do produto (pendente de entrada) | Campo não obrigatório. Caso exista um campo na consulta com este nome, o seu valor será utilizado para incrementar o saldo presente no endereço; caso contrário, será utilizada a regra padrão para consulta de saldo RF. |
SLD_OUTROS | Saldo de outros produtos no endereço | Este não deve ser incrementado pelo saldo de rádio frequência (RF) pendente de entrada, o qual deverá estar contido no campo MOV_OUTROS |
MOV_OUTROS | Saldo RF de outros produtos (pendente de entrada) | Campo não obrigatório. Caso exista um campo na consulta com este nome, o seu valor será utilizado para incrementar o saldo de outros produtos presente no endereço; caso contrário, será utilizada a regra padrão para consulta de saldo RF. |
BE_LOCALIZ | Endereço | |
BE_CODCFG | Código de configuração do endereço | |
RECNOSBE | Recno da SBE |
06. VERSÕES
11.80.13 e superiores.
07. OBSERVAÇÃO
Todos os parâmetros são recebidos na User Function via PARAMIXB conforme consta em Execblock / Customização
08. EXEMPLO
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#INCLUDE "PROTHEUS.CH" User Function WMSQYEND() Local aAreaAnt := GetArea() Local cProduto := PARAMIXB[1] Local cLocDest := PARAMIXB[2] Local cEstDest := PARAMIXB[3] Local cQuery := "" Local cAliasSBE := GetNextAlias() Local aTamSX3 := TamSx3('BF_QUANT') cQuery := "SELECT" cQuery += " '00' ZON_ORDEM," cQuery += " 99 SLD_ORDEM," cQuery += " 99 MOV_ORDEM," cQuery += " 0 DCP_PEROCP," //Se foi informado o produto no endereço ele tem prioridade cQuery += " CASE WHEN SBE.BE_CODPRO = '"+Space(TamSx3("BE_CODPRO")[1])+"' THEN 2 ELSE 1 END PRD_ORDEM," cQuery += " (SELECT SUM(BF_QUANT)" cQuery += " FROM "+RetSqlName("SBF") cQuery += " WHERE BF_FILIAL = '"+xFilial("SBF")+"'" cQuery += " AND BF_LOCAL = '"+cLocDest+"'" cQuery += " AND BF_ESTFIS = '"+cEstDest+"'" cQuery += " AND BF_PRODUTO = '"+cProduto+"'" cQuery += " AND BF_QUANT > 0" cQuery += " AND BF_LOCAL = SBE.BE_LOCAL" cQuery += " AND BF_LOCALIZ = SBE.BE_LOCALIZ" cQuery += " AND D_E_L_E_T_ = ' ') SLD_PRODUT," //Pegando as informações do endereço cQuery += " SBE.BE_LOCALIZ, SBE.BE_CODCFG, SBE.R_E_C_N_O_ RECNOSBE" cQuery += " FROM "+RetSqlName("SBE")+" SBE" //Filtros em cima da SBE - Endereços cQuery += " WHERE SBE.BE_FILIAL = '"+xFilial("SBE")+"'" cQuery += " AND SBE.BE_LOCAL = '"+cLocDest+"'" cQuery += " AND (SBE.BE_CODPRO = ' ' OR SBE.BE_CODPRO = '"+cProduto+"')" cQuery += " AND SBE.BE_ESTFIS = '"+cEstDest+"'" cQuery += " AND SBE.BE_STATUS <> '3'" cQuery += " AND SBE.D_E_L_E_T_ = ' '" //Gerando a ordenação dos endereços cQuery += " ORDER BY ZON_ORDEM, PRD_ORDEM, SLD_ORDEM, MOV_ORDEM, BE_LOCALIZ" cQuery := ChangeQuery(cQuery) DbUseArea(.T.,'TOPCONN',TcGenQry(,,cQuery),cAliasSBE,.F.,.T.) //-- Ajustando o tamanho dos campos da query TcSetField(cAliasSBE,'PRD_ORDEM','N',5,0) TcSetField(cAliasSBE,'SLD_ORDEM','N',5,0) TcSetField(cAliasSBE,'MOV_ORDEM','N',5,0) TcSetField(cAliasSBE,'DCP_PEROCP','N',5,0) TcSetField(cAliasSBE,'SLD_PRODUT','N',aTamSX3[1],aTamSX3[2]) RestArea(aAreaAnt) Return cAliasSBE |
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas