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 | Logix | Módulo | WMS |
Segmento Executor | Supply Chain | ||
Projeto1/Story | IRM1/Epic | ||
Requisito1 | 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
Tratar a utilização de etiquetas padrão GS1-128 nas rotinas complementares do WMS. Compreende-se por rotinas complementares para este desenvolvimento apenas a rotina de contagem do inventário do WMS e a rotina de impressão de etiquetas ITEM/SKU.
Definição da Regra de Negócio
- Contagem do inventário via coletor WMS.
Essa rotina possibilitará que sejam utilizados códigos GS1-128 (previamente parametrizados) durante a contagem do inventário. A etiqueta GS1-128 poderá ter sua leitura realizada nos pontos do processos onde é solicitada a etiqueta de código de barras do SKU. A partir da leitura deste tipo de etiqueta o sistema poderá resgatar as informações de Item, Código de barras do SKU, quantidade de itens por SKU, quantidade de SKUs e os valores dos dimensionais (lote, data de fabricação, número de série, etc).
Para que a etiqueta GS1-128 seja aceita na entrada das informações é necessário que exista pelo menos as informações do código de barras do SKU ou o código do item depositante, para que sejam efetuadas as validações de item/SKU, da mesma forma que é feito atualmente por meio do código do SKU. Se na etiqueta GS1 existir apenas a informação do item depositante, o sistema tentará localizar o SKU, se a informação da quantidade de itens existir na GS1, essa informação será utilizada na busca do SKU, contudo, se o item possuir mais de um SKU cadastrado e não for possível localizar um único SKU com as informações lidas será exibida mensagem de erro e será solicitada outra etiqueta.
Quando o item tiver controle de dimensionais e todas as informações constarem na etiqueta GS1 e forem valores válidos, a tela de entrada de dimensionais não será aberta e o processamento assumirá automaticamente estas informações. Caso não sejam recuperadas as informações dos dimensionais ou esteja faltando alguma informação de dimensional, a tela de entrada continuará abrindo trazendo as informações lidas permitindo informar apenas o que não foi lido. - Impressão etiqueta Item/SKU.
A rotina de impressão da etiqueta ITEM/SKU permitirá que etiquetas no formato GS1-128 sejam reimpressas a partir de informações digitadas pelo operador. Para viabilizar este processo será necessário a criação dos atributos relacionados a etiqueta GS1 que estarão disponíveis no cadastro de modelos de etiquetas, etiqueta tipo 12 "Item/SKU". A partir do momento que uma etiqueta possuir atributos GS1 relacionados, no momento da impressão da etiqueta será exibida uma tela onde deverá ser feita a entrada dos dados correspondentes aos atributos do GS1. Como na tela de parâmetros de impressão já são selecionados Item, SKU e código de barras do SKU, essas informações não serão solicitadas.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
WMS6770 - Atualização dos registros padrões | [Alteração] |
|
|
SUP2067 - Contagem Inventário | [Alteração] |
| - |
WMS6340 - Geração Etiquetas Item/SKU | [Alteração] |
| - |
WMS6082 - Modelos Etiquetas |
Contagem do inventário via coletor WMS.
SUP2067 - Inventário
Na função sup2067_controle() deverá ser implementada a lógica para verificar se o depositante possui configuração de etiqueta GS1-128. Para isso deverá chamar a função wmsr130_deposit_utiliza_cod_barras_gs1_128() que poderá retornar true ou false, setar o valor do retorno em variável modular que será testada posteriormente nas lógicas de entrada do GS1.
Pontos onde poderá haver interação com o GS1-128.
Função sup2067_implanta_identificacao()
Bloco de código language js title sup2067_implanta_identificacao() INPUT BY NAME mr_impl_identif.etiq_palete,mr_impl_identif.etiq_estoque, mr_impl_identif.cod_barras, mr_impl_identif.qtd_item, mr_impl_identif.qtd_sku, mr_impl_identif.tip_estoque WITHOUT DEFAULTS
No AFTER FIELD cod_barras (do input acima) se l_encontrou for FALSE deverá verificar se o depositante possui parametrização GS1-128. Caso possua deverá seguir os passos a seguir, senão mantém processamento atual:
Chamar as funções wmsr130_set_null, wmsr130_set_empresa(mr_parametros.empresa), wmsr130_set_depositante(m_depositante_plano), wmsr130_add_cod_barras_gs1_128(mr_impl_identif.cod_barras), wmsr130_set_modo_exibicao(0)
Chamar a função wmsr130_decodifica_gs1_128(). Se o retorno for FALSE deverá exibir a mensagem de erro usando a função wms6085_help() passando a mensagem do log0030_mensagem_get_texto() e voltar o foco para o campo cod_barras.
Se o retorno da função for TRUE deverá:
Buscar o valor do código de barras do SKU, código do Item depositante e quantidade itens SKU.
Se os atributos de SKU e item forem nulos deverá efetuar os passos a seguir pra efetuar a entrada da etiqueta GS1:Se na chamada da função wmsr130 encontrou somente o Item depositante ou o item depositante e a quantidade de itens por SKU deverá tentar achar o código de barras do SKU chamando a função sup2067_retorna_cod_barras_sku(nova).
- Chamar as funções wms6730_set_null(), wms6730_set_empresa(mr_parametros.empresa), wms6730_set_depositante(m_depositante_plano), wms6730_set_rotina_origem('wms6214'), wms6730_set_leitura_teste(FALSE), wms6730_set_cod_barras_gs1_128(mr_impl_identif.cod_barras);
- Chamar a função wms6730_solicita_cod_barras_gs1_128() que efetuará a entrada da etiqueta.
- Buscar o código de barras do SKU, item depositante e quantidade de item SKU chamando as funções wmsr130 correspondentes e armazená-los em variável local para uso posterior.
Tendo o código de barras do SKU deverá chamar a função wmst86_wms_item_sku_cod_barras_verifica_cod_barras() passando o código retornado. Caso não localize o SKU exibir a mensagem “SKU nao identificado.”.
Se o retorno da função wmsr130 for FALSE deverá exibir a mensagem de erro e voltar para o campo.
Para encontrar o SKU a partir do item depositante deverá efetuar o select abaixo que poderá retornar apenas um registro. Caso não encontre registro ou encontre mais de um registro na tabela, deverá exibir a mensagem de erro citada acima.
Bloco de código SELECT wis.sku FROM wms_item_sku wis, wms_item_complemento wic WHERE wis.empresa = p_cod_empresa AND wis.empresa = wic.empresa AND wis.item= wic.item AND wic.deposit = wis.item AND wic.item_deposit = m_item_deposit (item retornado da função wmsr130_get_item_depositante()) AND wis.qtd_item = l_qtd_item (wmsr130_get_qtd_itens_sku() AND wis.sit_sku = ‘A’
No BEFORE FIELD qtd_item, logo no início da validação, deverá verificar se foi informada uma etiqueta GS1, e se foi, deverá atribuir o valor retornado de wmsr130_get_qtd_itens_sku() a variável mr_impl_identif.qtd_item.
Função sup2067_entrada_skus_endereco()
Bloco de código language js title sup2067_entrada_skus_endereco() INPUT BY NAME mr_dados_tela2b.des_endereco, mr_dados_tela2b.cod_barras_sku WITHOUT DEFAULTS
Na função sup2067_entrada_skus_endereco() se l_encontrou for igual a FALSE, antes de exibir a mensagem de erro deverá verificar se a etiqueta informada é uma GS1-128 e buscar as informações do item ou SKU, seguindo os mesmos passos indicados no item 1 utilizando as funções wmsr130 e/ou wms6730.
Se conseguir identificar o SKU a partir da etiqueta GS1 deverá chamar a função wmst86_wms_item_sku_cod_barras_verifica_cod_barras() passando o código retornado. Se não validar o SKU deve exibir mensagem de erro como na lógica atual.
Função sup2067_seleciona_sku()
Bloco de código language js title sup2067_seleciona_sku() INPUT BY NAME mr_dados_tela_sku.cod_barras_sku WITHOUT DEFAULTS
No AFTER FIELD cod_barras_sku se o teste de sql do select da tabela wms_item_sku_cod_barras for diferente de 0 deverá validar se a etiqueta informa é uma GS1, e sendo, deverá resgatar o código de barras, item e quantidade de itens do sku. Se o SKU for valido deverá utiliza-lo para validar o item, com o mesmo select atual. Se não o código de barras do sku não vier na etiqueta GS1, deverá verificar se o item e a quantidade item veio informada, se vieram, deverá buscar o código de barras do SKU conforme item 1.
Função sup2067_entrada_dimensionais()
Bloco de código language js title sup2067_entrada_dimensionais() INPUT ARRAY ma_dimensional WITHOUT DEFAULTS FROM sr_dimensional.*
Antes da abertura da tela sup20673 deverá verificar se no input do código de barras do SKU foi informada um etiqueta GS1-128. Caso tenha sido informada deverá verificar quais os dimensionais controlados para o item/sku em processamento, os dimensionais controlados pelo item estão armazenados no array ma_dimensional_aux[ind].campo (processado na função sup2067_solicita_info_adicional()).
Deverá ser efetuado um controle na função para verificar se todos os dimensionais requisitadas obtiveram retornos válidos. Se todos os retornos forem válidos, deverá ser efetuado o processamento das informações sem a abertura da tela seguindo as validações que já constam na sup2067_valida_dimensional() controlando para que não sejam executados os displays de tela.
Se faltou alguma informação de dimensional, deverá ser feita a abertura da tela e o input array, porém trazendo preenchido os valores retornados da leitura da etiqueta GS1. Neste caso, poderão ser informados apenas os valores não validados na etiqueta, devendo ser efetuado um controle no input para que as informações resgatadas não sejam alteradas.
Para cada dimensional identificado deverá realizar a função wmr130_get conforme tabela abaixo:
Dimensional
Função GET
Retorno inválido
Lote
wmsr130_get_lote()
Branco " "
Volume
wmsr130_get_volume()
0
Data de produção
wmsr130_get_data_producao()
'1900/01/01'
Data de validade
wmsr130_get_data_validade()
'1900/01/01'
Comprimento
wmsr130_get_comprimento()
0
Largura
wmsr130_get_largura()
0
Diâmetro
wmsr130_get_diametro()
0
Número peça
wmsr130_get_numero_peca()
Branco " "
Número série
wmsr130_get_numero_serie()
Branco " "
Impressão etiqueta Item/SKU
WMS6770 - Atualização dos registros padrões.
- Alterar a rotina de processamento dos registros padrões da etiqueta tipo 12 "ITEM/SKU" para que sejam gravados os atributos correspondentes da etiqueta padrão GS1-128.
Atributo | Descrição | Tipo1 | Tamanho | Atual | Novo |
---|---|---|---|---|---|
CNPJ_DEPOS | CNPJ DO DEPOSITANTE | C | 19 | X | |
CODBARRA1 | CODIGO DE BARRAS 1 | C | 128 | X | |
CODBARRA2 | CODIGO DE BARRAS 2 | C | 128 | X | |
CODBARRA3 | CODIGO DE BARRAS 3 | C | 128 | X | |
DEPOSITCOD | CODIGO DO DEPOSITANTE | C | 15 | X | |
DEPOSITDES | DESCRICAO DO DEPOSITANTE | C | 50 | X | |
IE_DEPOS | INCRICAO ESTADUAL DO DEPOSITANTE | C | 16 | X | |
ITDESREDZ | DESCRICAO REDUZIDA DO ITEM | C | 18 | X | |
ITEMCOD | CODIGO DO ITEM | C | 15 | X | |
ITEMDEPOS | CODIGO DO ITEM DEPOSITANTE | C | 25 | X | |
ITEMDES | DESCRICAO DO ITEM | C | 76 | X | |
PAISORIGIT | PAIS ORIGEM DO ITEM | C | 60 | X | |
PESOUNIT | PESO UNITARIO | N | 15 | X | |
SKUCOD | CODIGO DO SKU | C | 25 | X | |
SKUDES | DESCRICAO DO SKU | C | 76 | X | |
SKUDESREDZ | DESCRICAO REDUZIDA DO SKU | C | 18 | X | |
QTDITEMSKU | QUANTIDADE ITENS SKU | N | 15 | X | |
QTDSKU | QUANTIDADE SKUS | N | 15 | X | |
TIPESTOQ | TIPO ESTOQUE | C | 6 | X | |
RESTESTOQ | RESTRICAO ESTOQUE | C | 6 | X | |
LOTEITEM | LOTE DO ITEM | C | 15 | X | |
DTPRODUCAO | DATA DE PRODUCAO DO ITEM | D | 23 | X | |
DTVALIDADE | DATA DE VALIDADE DO ITEM | D | 23 | X | |
VOLUME | VOLUME DO ITEM | N | 4 | X | |
COMPRIMENT | COMPRIMENTO DO ITEM | N | 15 | X | |
LARGURA | LARGURA DO ITEM | N | 15 | X | |
DIAMETRO | DIAMETRO DO ITEM | N | 15 | X | |
NUMPECA | NUMERO PECA DO ITEM | C | 15 | X | |
NUMSERIE | NUMERO SERIE DO ITEM | C | 25 | X | |
LIVRE_01 | CAMPO TEXTO LIVRE | C | 100 | X | |
LIVRE_02 | CAMPO TEXTO LIVRE | C | 100 | X | |
LIVRE_03 | CAMPO TEXTO LIVRE | C | 100 | X | |
LIVRE_04 | CAMPO TEXTO LIVRE | C | 100 | X | |
LIVRE_05 | CAMPO TEXTO LIVRE | C | 100 | X | |
LIVRE_06 | CAMPO NUMERICO LIVRE | N | 15 | X | |
LIVRE_07 | CAMPO NUMERICO LIVRE | N | 15 | X | |
LIVRE_08 | CAMPO NUMERICO LIVRE | N | 15 | X | |
LIVRE_09 | CAMPO NUMERICO LIVRE | N | 15 | X | |
LIVRE_10 | CAMPO NUMERICO LIVRE | N | 15 | X |
Legenda: C - Char; D - Date; N - Numérico
WMS6082 - Modelos Etiquetas
Durante a inclusão ou modificação de comandos de impressão deverá verificar se o atributo utilizado é um dos atributos livres a serem utilizados na impressão de etiquetas GS1-128. Caso seja, deverá abrir a tela do protótipo 1, onde deverá ser feito cadastro da descrição do atributo. Essa descrição será utilizada para exibição no WMS6340, na entrada dos atributos complementares da etiqueta.
A descrição do atributo será gravada na tabela wms_atrib_livre_desc, onde:
- empresa = p_cod_empresa;
- modelo_etiq = modelo etiqueta informado na tela principal;
- atributo = atributo informado na tela principal;
- des_atributo = descrição do atributo informado na tela de descrição do atributo.
WMS6340 - Geração Etitquetas Item/SKU (manter apenas o WMS6340)
Alterar a rotina de impressão de etiquetas para que sejam solicitados em tela os valores para os atributos correspondentes da configuração da etiqueta GS1-128. Essas informações serão solicitadas quando o depositante possuir configuração GS1-128 e no cadastro do modelo de etiqueta constar algum atributo correspondente.
Tabelas Utilizadas
- wms_atributo_tip_etiq - atributos por tipo de etiqueta
Protótipos de telas
WMS6082 - complemento
- Somente o campo "Descrição atributo" poderá ser manutenido. Os demais campos deverão exibir os valores correspondentes da tela principal.
WMS6334/WMS6340
Fluxo do Processo
Inventário com contagem por SKU (endereço possui saldo do SKU)
- Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa EAN/SKU ou GS1-128 => Informa Quantidade SKU ou busca da GS1-128.
Inventário com contagem por SKU (SKU não possui estoque no endereço e tem controle de dimensionais)
Observação: Quando a forma de contagem configurada é por SKU e se o SKU possui saldo no endereço sendo inventariado, não são solicitados os dimensionais.
- Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa EAN/SKU ou GS1-128 => Informa Palete e Estoque => Informa Cód. Barras SKU ou GS1-128 => Informa Quantidade SKU ou busca da GS1-128.
Inventário com contagem por identificação de estoque (identificação que não existe no endereço).
- Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa Etiqueta Estoque => Informa Palete e Estoque => Informa Cód. Barras SKU ou GS1-128 => Informa Quantidade SKU ou busca da GS1-128.
- Se a quantidade veio na Etiqueta e utiliza no processo GS1-128, assume a quantidade da etiqueta.
Inventário com contagem por identificação de estoque (identificação que não existe no endereço).
- Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa Etiqueta Estoque => Informa Dimensionais => Informa Quantidade SKU ou busca da GS1-128.
Dicionário de Dados
wms_atrib_livre_desc
Office Excel col 5 View file name LOGWMS01-35-102110_105.xls sheet Tabelas height 250 row 5
Índice | Chave |
01 | Empresa + Modelo_etiq + atributo |
Campo | Empresa |
Tipo | CHAR |
Tamanho | 2 |
Valor Inicial |
|
Mandatório | Sim ( X ) Não ( ) |
Descrição | Empresa |
Título | Empresa |
Picture |
|
Help de Campo | Empresa |
Campo | modelo_etiq |
Tipo | CHAR |
Tamanho | 6 |
Valor Inicial |
|
Mandatório | Sim ( X ) Não ( ) |
Descrição | Modelo etiqueta |
Título | Modelo etiqueta |
Picture |
|
Help de Campo | Modelo de etiqueta |
Campo | atributo |
Tipo | CHAR |
Tamanho | 10 |
Valor Inicial |
|
Mandatório | Sim ( X ) Não ( ) |
Descrição | Atributo |
Título | Atributo |
Picture |
|
Help de Campo | Atributo de etiqueta |
Campo | des_atributo |
Tipo | CHAR |
Tamanho | 50 |
Valor Inicial |
|
Mandatório | Sim ( X ) Não ( ) |
Descrição | Descrição atributo |
Título | Descrição atributo |
Picture |
|
Help de Campo | Descrição do atributo de etiqueta |
...