Páginas filhas
  • ER_LOGWMS01-1621_ME15.5-Convocação_Ativa-Armazenagem_Transferencia

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

Projeto1

LOGWMS01

IRM1

LOGWMS01-545 - [WMS] - ELLECE - FASE 2 - WMS para Operador Logístico

Requisito1

[WMS] - ME 15.5 - Convocação ativa - Armazenagem e Transferência

Subtarefa1

Gerar Especificação - ME 15.5

País

( x  ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Aviso
titleATENÇÃO!

Os requisitos tratados por esta especificação fazem parte de um conjunto de requisitos destinados a atender a funcionalidade de Convocação Ativa.

O desenvolvimento será realizado de forma incremental, sendo assim, cada requisito incrementará a funcionalidade da convocação ativa, que será considerada como completa quando todos os requisitos estiverem concluídos.

Esta especificação trata dos requisito 5 de um total de 13 requisitos. Sendo que as especificações dos requisitos anteriores estão em:

Introdução & Requisito 1 → ER_LOGWMS01-845_ME_15.1-Convocação_Ativa-Grupo_de_Endereços

Requisito 2 → ER_LOGWMS01-942_ME_15.2-Convocação_Ativa-Configuração

Requisito 3 → ER_LOGWMS01-826_ME_15.3-Convocação_Ativa-Gerenciamento

Requisito 4 → ER_LOGWMS01-827_ME_15.4-Convocação_Ativa-Recebimento


Objetivo

  1. Objetivos gerais: 
    1. Gerar, atualizar, excluir e finalizar pendência de convocação ativa para as atividades de armazenagem e transferência de endereço.
    2. Permitir que as atividades de armazenagem e transferência possam ser executada a partir do programa WMS6743 - Convocação ativa.



Resumo dos Programas e Funções Criadas e Alteradas

RotinaTipo de OperaçãoRegras de Negócio
WMSR139CriaçãoFunção de regra de negócio para geração e atualização de pendencia de convocação ativa.
WMS6378AlteraçãoGeração automática de planejamento de armazenagem
WMS6177AlteraçãoPlanejamento de armazenagem via desktop
WMS6178AlteraçãoPlanejamento de armazenagem e transferência via coletor
WMS6077AlteraçãoFunção responsável pela execução efetiva de um programa para uma determinada atividade
WMS6743AlteraçãoGerenciamento da convocação ativa
WMS6180AlteraçãoPrograma responsável pela armazenagem e transferência de endereço de palete
WMS6185AlteraçãoCancelamento do recebimento.

Definição da Regra de Negócio

Para atingir os objetivos gerais, as implementações abaixo são necessárias:

    1. WMSR139 - RNL Geração/Exclusão e Atualização de pendência de convocação ativa.
      1. Objetivo das alterações a serem realizadas: 
        1. Criar funções para: 
          1. Geração de pendência de convocação ativa de armazenagem
            1. Com base em CESV. 
              • Uma pendência de convocação para cada Ordem de Serviço/Atividade relacionada ao CESV.
          2. Geração de pendência de convocação ativa de armazenagem ou transferência.
            1. Com base em Ordem de Serviço/Atividade.
              • Uma para cada Ordem de Serviço/Atividade.
          3. Exclusão de pendência de convocação ativa de armazenagem.
            1. Com base em CESV.
              • Todas pendências de convocação relacionadas a Ordens de Serviço/Atividade de um CESV.
          4. Exclusão de pendência de convocação ativa de armazenagem ou transferência.
            1. Com base em Ordem de Serviço/Atividade
              • Todas as pendências de convocação relacionadas a Ordem de Serviço/Atividade
          5. Finalização de pendência de convocação ativa com base em Ordem de Serviço/Atividade.
            1. Identificar que não existem mais processos de movimento não finalizados e realizar a inclusão no histórico do controle de convocação ativa e a exclusão do controle de convocação ativa.
            2. Também deve realizar uma verificação para auto-ajuste no sentido de gerar um novo registro de convocação ativa ao identificar que existem processos de movimento não finalizados e mais nenhum registro de convocação ativa não alocado.


      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Criar função wmsr139_gera_pendencia_conv_ativa_armz_cesv. Esta função deverá receber como parâmetro empresa(l_empresa), cesv(l_cesv), e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código do CESV recebido por parâmetro a função deverá gerar novos registros na wms_conv_ativa, um para cada ordem de serviço/atividade de armazenagem que possua algum processo de movimento com situação PE-Pendente relacionado ao CESV que ainda não possua pendência de convocação ativa (wms_conv_ativa). Utilizar consulta SQL nas tabelas wms_ordem_servico, wms_clas_operacao, wms_ordem_servico_ativ, wms_ativ, wms_tip_processo para obter todas as informações necessárias para inclusão dos novos registros na wms_conv_ativa. Retornar TRUE em caso de sucesso e FALSE em caso de erro.
          1. Expandir
            titleNOTA: Origem das informações para gravação na wms_conv_ativ:
            1. wms_conv_ativ.empresa = p_cod_empresa;
            2. wms_conv_ativ.trans_conv_ativa = Gerado automaticamente. Apenas pegar retorno;
            3. wms_conv_ativ.ctr_ent_sai_veic_docum= wms_ordem_servico.ctr_ent_sai_veic_docum;
            4. wms_conv_ativ.ordem_servico= wms_ordem_servico_ativ.ordem_servico;
            5. wms_conv_ativ.aitv= wms_ordem_servico_ativ.ativ;
            6. wms_conv_ativ.tip_classe_operacao = wms_clas_operacao.tip_clas_operacao;
            7. wms_conv_ativ.conv_ativa_operacao = wms_tip_processo.conv_ativa_operacao;
            8. wms_conv_ativ.tip_processo = wms_tip_processo.tip_processo;
            9. wms_conv_ativ.dat_hor_inclusao = Data e hora da execução da operação;
            10. wms_conv_ativ.usuario_alocacao = NULL
            11. wms_conv_ativ.dat_hor_alocacao_executor = NULL
            12. wms_conv_ativ.usuario_executor = NULL
            13. wms_conv_ativ.deposit = wms_ordem_servico.deposit;
            14. wms_.conv_ativa.endereco_origem = wms_ordem_servico.endereco_origem
            15. wms_.conv_ativa.endereco_destino = NULL.
        2. Criar função wmsr139_exclui_pendencia_conv_ativa_armz_cesv. Esta função deverá receber como parâmetro empresa(l_empresa)cesv(l_cesv), e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código do CESV recebido por parâmetro a função deverá excluir todas as pendências de convocação ativa relacionados ao CESV.

        3. Criar função wmsr139_gera_pendencia_conv_ativa_transf_armz_osEsta função deverá receber como parâmetro empresa(l_empresa), ordem de serviço(l_ordem_servico), atividade(l_ativ), e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código da ordem de serviço e atividade recebido por parâmetro a função deverá gerar um novo registro na wms_conv_ativa (caso já não exista)Utilizar consulta SQL nas tabelas wms_ordem_servico, wms_clas_operacao, wms_ordem_servico_ativ, wms_ativ, wms_tip_processo para obter todas as informações necessárias para inclusão de um novo registro na wms_conv_ativa. Retornar status do processamento(l_status) e o código da transação criada na wms_conv_ativa (l_trans_conv_ativa). Em caso de erro, retornar 0 para o código da transação.
          1. Expandir
            titleNOTA: Origem das informações para gravação na wms_conv_ativ:
            1. wms_conv_ativ.empresa = p_cod_empresa;
            2. wms_conv_ativ.trans_conv_ativa = Gerado automaticamente. Apenas pegar retorno;
            3. wms_conv_ativ.ctr_ent_sai_veic_docum= wms_ordem_servico.ctr_ent_sai_veic_docum;
            4. wms_conv_ativ.ordem_servico= wms_ordem_servico_ativ.ordem_servico;
            5. wms_conv_ativ.aitv= wms_ordem_servico_ativ.ativ;
            6. wms_conv_ativ.tip_classe_operacao = wms_clas_operacao.tip_clas_operacao;
            7. wms_conv_ativ.conv_ativa_operacao = wms_tip_processo.conv_ativa_operacao;
            8. wms_conv_ativ.tip_processo = wms_tip_processo.tip_processo;
            9. wms_conv_ativ.dat_hor_inclusao = Data e hora da execução da operação;
            10. wms_conv_ativ.usuario_alocacao = NULL
            11. wms_conv_ativ.dat_hor_alocacao_executor = NULL
            12. wms_conv_ativ.usuario_executor = NULL
            13. wms_conv_ativ.deposit = wms_ordem_servico.endereco_origem
            14. wms_.conv_ativa.endereco_origem = NULL
            15. wms_.conv_ativa.endereco_destino = NULL
        4. Criar uma nova função wmsr139_exclui_pendencia_conv_ativa_transf_armz_os. Esta função deverá receber como parâmetro empresa(l_empresa), ordem de serviço(l_ordem_servico), atividade(l_ativ), e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código da ordem de serviço e atividade recebido por parâmetro a função deverá excluir o(s) registro(s) da wms_conv_ativ. Retornar TRUE quando sucesso e FALSE caso ocorra alguma falha durante o processamento.

        5. Criar uma nova função wmsr139_possui_pendencia_conv_ativa_nao_alocada_os. Esta função deverá receber como parâmetro empresa(l_empresa), ordem de serviço(l_ordem_servico), atividade(l_ativ), e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código da ordem de serviço e atividade recebido por parâmetro a função deverá verificar se existem registros na wms_conv_ativa com usuário_executor = NULL. Retornar TRUE caso encontre registro e FALSE caso não encontre.

        6. Criar uma nova função wmsr139_possui_movimento_sem_pendencia_conv_ativa.  Esta função deverá receber como parâmetro empresa(l_empresa), ordem de serviço(l_ordem_servico), atividade(l_ativ), e modo de exibição de mensagem(l_modo_exibicao_msg).Com base no código da ordem de serviço e atividade recebido por parâmetro a função deverá verificar se existem processos de movimento com situação(sit_processo_moviment) diferente de "FI-Finalizado" e "CA-Cancelado" sem executor(usuario_executor = NULL) e sem pendência de convocação ativa sem alocação (wms_conv_ativa.usuario_executor = NULL).  Retornar TRUE ao atender todas as situações mencionadas acima ou FALSE caso alguma situação não seja atendida.

        7. Criar uma nova função wmsr139_gera_nova_pendencia_conv_ativa.  Esta função deverá receber como parâmetro empresa(l_empresa), transação da convocação ativa (l_trans_conv_ativa), e modo de exibição de mensagem(l_modo_exibicao_msg).

        8. Criar uma nova função wmsr139_finaliza_pendencia_conv_ativa_transf_armz. Esta função deverá receber como parâmetro empresa(l_empresa), ordem de serviço(l_ordem_servico), atividade(l_ativ), usuário(l_usuario) e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código da ordem de serviço e atividade recebido por parâmetro a função deverá:
          1. Validar se existe algum processo de movimento  alocado para o usuário(usuario_executor = p_user) com situação(sit_processo_moviment) diferente de "CA-Cancelado" e "FI-Finalizado"
          2. Não existindo registro com as condições acima, incluir novo registro na wms_conv_ativa_historico com base no registro da wms_conv_ativa. O campo wms_conv_ativa_historico.dat_hor_fim deve ser a data em que o processamento está sendo realizado.
          3. Em seguida, a função deverá verificar se existem processos de movimento pendentes e sem pendência de convocação ativa(wmsr139_possui_movimento_sem_pendencia_conv_ativa). Existindo, uma nova pendência de convocação ativa deverá ser gerada (wmsr139_gera_nova_pendencia_conv_ativa).
          4. Por fim o registro de controle de convocação ativa deve ser excluído da wms_conv_ativa.
          5. Por fim, a função deverá retornar TRUE quando sucesso e FALSE caso ocorra alguma falha durante o processamento.
            NOTA: Criar transação de banco de dados para englobar todos os passos acima.

        9. Criar uma nova função wmsr139_atualiza_pendencia_conv_ativa_transf_armz. Esta função deverá receber como parâmetro empresa(l_empresa), processo de movimento(l_processo_moviment), e modo de exibição de mensagem(l_modo_exibicao_msg).Com base no código do processo de movimento recebido por parâmetro a função deverá atualizar os campos referente a alocação do usuário na pendência de convocação ativa. 
          1.  

             

            Expandir
            titleNOTA: Campos a serem atualizados com sua respectiva origem
            1. wms_conv_ativ.usuario_alocacao = SE wms_processo_moviment.usuario_executor IS NOT NULL ENTÃO wms_processo_moviment.usuario_inclusao SENÃO NULL;
            2. wms_conv_ativ.dat_hor_alocacao_executor = wms_processo_moviment.data_atribuicao_executor;
            3. wms_conv_ativ.usuario_executor = wms_processo_moviment.usuario_executor;
            4. wms_.conv_ativa.endereco_destino = wms_processo_moviment.endereco_destino.

    2. WMS6378 - Planejamento automático da armazenagem. (Chamado do WMS6190 - Conferência do recebimento)
      1. Objetivo das alterações a serem realizadas: 
        1. Ao realizar o planejamento da armazenagem, gerar uma pendência de convocação ativa para a ordem de serviço criada durante o planejamento da armazenagem.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Alterar a função wms6378_incluir_processo_moviment, criar variável l_utiliza_conv_ativa para que seja armazenado o valor do parâmetro utiliza_conv_ativa.
        2. Alterar a função wms6378_incluir_processo_moviment para que seja feita leitura do parâmetro utiliza_conv_ativa e seu valor seja armazenado na variável l_utiliza_conv_ativa. Implementar alteração logo no início da função.
        3. Alterar a função wms6378_incluir_processo_moviment para que logo após a inclusão dos processos de movimento realizados, após liberar o  cursor (cq_incluir_processo_palete) as pendências de convocação ativa sejam geradas. Para isso realizar chamada para a função wmsr139_gera_pendencia_conv_ativa_transf_armz_osCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'


    3. WMS6177 - Planejamento de armazenagem desktop
      1. Objetivo das alterações a serem realizadas: 
        1. Ao realizar o planejamento da armazenagem e criar cada processo de movimento do planejamento da armazenagem, gerar um registro de uma pendência de convocação ativa vinculado com o processo de movimento recém gerado. Obter atividade, para a ordem de serviço , e CESV da ordem de serviço e vincular ao registro de convocação ativa. criada durante o planejamento da armazenagem.
        2. Ao cancelar o planejamento da armazenagem e excluir cada processo de movimento do planejamento de armazenagem, excluir o registro o(s) registro(s) de pendência de convocação ativa vinculado .  a(s) ordem(ns) de serviço(s) do(s) processo(s) de movimento.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Criar variável modular m_utiliza_conv_ativa para que seja armazenado o valor do parâmetro utiliza_conv_ativa.
        2. Alterar a função wms6177_after_load para que seja feita leitura do parâmetro utiliza_conv_ativa e seu valor seja armazenado na variável m_utiliza_conv_ativaLogo no início da função.
        3. Alterar a função wms6177_incluir_processo_moviment para que logo após a inclusão dos processos de movimentos realizados no cursor cq_incluir_processo_palete as pendências de convocação ativa sejam geradas. Para isso realizar chamada para a função wmsr139_gera_pendencia_conv_ativa_transf_armz_os. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        4. Alterar a função wms6177_excluir_os_reserva_processo para que logo após a exclusão dos processos de movimentos e a verificação de que não existem mais processos de movimento relacionados a OS (IF l_contador = 0 THEN), a pendência de convocação ativa seja excluída. Para isso realizar chamada para a função wmsr139_exclui_pendencia_conv_ativa_transf_armz_os (dentro e ao final do bloco condicional F l_contador = 0 THEN)Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S').


    4. WMS6178 - Planejamento de Armazenagem / Transferência de endereço coletor de dados. (Chamado de WMS6281 - Planejamento Armazenagem e WMS6282 - Planejamento Transferência)
      1. Objetivo das alterações a serem realizadas: 
        1. Ao realizar o planejamento da armazenagem ou transferência e criar cada o processo de movimento, gerar um registro de pendência de convocação ativa vinculado com o processo de movimento recém gerado. para a ordem de serviço/atividade.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Criar variável modular m_utiliza_conv_ativa para que seja armazenado o valor do parâmetro utiliza_conv_ativa.
        2. Alterar a função wms6178_before_menu para que seja feita leitura do parâmetro utiliza_conv_ativa e seu valor seja armazenado na variável m_utiliza_conv_ativa
        3. Alterar a função wms6178_gera_tabelas_processo_movimentacao para que logo após a inclusão de cada processo de movimento realizado pela função wmsr19_grava_processo_moviment uma nova pendência de convocação ativa seja gerada. Para isso realizar chamada para a função wmsr139_gera_pendencia_conv_ativa_transf_armz_osCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'


    5. WMS6077 - Função de controle para execução de atividades. (Chamado de WMS6070 lista pública e WMS6069 lista particular)
      1. Objetivo das alterações a serem realizadas: 
        1. Atualmente para abrir o programa de execução de uma determinada  atividade são recebidos os parâmetros de empresa, ordem de serviço, atividade, usuário, recurso. Para que seja possível convocar o usuário para um determinado processo de movimento, deve também ser  possível passar o código do processo de movimento a ser executado. 

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Criar variável modular m_processo_moviment INTEGER que será responsável por armazenar o código do processo de movimento a ser executado pelas rotinas de armazenagem e transferência de endereço.
        2. Criar função wms6077_set_processo_moviment. Esta função deverá receber como parâmetro um código de processo de movimento(l_processo_moviment INTEGER) e armazenar este valor na modular m_processo_moviment.
        3. Alterar a função wms6077_consultar_programa para que ao alimentar a variável l_caminho quando  m_programa <> 'SUP2065', seja passado como último parâmetro o código do processo de movimento (m_processo_moviment).Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'


    6. WMS6743 - Convocação ativa
      1. Objetivo das alterações a serem realizadas: 
        1. Alterar a busca por atividades a serem executadas considerando:
          1. O novo campo referente ao processo de movimento.
          2. A situação do processo de movimento para identificar se processo está "Em andamento", ou "Pendente" para definição da ordenação para convocação. Sendo:
            1. AT e IT > "Em andamento." .
            2. PE e NI > "Pendente."
            3. Outros status, o processo de movimento não está pronto para execução.
          3. Considerar "usuário_executor" do processo de movimento para considerar atividade  "Alocado" ou "Não alocado". Sendo:
            1. wms_processo_movimento.usuario_executor IS NOT NULL > "Alocado";
            2. wms_processo_movimento.usuario_executor IS NULL > "Não Alocado";
        2. Ao abrir o programa, adicionar nas funções de ajuste da tabela wms_conv_ativa e wms_conv_ativa_historico a verificação de existencia de algum processo de movimento FI-Finalizado porém com algum registro na wms_conv_ativa. Nesta situação, realizar a finalização das pendências de convocação ativa.
        3. Ao encontrar atividade para execução, exibir em tela os campos abaixo. 
          1. Armazenagem
            1. Identificador 1 = Depositante.
            2. Identificador 2 = CESV (pode existir casos da CESV estar em branco).
          2. Transferência
            1. Identificador 1 = Depositante
            2. Identificador 2 = CESV (pode existir casos da CESV estar em branco).
          3. NOTA: No item 9 da especificação do requisito 15.3 é possível verificar o protótipo de tela onde estas informações devem ser apresentadas.
        4. Ao executar a chamada para execução da atividade de Armazenagem ou Transferência, enviar o código do processo de movimento.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Para o objeivo 1 e 2, não é possível determinar o ponto de alteração pois o programa ainda encontra-se em desenvolvimento. As indicações acabam se limitando ao objetivo final, ficando a cargo do programador definir durante o desenvolvimento junto ao analista o melhor ponto para alteração.
        2. Para o objetivo 3, realizar chamada a nova função wms6077_set_processo_moviment, passando o processo de movimento, e em seguida realizar chamada a função wms6077_administra_os.


    7. WMS6180 - Armazenagem / Transferência de endereço. (Chamado da lista pública WMS6070 ou particular WMS6069)
      1. Objetivo das alterações a serem realizadas: 
        1. Permitir receber por parâmetro o código de um determinado processo de movimento para execução. Este código de processo de movimento será enviado pelo programa de convocação ativa.
        2. Validar se o palete informado pelo usuário corresponde ao palete do processo de movimento recebido do programa de convocação ativa.
        3. Ao acionar a função F6/CTRL-E - End/Palt exibir apenas o endereço e o palete do processo de movimento recebido do programa de convocação ativa.
        4. Gerar pendência de convocação ativa ao depositar palete em endereço drop-point ou ao liberar equipamento e depositar palete em endereço diferente de armazém.
        5. Ao concluir a armazenagem do palete do processo de movimento recebido do programa de convocação ativa, encerrar o programa de armazenagem encerrando a atividade do usuário e a pendência da convocação ativa.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Criar variável modular m_utiliza_conv_ativa para que seja armazenado o valor do parâmetro utiliza_conv_ativa.
        2. Alterar o record mr_parametros para incluir duas novas variáveis: pocesso de movimento(processo_moviment) e palete(palete). 
        3. Criar função wms6180_retorna_palete. Esta função deverá receber como parâmetro empresa e processo de movimento e retornar o palete do processo de movimento recebido como parâmetro.
        4. Alterar a função wms6180_movimentacao_armazenamento para que:
          1. Seja feita leitura do parâmetro utiliza_conv_ativa e seu valor seja armazenado na variável m_utiliza_conv_ativa. Esta alteração deverá estar já no início da função.
          2. Seja lido o processo de movimento recebido como parâmetro. O código do processo de movimento será o sexto parâmetro recebido pela rotina (arg_val(6)) e seu valor deverá ser armazenado na nova variável mr_parametro.processo_moviment.
          3. Logo em seguida seja chamada a função wms6180_retorna_palete para obter o palete do processo de movimento(mr_parametro.processo_moviment). O palete obtido deve ser armazenado na nova variável mr_parametros.palete
          4. As alterações (b) e (c) devem estar condicionadas a utilização da convocação ativa (m_utiliza_conv_ativa = 'S').
          5. Caso a convocação ativa não seja utilizada (m_utiliza_conv_ativa = 'N') ou não tenha sido recebido um processo de moviment como parâmetro, as novas varíaveis deverão possuir seu valor NULL.
        1. Alterar a função wms6180_entrada_etiqueta na estrutura de input de dados, no after field do campo m_etiq_mov. Logo após as validações existentes que verificam se o palete informado não é nulo e se o palete existe, alterar para verificar também se o palete informado (mr_movimento.identif_palete) é igual ao palete do processo movimento que o usuário foi convocado para realizar armazenagem (mr_parametro.palete). Caso não seja igual, usuário deve ser notificado "Palete informado difere do palete convocado para armazenagem." Estas implementações devem estar condicionadas a utilização da convocação ativa (m_utiliza_conv_ativa = 'S') e a existência de um processo de movimento recebido por parâmetro (mr_parametro.processo_movimento IS NOT NULL).
        2. Alterar a função wms6180_entrada_etiqueta na estrutura de input de dados, na função F6/CTRL-E - End/Palt. Passar o palete (mr_parametro.palete) do processo de movimento recebido como parâmetro para a função wms6236_mostra_endereco_palete. Na função wms6236_mostra_endereco_palete o palete é o último parâmetro, atualmente é passado NULL.
        3. Alterar a função wms6180_gera_tabelas_processo_movimentacao logo após o bloco de código condicional de chamada a fução wmsr40_desbloqueia_separacao. Neste ponto o processo de movimento está finalizado, sendo assim a pendência da convocação ativa poderá ser concluída. Para isso, realizar chamada a função wmsr139_finaliza_pendencia_conv_ativa_transf_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        4. Alterar a função wms6180_entrada_finaliza_processo imediatamente antes do COMMIT  da conclusão do processo de armazenagem do palete no endereço destino. Verificar se não existem movimentos em abertos com o usuário (wms6180_verifica_processos_movtcao_em_aberto() = FALSE) e em seguida se existem movimentos ainda pendentes para a ordem de serviço (wms6180_verifica_processos_movtcao_pendentes() = TRUE). Atendendo essas duas situações realizar o encerramento da execução da atividade para o usuário. Para isso alterar o valor da variável m_status_encer para "F" e m_finaliza_apenas_usuario para "S". Em seguida chamar a função wms6180_prepara_retorno. Condicionar estas alterações a utilização da convocação ativa (m_utiliza_conv_ativa = 'S') e a existência de um processo de movimento recebido por parâmetro (mr_parametro.processo_movimento IS NOT NULL). O objetivo desta alteração é que o processamento do programa wms6180 seja concluído voltando a execução do programa chamador (convocação ativa).
        5. Alterar a função wms6180_gera_nova_seq_processo_movtcao para que logo após a inclusão de cada processo de movimento realizado pela função wmsr19_grava_processo_moviment uma nova pendência de convocação ativa seja gerada. Para isso realizar chamada para a função wmsr139_gera_pendencia_conv_ativa_transf_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'). Estas alterações tem o objetivo de gerar uma nova pendênca de convocação ativa para o processo de movimento gerado quando o palete é armazenado em um endereço drop-point ou quando o equipamento é liberado e o palete é depositado em um endereço de picking.


    8. WMS6185 - Cancelamento do recebimento
      1. Objetivo das alterações a serem realizadas: 
        1. Excluir pendência de convocação ativa para as atividades de armazenagem quando o cancelamento é realizado e os processos de movimento de armazenagem ainda se encontram pendentes/não iniciados.
        2. Gerar pendência de convocação ativa para a atividade de transferência de endereço para os paletes já armazenados com destino a doca de recebimento para posterior cancelamento do recebimento.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Criar variável modular m_utiliza_conv_ativa para que seja armazenado o valor do parâmetro utiliza_conv_ativa.
        2. Alterar a função wms6185_before_menu para que seja feita leitura do parâmetro utiliza_conv_ativa e seu valor seja armazenado na variável m_utiliza_conv_ativa. Adicionar a leitura do parâmetro logo após a leitura e validação existente para o parâmetro oper_confer_entrada_normal.
        3. Alterar a função wms6185_cancela_processo_armazenagem para que logo após a exclusão de cada processo de movimento realizado pela função wmsm151_wms_processo_moviment_exclui a pendência de convocação ativa seja excluída. Para isso realizar chamada para a função wmsr139_exclui_pendencia_conv_ativa_transf_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        4. Alterar a função wms6185_cancela_processo_armazenagem_por_aviso para que logo após a exclusão de cada processo de movimento realizado pela função wmsm151_wms_processo_moviment_exclui a pendência de convocação ativa seja excluída. Para isso realizar chamada para a função wmsr139_exclui_pendencia_conv_ativa_transf_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        5. Alterar a função wms6185_gera_movimentacao_palete_doca para que logo após a inclusão de cada processo de movimento realizado pela função wmsr19_grava_processo_moviment uma nova pendência de convocação ativa seja gerada. Para isso realizar chamada para a função wmsr139_gera_pendencia_conv_ativa_transf_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        6. Alterar a função wms6185_gera_movimentacao_palete_doca_por_aviso para que logo após a inclusão de cada processo de movimento realizado pela função wmsr19_grava_processo_moviment uma nova pendência de convocação ativa seja gerada. Para isso realizar chamada para a função wmsr139_gera_pendencia_conv_ativa_transf_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'


    9. WMS6430 - Central do planejador 
      1. Objetivo das alterações a serem realizadas: 
        1. Atualizar pendência de convocação ativa ou realizar alocação direta ou distribuída, desalocação e realocação direta ou distribuída para as atividades de Transferência, Armazenagem e Cancelamento do Recebimtno.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Alterar a função wms6435a_atualiza_dados_alocacao (alocação & realocação) para que ao final da função seja chamada a função wmsr139_wmsr139_gera_pendencia_conv_ativa_transf_armztiva_transf_armz. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        2. Alterar a função wms6435b_desalocar_movimento (desaloação) para que ao final da função seja chamada a função wmsr139_atualiza_pendencia_conv_ativa_transf_armz. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        3. Alterar a função wms6435c_confirmar (alocação & realocação direta) para que logo após realizar a atualização (UPDATE) do processo de movimento seja chamada a função wmsr139_atualiza_pendencia_conv_ativa_transf_armz. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'


    1. WMS6631 - Alocação de recurso
      1. Objetivo das alterações a serem realizadas: 
        1. Atualizar pendência de convocação ativa ou realizar alocação direta ou distribuída, desalocação e realocação direta ou distribuída  para as atividades de Transferência, Armazenagem e Cancelamento do Recebimtno.

      2. Sugestão de implementação para atender os objetivos mencionados acima.  Esta sugestão de implementação tem o objetivo de sugerir um caminho a ser seguido sendo que ajustes podem ser necessários para que os objetivos mencionados acima possam ser 100% atendidos. Este item (e) será considerado concluído se os objetivos acima mencionados forem alcançados.
        1. Alterar a função wms663108a_atualiza_dados_alocacao (alocação & realocação) para que ao final da função seja chamada a função wmsr139_atualiza_pendencia_conv_ativa_transf_armz. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        2. Alterar a função wms663108b_desalocar_movimento (desaloação ) para que ao final da função seja chamada a função wmsr139_atualiza_pendencia_conv_ativa_transf_armz. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
        3. Alterar a função wms663108c_confirmar (alocação & realocação direta) para que logo após realizar a atualização (UPDATE) do processo de movimento seja chamada a função wmsr139_atualiza_pendencia_conv_ativa_transf_armz. Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'


Dicionário de Dados

Alteração da tabela wms_conv_ativa e wms_conv_ativa_historico para inclusão de nova coluna.

NomeTipoObrigatória
processo_movimentINTNão

 

 

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