Páginas filhas
  • ER LOGWMS01-710 ME 3.1 Separação Direta Para o Veículo BRA

Versões comparadas

Chave

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

 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 - Inovação

Projeto1

LOGWMS01

IRM1

LOGWMS01-545

Requisito1

LOGWMS01-710

Subtarefa1

LOGWMS01-775

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

 Possibilitar o separador descarregar a mercadoria coletada diretamente no veículo, eliminando desta forma, a execução da conferência, pesagem e embarque da expedição.

Na sequencia, será exibida a imagem do mapa mental utilizado como base para a definição desse processo.


Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

WMSR132 - RNL para a separação direta para o veículo

[Criação]

-

 

-

WMS6214 - Separação via coletor de dados

[Alteração]

-

-

WMS6255 - Planejamento de embarque

[Alteração]

-

-

WMS6325 - Solicitação de carga

[Alteração]

-

-

Para atingir o resultado esperado detalhado acima, as seguintes alteração de funções e programas serão necessárias: 

WMSR132 - RNL para a separação direta para o veículo

Função wmsr132_processa_conferencia_automatico()

  • Função responsável pelo o processamento automático da conferência de expedição.
  • Receberá: empresa, usuário, indicador descarga total, tipo de descarga, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição.
  • Retornará: status (TRUE ou FALSE).
  • Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
    1. Se a variável indicador descarga total for igual a TRUE:
      1. Se a variável tipo de descarga for igual a 1:
        1. Criar um novo cursor, que pesquise todas as solicitações de carga que estão localizados no endereço de equipamento.
        2. Dentro deste cursor, o sistema deverá finalizar o volumes criados para está solicitação de carga, da mesma forma como é feito na função wms6218_finaliza.
      2. Se a variável tipo de descarga for igual a 2:
        1. Criar um novo cursos, que pesquise todos os processos de movimento e solicitações de carga que estão localizados no endereço de equipamento.
        2. Dentro deste cursor, o sistema deverá verificar se a conferência deste depositante é com montagem de volumes manual. Se for, o sistema deverá criar um volume para cada solicitação de carga encontrada, da mesma forma como é feita na função wms6218_processa_quantidade_conferida. Caso a conferência seja com montagem de volumes automático, o sistema deverá efetuar a criação dos volumes conforme a parametrização do depositante, se basear na função wms6259_finaliza.
        3. Após efetuar a criação dos volumes, o sistema deverá finalizar as atividades de conferência, concluído os volumes gerados.
    2. Se a variável indicador descarga total for igual a FALSE:
      1. Se a variável tipo de descarga for igual a 1:
        1. O sistema deverá finalizar o volume que foi descarregado no veículo, utilizando como base a função wms6218_finaliza.
      2. Se a variável tipo de descarga for igual a 2:
        1. O sistema deverá verificar se a conferência deste depositante é com montagem de volumes manual. Se for, o sistema deverá criar um volume para cada solicitação de carga encontrada, da mesma forma como é feita na função wms6218_processa_quantidade_conferida. Caso a conferência seja com montagem de volumes automático, o sistema deverá efetuar a criação dos volumes conforme a parametrização do depositante, se basear na função wms6259_finaliza.

Função wmsr132_processa_pesagem_automatico()

  • Função responsável pelo o processamento automático da pesagem da mercadoria.
  • Receberá: empresa, usuário, indicador descarga total, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição.
  • Retornará: status (TRUE ou FALSE).
  • Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
    1. Se a variável indicador descarga total for igual a TRUE:
      1. Criar um novo cursor, que pesquise todas as solicitações de carga e seus volumes, que estão localizados no endereço de equipamento.
      2. Dentro do cursor, a rotina deverá verificar se o depositante da solicitação de carga possui a etapa de pesagem:
        1. Se tiver, o sistema deverá calcular automaticamente o peso dos volumes, atualizando os valores nas tabelas, conforme a função: wms6222_processa_atualizacoes.
        2. Se não tiver pesagem, o sistema deverá dar continuidade no processamento do cursor.
    2. Se a variável indicador descarga total for igual a FALSE:
      1. O sistema deverá pesquisar qual a solicitação de carga do volume que será descarregado.
      2. Através da solicitação de carga, o sistema deverá verificar se o depositante possui a etapa de pesagem:
        1. Se tiver, o sistema deverá calcular automaticamente o peso do volume, atualizando os valores nas tabelas, conforme a função: wms6222_processa_atualizacoes.
        2. Se não tiver pesagem, o sistema deverá dar continuidade no processamento do cursor.
    3. Caso todas as mercadorias tenham sido conferidas para esta solicitação de carga, o sistema deverá finalizar as atividades de conferência da expedição.

Função wmsr132_processa_embarque_automatico()

  • Função responsável pelo o processamento automático do embarque da mercadoria.
  • Receberá: empresa, usuário, endereço destino, solicitação de carga e modo de exibição.
  • Retornará: status (TRUE ou FALSE).
  • Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
    1. Através do endereço destino, o sistema deverá pesquisar qual a CESV e planejamento de embarque aonde está sendo descarregada a mercadoria.
    2. Utilizando o número do planejamento de embarque, o sistema deverá realizar o embarque dos volumes que forma conferidos e pesados, da mesma forma como é feito na função wms6370_verifica_finaliza_embarque.
    3. Caso todas as mercadorias tenham sido embarcadas para este planejamento, o sistema deverá finalizar todas as suas atividades, permitindo o usuário concluir atividade de expedição da CESV.

Função wmsr132_processa_separacao_direta_veiculo()

  • Função responsável pelo o processamento automático da separação direta para o veículo.
  • Receberá: empresa, usuário, indicador descarrega total (TRUE ou FALSE), tipo de descarga (1 - Volume ou 2 - Movimento), endereço destino, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição.
  • Retornará: status (TRUE ou FALSE).
  • Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
    1. Verificar se o endereço destino é um veículo. 
      1. Se não for um veículo, o sistema deverá retornar para a função origem, sem apresentar erros.
      2. Se for um veículo, o sistema deverá continuar o processamento.
    2. Realizar a chamada da função wmsr132_processa_conferencia_automatico, passando os seguintes parâmetros: empresa, usuário, indicador descarga total, tipo de descarga, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir a mensagem e retornar para função origem.
    3. Realizar a chamada da função wmsr132_processa_pesagem_automatico, passando os seguintes parâmetros: empresa, usuário, indicador descarga total, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir a mensagem e retornar para função origem.
    4. Realizar a chamada da função wmsr132_processa_embarque_automatico, passando os seguintes parâmetros: empresa, usuário, endereço destino, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir a mensagem e retornar para função origem.
    5. Realizar a chamada da função wmsr44_exclui_processos_tipo_309, passando os seguintes parâmetros: empresa, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir uma mensagem de alertar e retornar para a função de origem.
    6. Após concluir todos os processamentos automáticos, o sistema deverá verificar para cada solicitação de carga, se todos os seus produtos foram separados. Caso essa etapa já tenha sido finalizada, o sistema deverá alterar a sua situação para "Embarque finalizado".
    7. Atualizar o campo wms_solicitacao_carga_mestre.separacao_direta_veiculo com o valor S, para cada solicitação de carga processada.

Função wmsr132_valida_solicitacao_separacao_direta_veiculo()

  • Função responsável pela validação da solicitação de carga no processo de separação direta para o veículo.
  • Receberá: empresa, CESV, planejamento de embarque, solicitação de carga e modo de exibição.
  • Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
    1. Verificar se o parâmetro criado no LOG00086 está ativo:
      1. Se estiver ativo, obrigar que a solicitação de carga esteja relacionada ao planejamento de embarque informado.
      2. Se não estiver ativo, criar o relacionamento entre a solicitação de carga e o planejamento de embarque de forma automática. Verificar a rotina WMS6255.
    2. Verificar se a solicitação de carga já não teve inicio pelo o processo padrão do Logix WMS.
  • Caso alguma das validações seja falsa, o sistema deverá retornar falso, não permitindo separar a mercadoria direto para o veículo.

Função wmsr132_valida_placa_cracha_veiculo()

  • Função responsável pela validação da placa/crachá do veículo/CESV.
  • Receberá: empresa, endereço destino, endereço do equipamento, solicitação de carga e modo de exibição.
  • Retornará: status (TRUE ou FALSE) e endereço do veículo.
  • Criar um novo parâmetro no LOG00086, da seguinte forma:
    1. Descrição: Obrigar planejamento de embarque na separação direta para o veículo?

    2. Informação do parâmetro: Indica se será obrigatório possuir o relacionamento entre o planejamento de embarque e a solicitação de carga, na etapa de separação direta para o veículo.

    3. Valor padrão: N (Não).

    4. Valores: S (Sim) ou N (Não).

  • Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
    1. Verificar se o campo wms_solicitacao_carga_mestre.separacao_direta_veiculo (Campo novo), está igual a S:
      1. Se estiver, o sistema não deve permitir que o usuário informe o endereço destino planejado para a descarga.
      2. Se o campo estiver igual a N, caso o endereço informado seja igual ao endereço destino planejado para a descarga, deverá ser feito o retorno para a função de origem.
    2. Verificar se existe algum crachá dentro do armazém, com o mesmo código do endereço destino. Utilizar a função wms6370_valida_cracha como base.
      1. Se o sistema encontrar um crachá, deverá pesquisar qual a CESV deste motorista e executar o passo 5.
      2. Caso o sistema não encontre um crachá, deverá ser executado o item 3.
    3. Verificar se existe alguma placa dentro do armazém, com o mesmo código do endereço destino. Utilizar a função wms6370_valida_placa_veiculo como base.
      1. Se o sistema encontrar uma placa de veículo, deverá pesquisar qual a CESV desta placa e executar o passo 5.
      2. Caso o sistema não encontre uma placa de veículo, deverá ser executado o item 4.
    4. Verificar se existe alguma CESV dentro do armazém, com o mesmo código de endereço destino informado. 
      1. Se o sistema encontrar uma CESV, deverá executar o passo 5.
      2. Caso o sistema não encontre uma CESV, deverá retornar para a função origem (FALSE e NULL).
    5. Através da CESV encontrada, o sistema deverá realizar as seguintes validações:
      1. Verificar se a CESV é de expedição.
      2. Verificar se a CESV já está dentro do armazém.
      3. Verificar se a CESV já possui planejamento de embarque.
      4. Verificar se o planejamento de embarque está com a situação "Aguardando Embarque".
    6. Caso algumas destas validações seja falsa, o sistema deverá retornar para a função de origem (FALSE e NULL), informando o motivo do bloqueio. Se todas as validações forem efetuadas com sucesso, o sistema deverá executar o passo 6.
    7. Se o endereço do equipamento for diferente de branco e nulo, deverá ser feita as seguintes validações:
      1. Criar um cursor que pesquise todas as solicitações de carga, que tenham estoque relacionados ao equipamento.
      2. Dentro deste cursor, o sistema deverá chamar a função wmsr132_valida_solicitacao_separacao_direta_veiculo. Se o retorno da função for igual a TRUE, o sistema continuar a execução do cursor. Caso o retorno seja FALSE, o sistema deverá retornar para a função origem (FALSE e NULL).
    8. Se a solicitação de carga for diferente de branco e nulo, deverá ser feita as seguintes validações:
      1. Chamar a função wmsr132_valida_solicitacao_separacao_direta_veiculo. Se o retorno da função for igual a TRUE, o sistema continuar a execução do cursor. Caso o retorno seja FALSE, o sistema deverá retornar para a função origem (FALSE e NULL).
    9. Após realizar todas as validações, o sistema deverá retornar para a função origem com os seguintes parâmetros: TRUE e endereço do veículo.

WMS6214 - Separação via coletor de dados

Função wms6214_descarrega_todos_volumes()

  • Durante o processamento desta função, o sistema solicita que o usuário informe o endereço destino, aonde será descarregado a mercadoria. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, endereço do equipamento, NULL, 1.
  • Essa função irá retornar duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo). 
  • Se a variável status for igual a TRUE:
    • O sistema deverá alimentar a variável l_endereco_descarga com o endereço criado para o veículo informado.
  • Se a variável status for igual a FALSE:
    • O sistema deverá exibir a mensagem batch e dar continuidade no processamento, executando a regra de negócio do endereço drop-point que já existe atualmente.

Função wms6214_valida_endereco_descarga()

  • Essa função tem como objetivo validar o endereço destino, informado pelo o usuário anteriormente. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, endereço do equipamento, NULL, 1.
  • Essa função irá retornar duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo). 
  • Se a variável status for igual a TRUE:
    • O sistema deverá alimentar a variável l_endereco com o endereço criado para o veículo informado.
  • Se a variável status for igual a FALSE:
    • O sistema deverá  exibir a mensagem batch e dar continuidade no processamento, informando que o endereço não é válido.

Função wms6214_descarrega_um_volume()

  • Durante o processamento desta função, o sistema solicita que o usuário informe o endereço destino, aonde será descarregado a mercadoria. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo,  passando os seguintes parâmetros: empresa, endereço destino, NULL, solicitação de carga, 1.
  • Essa função irá retornar duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo). 
  • Se a variável status for igual a TRUE:
    • O sistema deverá alimentar a variável l_endereco_drop_point com o endereço criado para o veículo informado.
  • Se a variável status for igual a FALSE:
    • O sistema deverá  exibir a mensagem batch e dar continuidade no processamento, executando a regra de negócio do endereço drop-point que já existe atualmente.

Função wms6214_descarrega_um_movto()

  • Alterar a chamada desta função, para que além de retornar a variável status, o sistema deverá retornar um novo valor para a variável l_endereco_destino.
  • Durante o processamento desta função, o sistema solicita que o usuário informe o endereço destino, aonde será descarregado a mercadoria. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, NULL, solicitação de carga, 1.
  • Essa função irá retornar duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo). 
  • Se a variável status for igual a TRUE:
    • O sistema deverá alimentar a variável l_endereco_destino com o endereço criado para o veículo informado.
  • Se a variável status for igual a FALSE:
    • O sistema deverá  exibir a mensagem batch e dar continuidade no processamento, informando que o endereço destino não pertence ao endereço planejado.
  • Alterar os retornos desta função, para que além de retornar o status, o sistema retorne a variável l_endereco_destino.

Função wms6214_controle_descarga()

  • Após executar o cursor cq_moviment_descarga_volume, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, TRUE, 1, endereço destino, endereço do equipamento, NULL, NULL, NULL e 1. Caso o retorno seja falso, o sistema deverá exibir a mensagem batch e não permitir a descarga.
  • Após executar o cursor cq_moviment_descarga, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, TRUE, 2, endereço destino, endereço do equipamento, NULL, NULL, NULL e 1. Caso o retorno seja falso, o sistema deverá exibir a mensagem batch e não permitir a descarga.
  • Após executar a função wms6214_efetiva_descarga_volume, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, FALSE, 1, endereço destino, NULL, código de barras do volume, NULL, solicitação de carga e 1. Caso o retorno seja falso, o sistema deverá exibir a mensagem batch e não permitir a descarga.
  • Após executar a função wms6214_efetiva_descarga_movimento, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, FALSE, 2, endereço destino, NULL, NULL, processo de movimento, solicitação de carga e modo de exibição.

Função wms6214_pode_separar_lista()

  • Incluir uma nova validação no final desta função, que verifique se o veículo está na doca aguardando o embarque.
  • Criar um cursor que pesquise todas as solicitações de carga, relacionadas a lista de separação. Após encontrar as solicitações de carga, o sistema deverá executar as seguintes validações:
    1. Verificar se a solicitação de carga possui planejamento de embarque ativo. 
      1. Se possuir um planejamento de embarque, deverá ser verificado se a solicitação de carga será descarregada diretamente no veículo.
        1. Se for separação direta para o veículo, o sistema deverá verificar se o planejamento possui a situação igual a 'Aguardando embarque' e a CESV possui a situação igual a 'Aguardando veículo na doca'.
          1. Se o veículo estiver aguardando o embarque, deverá permitir o inicio da separação dos produtos.
          2. Se o veículo não estiver na doca, não deverá permitir o inicio da separação dos produtos.
        2. Se não for separação direta para o veículo, deverá pesquisar a próxima solicitação de carga.
      2. Se não possuir um planejamento de embarque, deverá pesquisar a próxima solicitação de carga.

WMS6255 - Planejamento de embarque

Deverá ser criado um novo campo check-box na grid de documentos, com a seguinte descrição: "Separação direta para o veículo?". Este novo campo será armazenado na tabela wms_solicitacao_carga_mestre.separacao_direta_veiculo, e o seu valor padrão será 'N'.

Função wms6255_valida_processo_movimento_compartilhado()

  • Criar uma nova função, que realize a validação dos documentos que possuem processos de movimentos compartilhados.
  • Ao iniciar o processamento desta função, o sistema deverá pesquisar todos os documentos relacionados ao planejamento de embarque.
  • Para cada documento, o sistema deverá verificar se o mesmo possui processo de movimento compartilhado:

    Bloco de código
    languagejava
    titleMovimento compartilhado
    collapsetrue
    SELECT DISTINCT wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre
          ,wms_solicitacao_carga_mestre.separacao_direta_veiculo
      FROM wms_item_onda_plano
          ,wms_solicitacao_carga_mestre
          ,wms_solic_carga_item_reserva 
          ,wms_plnjt_embq_solic_carga
     WHERE wms_item_onda_plano.empresa = <empresa>
       AND wms_item_onda_plano.processo_moviment IN(SELECT wms_item_onda_plano.processo_moviment
                                                      FROM wms_solic_carga_item_reserva
                                                          ,wms_item_onda_plano
                                                     WHERE wms_solic_carga_item_reserva.empresa = <empresa>
                                                       AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = <solicitação de carga>
                                                       AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa
                                                       AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva)
       AND wms_solicitacao_carga_mestre.empresa = wms_solic_carga_item_reserva.empresa
       AND wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre = wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre
       AND wms_solic_carga_item_reserva.empresa = wms_item_onda_plano.empresa
       AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre <> <solicitação de carga>
       AND wms_solic_carga_item_reserva.reserva = wms_item_onda_plano.reserva
  • A cada registro encontrado, o sistema deverá verificar se o campo separacao_direta_veiculo, possui valor diferente do que a solicitação de carga em validação:
    1. Se possuir, o sistema deverá apresentar a seguinte mensagem abortando a operação: "Solicitação de carga <solicitação em validação>, possui processos de movimentos compartilhados com a solicitação de carga <solicitação encontrada>. Favor modificar o parâmetro de separação direta para o veículo, para que utilizem o mesmo conceito."
    2. Se não possuir, o sistema deverá pesquisar o próximo registro.
  • Caso o sistema não encontre nenhuma inconsistência, deverá retornar para a função origem.

Função wms6255_confirm_documento()

  • Essa função deverá ser alterada, para que o sistema execute a função wms6255_valida_processo_movimento_compartilhado. Caso o seu retorno seja igual a FALSE, deverá cancelar o processamento do usuário.

Função wms6255_validate_inclusao_documento()

  • Essa função deverá ser alterada, para que ao incluir um novo documento no planejamento de embarque, o sistema deverá armazenar o novo campo na tabela: wms_solicitacao_carga_mestre.separacao_direta_veiculo.

Função wms6255_prepara_modificacao_documento()

  • Essa função deverá ser alterada, para que ao modificar um documento, o sistema não permita modificar o campo "Separação direta para o veículo", quando alguma mercadoria desta solicitação de carga já tiver sido separada/descarregada.

Função wms6255_validate_modificacao_documento()

  • Essa função deverá ser alterada, para que ao modificar um documento no planejamento de embarque, o sistema deverá atualizar o novo campo na tabela: wms_solicitacao_carga_mestre.separacao_direta_veiculo.

WMS6325 - Solicitação de carga

Deverá ser criado um novo campo check-box, que vai exibir o valor cadastrado na tabela wms_solicitacao_carga_mestre.separacao_direta_veiculo, para a solicitação de carga filtrada:

  1. Na aba 'Dados complementares', após o campo 'Cross-docking'.

Tabelas Utilizadas

  • wms_solicitacao_carga_mestre
  • wms_conferencia_separacao

  • wms_conferencia_separacao_item

  • wms_volume_exped
  • wms_volume_item_exped
  • wms_pesagem

  • wms_pesagem_item
  • wms_planejto_embarq
  • wms_plnjt_embq_solic_carga

Protótipo de Tela

Protótipo 01

Tela que permite o usuário informar o endereço do equipamento ou o produto que deverá ser descarregado.


Protótipo 02

Tela que permite o usuário informar o endereço aonde deseja descarregar as mercadorias. Nesta tela, o usuário poderá informa o crachá ou a placa do veículo.


Protótipo 03

Tela de cadastro do planejamento de embarque, que irá permitir o usuário informar se o documento será com separação direta para o veículo ou não.


Protótipo 04

Tela de cadastro da solicitação de carga, que irá exibir se o documento teve separação direta para o veículo ou não.

 

Dicionário de Dados


 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.