Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | WMS | Módulo | Logix |
Segmento Executor | Supply Chain - Inovação | ||
Projeto1 | IRM1/Epic | ||
Requisito1/Story | Subtarefa1 |
| |
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Permitir a leitura e decodificação de etiquetas padrão GS1-128 durante a separação.
Definição da Regra de Negócio
Será possível efetuar a leitura de etiquetas padrão GS1-128 no processo de separação nas seguintes condições:
- Quando o parâmetro Modo solicitação SKU separação do contrato (Expedição - Separação/Conferência) estiver informado "Obriga leitura SKU" o programa de separação via coletor deverá estar preparado para receber uma etiqueta padrão GS1-128 no lugar da etiqueta EAN/SKU carregando as informações de SKU/ITEM (caso existam) e efetuando as validações já existentes após a leitura do EAN/SKU. Este processo ocorre tanto em separação em endereço armazém, quanto de picking. Se o parâmetro Informar dimensionais no picking estiver marcado e o item possuir controle de algum dimensional, durante a separação em endereço de picking, serão carregadas automaticamente as informações, caso tenham sido lidas a partir do GS1 informado no lugar do EAN/SKU. Caso o operador não tenha lido o código de barras contendo as informações dos dimensionais ou não tenha efetuado a leitura de um código padrão GS1-128 anteriormente, ainda poderá faze-lo por meio da tecla função F11/Ctrl-R, ao final da separação ou quando efetuar uma coleta parcial. A tela que atualmente efetua a entrada dos dimensionais manualmente deverá possibilitar a leitura de uma etiqueta GS1-128.
- Quando o parâmetro Modo solicitação SKU separação estiver informado "Obriga informar quantidade" ou "Somente pede confirmação" o programa de separação via coletor deverá estar preparado para receber uma etiqueta padrão GS1-128 somente quando a separação ocorrer em endereços de pícking e quando o parâmetro Informar dimensionais no picking estiver marcado. Isso porque nessas modalidades de separação, somente nestes casos a leitura de uma etiqueta GS1-128 seria necessária. Quando ocorrer esta situação, no momento da entrada dos dimensionais, o programa deverá estar preparado para receber as informações por meio de uma etiqueta GS1-128.
- E no descarregamento, quando poderá ser informada uma etiqueta GS1-128 no lugar de uma etiqueta de SKU ou ITEM para ser efetuada a validação dos movimentos relacionados.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
WMS6214 | [Alteração] |
| Programa Coletor |
WMSR41 | [Alteração] |
| RNL |
WMS6730 | [Alteração] |
| Programa Coletor |
WMS6730 | [Criação] | Tela |
WMS6730
Alterar a tela conforme layout definido abaixo. Está tela será utilizada pelo WMS6730 quando o mesmo receber um código de barras como parâmetro devido a limitações de controle de telas 4GL.
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
DATABASE FORMONLY SCREEN { COD. BARRAS GS1-128 [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] [a |b] F10/CTRL-S Teclas } END ATTRIBUTES a = FORMONLY.cod_barras_gs1_128 TYPE CHAR,UPSHIFT --#,SCROLL ; b = formonly.texto TYPE CHAR, AUTONEXT, NOENTRY ; END INSTRUCTIONS SCREEN RECORD sr_wms6730[13] (formonly.cod_barras_gs1_128, formonly.texto); DELIMITERS ""; END |
Alteração WMS6730
Criar nova função WMS6730_set_cod_gs1_128_input().Parâmetros entradaParâmetros retornol_cod_barras_gs1_128 CHAR(200)Código de barras GS1-128NenhumEstá função irá receber l_cod_barras_gs1_128 e setar uma variável modular m_cod_barras_gs1_128.Alterar a função wms6730_solicita_cod_barras_gs1_128().Esta função deverá ser preparada para que quando chamada do processo de conferência e a variável m_cod_barras_gs1_128 não esteja nula, seja efetuada a validação do código de barras de acordo com as configurações do GS1-128 do depositante.Se a quantidade máxima de leituras do código de barras seja 1 (um) o código de barras deve ser validado e as informações dos atributos extraídas. A tela de Input somente deverá ser aberta caso a quantidade máxima de leituras seja maior que 1 (um) ou caso ocorra algum erro na validação do código de barras.
Alteração WMS6214
- Função wms6214_coleta_mercadorias() deverá ser alterada para verificar se o depositante do processo utiliza codificação GS1-128.
- No início da função deverá ser atribuído true ou false a uma nova variável modular chamada m_config_gs1_128 de acordo com o retorno da função wmsr130_deposit_utiliza_cod_barras_gs1_128(), os parâmetros empresa e depositante deverão ser passados anteriormente via função wmsr130_set_empresa() e wmsr130_set_deposit.().
- A função wms6214_coleta_etiqueta_sku_item() deverá ser alterada no ponto de input da etiqueta EAN/SKU sendo preparada para o recebimento de uma etiqueta GS1-128.
- Se o depositante não possuir configuração válida (m_config_gs1_128 = 0) o Input não deve ser alterado.
- No AfterField do campo etiq
- _entrada, após a chamada da função wms6214_verifica_movimento(), quando o l_qtd_item_sku for igual a Zero e m_config_gs1_128 > 0 deverá
- verificar se foi informada uma etiqueta GS1-128, seguindo os seguintes passos:
- Chamar as funções a segui na seqüência: wmsr130_set_null(), wmsr130_set_modo_exibicao(0), wmsr130_set_empresa(p_cod_empresa), wmsr130_set_cod_config_gs1_128(m_config_gs1_128 ), wmsr130_set_depositante(mr_movimento.deposit),wmsr130_add_cod_barras_gs1_128(ma
- _cod_barras[l_ind+1]);
- Chamar a função wmsr130_decodifica_gs1_128()
Bloco de código language js firstline 3829 linenumbers true #Não foi encontrado nenhum palete desse item com o código de barras informado IF l_qtd_item_sku = 0 THEN LET l_msg = 'Etiqueta nao confere.' CALL wms6214_help(l_msg) NEXT FIELD etiq_entrada ELSE IF mr_movimento.funcao = 4 THEN
- que irá retornar TRUE/FALSE e Mensagem de processamento.
- Se retornar FALSE deverá exibir a mensagem de erro retornada seguindo padrões de mensagens de erro de coletor e chamar a função WMS6214_input_gs1_128() que deverá retornar l_status. Se l_status for FALSE deverá interromper o movimento.
- Se o retorno for TRUE, então deverá buscar os atributos de SKU e/ou Item lidos chamando a função wmsr130_get_cod_barras_sku() e/ou wmsr130_get_item_depositante().
- Se tanto código de barras quanto item depositante retornarem nulo deverá ser chamada a função WMS6214_input_gs1_128()
- Função WMS6214_input_gs1_128(), função para gerenciamento da entrada de etiquetas GS1-128.
- Deverão ser chamadas as funções wms6730_set_null(), wms6730_set_empresa(p_cod_empresa), wms6730_set_cod_config_gs1_128(m_config_gs1_128 ), wms6730_set_depositante(mr_movimento.deposit), wms6730_set_rotina_origem('wms6214'), wms6730_set_modo_exibicao() nesta ordem para carregar os parâmetros de processamento.
- Chamar a função wms6730_solicita_cod_barras_gs1_128().
- Após a execução da função de entrada do código GS1-128 deverão ser resgatados o código de barras do SKU por meio da função wmsr130_get_cod_barras_sku() e atribuír a variável ma_cod_barras[l_ind+1]. Ou, se wmsr130_get_cod_barras_sku()
- retornar em branco, deverá chamar a função wmsr130_get_item_depositante() e atribuir o item depositante a uma variável modular, que será utilizada na validação do item do processo de movimentação.
- Se ambos os retornos forem em branco deverá exibir a
- mensagem de erro "Etiqueta nao confere." e
- retornar FALSE.
- Para validação do código de barras do SKU deverá ser chamada a função wms6214_valida_etiqueta_sku_item(ma_cod_barras[l_ind+1])
- Se o retorno de l_qtd_item_sku for igual a zero (0) deverá emitir a mesma mensagem que é exibida atualmente quando a etiqueta lida é uma SKU/EAN.
- Dentro do IF mr_movimento.funcao = 4 THEN e se m_info_dimens_pick = 'S' deverá ser chamada a função WMSR41_entrada_dimensionais passando tipo_separacao 2 (separação lendo etiqueta SKU/EAU com GS1-128).
- Se o retorno for FALSO deverá voltar para o campo etiq_entrada.
Alteração WMSR41
- A função WMSR41_entrada_dimensionais deverá ser alterada para que a entrada dos dimensionais possa ser feita a partir da leitura da etiqueta GS1-128 informada no Input do campo etiq_entrada na função wms6214_coleta_etiqueta_sku_item ou através do acionamento da tecla de função F11/Ctrl-R.
Quando o modo de separação recebido for 0 (zero) indica que o modo de informação SKU é com informação de etiqueta EAN/SKU. Neste caso deve efetuar o processo a seguir:
Para verificar se as informações de dimensionais foram coletadas no início da separação (ao informar a etiqueta EAN/SKU) deverá ser chamara a função wmsr41_valida_dimensionais, a qual irá verificar quais dimensionais o item controla e chamar a função wmsr130 correspondente.
Dimensional Função GET Lote wmsr130_get_lote() Volume wmsr130_get_volume() Data de produção wmsr130_get_data_producao() Data de validade wmsr130_get_data_validade() Comprimento wmsr130_get_comprimento() Largura wmsr130_get_largura() Diâmetro wmsr130_get_diametro() Número peça wmsr130_get_numero_peca() Número série wmsr130_get_numero_serie() - Os dimensionais coletados deverão ser armazenados nas variáveis modulares mr_dimensionais correspondente.
- Os dimensionais lidos e validados deverão ser armazenados na tabela temporária de dimensionais, para que posteriormente seja efetuada a movimentação de estoque e remanejamento de reservas.
- O processamento das reservar deverá ocorrer quando for acionada a tecla Control-P (coleta parcial) ou quando a quantidade separada atender a quantidade solicitada no WMS6214.
- Quando o modo de separação for 1 (um) indica que o modo de separação é obrigando informar a quantidade e neste caso não é informado o EAN/SKU. Neste caso deve, se o depositante do processo de movimentação possui configuração de código de barras GS1-128, então na entrada dos dados dos dimensionais deverá ser prevista a entrada de uma etiqueta GS1-128 ao invés da entrada manual dos dimensionais.
- Chamar a função wms6730_solicita_cod_barras_gs1_128() (deve chamar as funções SET como na função WMS6214).
- Verificar se o código do item depositante ou SKU foram lidos na etiqueta e se foram deve ser validado com o movimento de separação.
- Efetuar a validação dos dimensionais e verificar se os dimensionais que o item controla foram informados.
Protótipo de Tela
Protótipo 01
Fluxo do Processo
Separação informando quantidade, ocorrerá somente em separação em endereços de Picking quando estiver configurado para informar os dimensionais do item.
Separação com leitura da etiqueta EAN/SKU, o GS1-128 pode ser informado do lugar da etiqueta SKU/EAN. Ocorrerá tanto em endereços de armazém quanto picking.
Separação por SKU em endereços de picking informando os dimensionais. Se na etiqueta do SKU leu dimensionais, mas não tem todos que o item controla, deverá abrir a tela de dimensionais, caso contrário assume o que veio na GS1-1.
Descarga
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|