Páginas filhas
  • Cadastro Regra Geração de Lista de Separação - WMS6915

Versões comparadas

Chave

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

...

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 a seguir:

{{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}

...

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.

...

Informações
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).

02. TELA CADASTRO REGRA DE GERAÇÃO DE LISTA DE SEPARAÇÃO

Outras Ações / Ações Relacionadas

As ações padrão do menu (Incluir, Modificar, Excluir, Consultar, Listar, Informar, Processar, Seguinte, Anterior, Primeiro, Último, Cancelar, Help, Zoom, Sobre e Fim) estão detalhadas na página Ambientação Logix.

...

  • SQL Criação tabela temporária
  • SQL Preparação dos dados
  • SQL Criação de listas

  Exemplo

Criação de lista de separação efetuando quebra por funcionalidade e coordenada 1 de endereço.

1 - Em uma onda separação com 50 endereços diferentes (movimentos), onde 10 endereços são de picking e 40 endereços de armazém

2 - 10 endereços de picking, onde tenho 5 movimentos para cada coordenada 1 (tabela.campo wms_endereco.coorden_1):
   - 5 movimentos RUA A
   - 5 movimentos RUA D

3 - 40 endereços de armazém, onde tenho 10 movimentos para cada coordenada 1 (tabela.campo wms_endereco.coorden_1):
   - 10 movimentos RUA F
   - 10 movimentos RUA G
   - 10 movimentos RUA H
   - 10 movimentos RUA K

4 - Neste exemplo a regra deverá quebra em 2 listas de funcionalidade picking e 4 listas para endereços de armazém, num total de 5 listas.

Para viabilizar este processo, deverão ser criadas duas regras no cadastro.

SQL para regra 1 (picking):

{quote}{{SELECT DENSE_RANK() OVER (ORDER BY wms_endereco.coorden_1),}}
{{ listas.processo_moviment,}}
{{ ender.coorden_1}}
{{ FROM tt_gera_lista_auto listas}}
{{ INNER JOIN wms_processo_moviment mov}}
{{ ON mov.empresa = listas.empresa}}
{{ AND mov.processo_moviment = listas.processo_moviment}}
{{ INNER JOIN wms_endereco ender}}
{{ ON ender.empresa = mov.empresa}}
{{ AND ender.endereco = mov.endereco_origem}}
{{ AND ender.funcao = 4}}
{quote}

SQL para regra 2 (armazém):

{quote}{{SELECT DENSE_RANK() OVER (ORDER BY wms_endereco.coorden_1),}}
{{ listas.processo_moviment,}}
{{ ender.coorden_1}}
{{ FROM tt_gera_lista_auto listas}}
{{ INNER JOIN wms_processo_moviment mov}}
{{ ON mov.empresa = listas.empresa}}
{{ AND mov.processo_moviment = listas.processo_moviment}}
{{ INNER JOIN wms_endereco ender}}
{{ ON ender.empresa = mov.empresa}}
{{ AND ender.endereco = mov.endereco_origem}}
{{ AND ender.funcao = 3}}
{quote}

Deve-se ainda, relacionar as duas regras ao depositante, o que deverá ser efetuado por meio da opção Relaciona.

  • SQL Finalização

04. TELA CADASTRO REGRA DE GERAÇÃO DE LISTA DE SEPARAÇÃO - ABA 2 - FUNÇÃO

...

Essa aba permite incluir ou manutenir as funções (4GL) que devem ser utilizadas na geração das listas de separação.

05. TABELAS UTILIZADAS

Não se aplica.

06. ASSUNTOS RELACIONADOS


HTML
<!-- esconder o menu --> 


<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;
}
</style>