Páginas filhas
  • DT Implementações Para a Quebra de Listas de Separação

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

IMPLEMENTAÇÕES PARA QUEBRA DE LISTAS DE SEPARAÇÃO

Características do Requisito

Linha de Produto:

Logix

Segmento:

Supply Chain - Logística

Módulo:

WMS

Rotina:

Rotina

Nome Técnico

WMS60013 / WMS60017

Contrato - Expedição Plano / Onda

WMS6915Cadastro de Regras Para Geração de Listas de Separação

Requisito/Story/Issue (informe o requisito relacionado):

DLOGWMSOL-4430 - 2. Cadastro de Regras Para Quebra de Listas

DLOGWMSOL-4459 - 3. Contrato - Parâmetro Para Unificar a Transação na Onda

DLOGWMSOL-4461 - 4. Geração de Listas na Onda de Separação

País(es):

Brasil

Banco(s) de Dados:

Oracle / SQL Server / Informix

Sistema(s) Operacional(is):

Windows / Linux


Descrição

WMS60013 - Contrato / WMS60017 - Expedição - Plano / Onda

Efetuada a implementação do novo parâmetro Gera ondas/listas de separação em processo único, na tela do Contrato - Expedição - Plano / Onda, o qual permitirá indicar se devem ser gerados todos os planos em uma única transação ou um plano em cada transação.

WMS6915 - Cadastro de Regras Para Geração de Listas de Separação

Desenvolvido o novo cadastro de regras para geração de listas de separação, no qual é possível registrar ou manutenir as instruções SQL ou a função 4GL, sendo que estas serão utilizadas para a geração de listas de separação no momento da geração da onda.

Além disso, ao clicar no botão Relaciona será possível relacionar as regras com os depositantes, as quais serão executadas na geração da onda.

Foi implementada também uma funcionalidade para gerar as listas de separação seguindo as regras cadastradas no WMS6915nesse programa, desde que estejam com a situação destas seja igual a Ativo.

Serão geradas listas automáticas para as movimentações de depositantes que tenham estas regras associadas, o que deverá ser efetuado por meio da opção Relaciona.

Se o depositante possuir mais de uma regra associada, a aplicação das mesmas ocorrerá conforme a sequência de execução indicada neste cadastro.

Para obter informações dos processos de movimentação gerados na onda de separação deve-se utilizar a tabela temporária TT_GERA_LISTA_AUTO, que terá disponível os seguintes campos:

    • empresa: Código da empresa do processo de movimentação
    • processo_moviment: Número do processo de movimentação
    • plano_separacao: Número do plano de separação ao qual o movimento está relacionado
    • onda_separacao: Número da onda de separação ao qual o movimento está relacionado

Quando a regra for no formato SQL, o comando informado para a geração de listas deve resultar nas informações conforme padrão abaixo:

{{SELECT [agrupador],}}

 {{       [processo movimentação],}}

 {{       [<contador 1>],}}

 {{       [<limitador 1>],}}

 {{       [<contador 2>],}}

 {{       [<limitador 2>],}}

 {{       [<contador 3>],}}

 {{       [<limitador 3>]}}

 {{  FROM ...}}

Onde:

    • O [agrupador] e o [processo movimentação] são informações obrigatórias.
    • Os contadores / limitadores são opcionais, porém, se informado um contador deve ser indicado também seu respectivo limitador.
    • Os limitadores podem ser utilizados para gerar uma quebra de lista dentro de um agrupador.
    • Por exemplo, podemos ter um agrupador diferente para cada funcionalidade do endereço de origem (armazém, picking, entre outros) e, além disso, quebrar as listas a cada 3 (três) movimentos. O SQL para estas condições permaneceria assim:

{quote}{{SELECT DENSE_RANK() OVER (ORDER BY wms_endereco.funcao),}}

 {{       tt_gera_lista_auto.processo_moviment,}}

 {{       1,}}

 {{       3}}

 {{  FROM tt_gera_lista_auto, }}

 {{       wms_processo_moviment, }}

 {{       wms_endereco}}

 {{ WHERE tt_gera_lista_auto.empresa = '32'}}

 {{   AND wms_processo_moviment.empresa = tt_gera_lista_auto.empresa}}

 {{   AND wms_processo_moviment.processo_moviment = tt_gera_lista_auto.processo_moviment}}

 {{   AND wms_endereco.empresa = wms_processo_moviment.empresa}}

 {{   AND wms_endereco.endereco = wms_processo_moviment.endereco_origem}}

 {{ ORDER BY wms_endereco.funcao}}

{quote}

    • Outro exemplo, um agrupador diferente para cada coordenada 3 diferente do endereço de origem e, além disso, quebrar as listas a cada 1.5 metros cúbicos:

{quote}{{SELECT DENSE_RANK() OVER (ORDER BY wms_endereco.coorden_3),}}

 {{       tt_gera_lista_auto.processo_moviment,}}

 {{       (wms_processo_moviment.qtd_solicitada * wms_item_sku.volume_m3),}}

 {{       1.5}}

 {{  FROM tt_gera_lista_auto, }}

 {{       wms_processo_moviment, }}

 {{       wms_endereco,}}

 {{       wms_item_sku}}

 {{ WHERE tt_gera_lista_auto.empresa = '32'}}

 {{    AND wms_processo_moviment.empresa = tt_gera_lista_auto.empresa}}

 {{    AND wms_processo_moviment.processo_moviment = tt_gera_lista_auto.processo_moviment}}

 {{    AND wms_endereco.empresa = wms_processo_moviment.empresa}}

 {{    AND wms_endereco.endereco = wms_processo_moviment.endereco_origem}}

 {{    AND wms_item_sku.empresa = wms_processo_moviment.empresa}}

 {{    AND wms_item_sku.item = wms_processo_moviment.item}}

 {{    AND wms_item_sku.sku = wms_processo_moviment.sku}}

 {{ ORDER BY wms_endereco.coorden_3}}

{quote}

Quando utilizado um limitador, a somatória dos movimentos de uma lista não ultrapassará o limite estipulado, com exceção quando um único movimento já ultrapassar este limite. Neste caso, este movimento será único na lista gerada.

Estão disponíveis para uso quatro variáveis que podem ser referenciadas nos comandos SQL (com exceção do SQL de criação de tabela temporária):

    • [USUARIO]: Será substituído pelo código do usuário ativo que estiver realizando o processamento da onda de separação.
    • [DATA]: Data atual (formato DATE)
    • [HORA]: Hora atual
    • [DATA-HORA]: Data e hora atual (formato DATETIME)

Quando a regra for no formato Função, esta terá dois valores de retorno:

    • Status do processamento (TRUE ou FALSE);
    • String com o SQL para leitura dos movimentos e geração das listas.

Ao final do processamento da onda pela rotina WMS60001 (Preparação da Separação), caso exista alguma regra ativa e relacionada a qualquer depositante será questionado ao usuário se deseja visualizar o resultado do processamento:


Caso afirmativo será exibido o resumo do processamento, apresentando as listas de separação geradas com seus respectivos movimentos e também os movimentos que não foram relacionados a uma lista, por não atenderem às condições indicadas nas regras.

Listas geradas:

Movimentos não associados às listas geradas:


Quando a onda de separação for gerada automaticamente na inclusão da solicitação de carga (via importação de EDI/XML ou digitação) também serão geradas as listas de separação, se existirem regras cadastradas para o depositante.

Informações
iconfalse
titleImportante!
Se houver alguma alguma regra ativa relacionada a qualquer depositante serão desconsiderados os parâmetros para a geração de lista automática configurados por empresa (LOG00087, parâmetro gera_lista_auto) ou por usuário (WMS60001, opção Parâmetros).


Procedimento para Implantação

Seguir o procedimento padrão de atualização do sistema pelo pacote de liberação da release 12.1.21.