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, cancelamento da armazenagem e transferência de endereço.
    2. Permitir que as atividades de armazenagem, cancelamento da armazenegem transferência possam ser executada a partir do programa WMS6743 - Convocação ativa.
    3. Ajustar as rotinas relacionados a execução das atividades de  armazenagem, cancelamento da armazenagem e transferência para que possam ser executados a partir do programa WMS6742 - Convocação ativa. 


Resumo dos Programas e Funções Criadas e Alteradas

RotinaTipo de OperaçãoRegras de Negócio / Objetivo da Alteração
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 → Gerar pendência de convocação ativa para atividade de armazenagem.
WMS6177AlteraçãoPlanejamento de armazenagem via desktop Gerar/Excluir pendência de convocação ativa para atividade de armazenagem.
WMS6178AlteraçãoPlanejamento de armazenagem e transferência via coletor  Gerar pendência de convocação ativa para atividade de armazenagem e transferência.
WMS6185AlteraçãoCancelamento do recebimento Gerar/Excluir pendência de convocação ativa paras atividades de armazenagem e cancelamento de armazenagem.
WMS6077AlteraçãoFunção responsável pela execução de um programa para uma determinada atividade  Permitir receber transação da convocação ativa para gerenciar execução de atividades originadas da convocação ativa, e permitir enviar transação da convocação ativa para gerencimento dos respectivos apontamentos na atividade.
WMS6743AlteraçãoGerenciamento da convocação ativa → Permitir convocar usuário para execução das atividades de armazenagem, cancelamento da armazenagem e transferência de endereço.
WMS6180AlteraçãoPrograma responsável pela armazenagem e transferência de endereço de palete → Gerar novas pendências de convocação ativa (drop-point) e não permitir usuário concluir participação na atividade com processsos de movimentos pendentes.
WMSR22AlteraçãoFunção responsável pelo gerenciamento dos apontamentos e situações das atividades e ordens de serviço  Permitir receber transação da convocação ativa com o principal objetivo de finalizar pendências de convocação ativa.
WMS6430Alteração 
WMS6631Alteração 

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 uma nova 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 uma nova 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 uma nova 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_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), (l_usuario_executor) e modo de exibição de mensagem(l_modo_exibicao_msg).

        7. Criar uma nova função wmsr139_ajusta_movimentos_os_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:
          1. Se existem processos de movimento com situação(sit_processo_moviment) diferente de "FI-Finalizado" e "CA-Cancelado" sem executor(wms_processo_moviment.usuario_executor IS NULL) e sem pendência de convocação ativa sem executor (wms_conv_ativa.usuario_executor IS NULL). Neste caso deve-se gerar uma nova pendência de convocação ativa sem executor (wmsr139_gera_nova_pendencia_conv_ativa). VERIFICAR POSSIBILIDADE DE DETALHAR MAIS
          2. Se existem processos de movimento com situação(sit_processo_moviment) diferente de "FI-Finalizado" e "CA-Cancelado" com executor(usuario_executor IS NOT NULL) e sem pendência de convocação ativa para o mesmo executor do movimento. Neste caso deve-se gerar uma nova pendência de convocação ativa para cada executor "orfão" (wmsr139_gera_nova_pendencia_conv_ativa). VERIFICAR POSSIBILIDADE DE DETALHAR MAIS
        8. Criar uma nova função wmsr139_finaliza_pendencia_conv_ativa_transf_armz. 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). Com base na transação da convocação ativa recebida por parâmetro a função deverá:
          1. 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.
          2. 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).
          3. Por fim o registro de controle de convocação ativa deve ser excluído da wms_conv_ativa.
          4. 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/atividade 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, gerar uma pendência de convocação ativa para a ordem de serviço/atividade criada durante o planejamento da armazenagem.
        2. Ao cancelar o planejamento da armazenagem excluir o(s) registro(s) de pendência de convocação ativa vinculado(s) 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 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, gerar uma pendência de convocação ativa 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 identificar que determinada atividade foi chamada da convocação ativa e de qual transação, receber também o código da transação da convocação ativa que originou a chamada ao programa.
        2. Após a finalização de execução do programa de execucação de uma determinada atividade, enviar o código da transação 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_trans_conv_ativa INTEGER que será responsável por armazenar o código da transação da pendência de convocação ativa.
        2. Criar função wms6077_set_trans_conv_ativa. Esta função deverá receber como parâmetro um código de transação (l_trans_conv_ativa INTEGER) e armazenar este valor na modular m_trans_conv_ativa.
        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 da transação da convocação ativa (m_trans_conv_ativa ).Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S') .
        4. Alterar a função wms6077_verifica_retorno. Esta função é executada após encerramento do programa de uma atividade. Antes de efetuar a chamada para a função wmsr22_mantem_os_em_aberto, chamar a função wmsr22_set_trans_conv_ativa (a ser criada neste requisito). 
        5. Para que não fique "lixo" nas novas modulares, ao final da função wms6077_administra_os limpar as variáveis (NULL).


    6. WMS6743 - Convocação ativa
      1. Objetivo das alterações a serem realizadas: 
        1. Adicionar à regra de ajustes de tabelas do processo a verificação de existência de alguma pendência de convocação ativa de armazenagem, cancelamento do recebimento ou transferência onde não existam processos de movimento diferente de FI-Finalizado ou CA-Cancelado.Caso encontre alguma pendência nesta situação, realizar a exclusão das pendências de convocação ativa.
        2. Adicionar à regra de busca de atividades para convocação ativa as ordens de serviço/atividades relacionadas a armazenagem, cancelamento da armazenagem e transferência de endereço. 
          1. Situação para encontrar atividade
        3. Ao realizar alocação da pendência da convocação ativa a um usuário, verificar os movimento da ordem de serviço/atividade e alocar todos os processos de movimentos possíveis de acordo com as configurações de endereço do usuário.
          1. Caso não seja possível alocar todos os processos de movimento da ordem de serviço/atividade, gerar nova pendência de convocação ativa para a ordem de serviço/atividade. Desta forma algum outro usuário poderá ser alocado para execução dos movimentos restantes.
        4. Enviar código da transação da convocação ativa a função reponsável pela execução do programa relacionado a atividade.
        5. Ao encontrar atividade para execução, exibir em tela os campos abaixo. Ao executar a chamada para execução da atividade de Armazenagem ou Transferência, enviar o código do processo de movimento.
          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.
      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. Objetivos das alterações a serem realizadas: 
        1. Gerar nova pendência de convocação ativa ao depositar palete em endereço drop-point. Desta forma será possível a convocação do próximo usuário para que seja realizado o movimento do drop-point ao endereço destino planejado.
        2. Gerar nova pendência de convocação ativa ao liberar equipamento e depositar palete em endereço diferente de armazém. Desta forma será possível a convocação do próximo usuário para que seja realizado o movimento do endereço onde o palete foi depositante ao endereço destino planejado.
        3. Não permitir o usuário concluir sua participação na ordem de serviço/atividade de armazenagem/transferência com processos de movimentos alocados para o usuário. Nesta situação o usuário só deverá conseguir interromper a atividade. Com esta alteração será psosível estabelecer a correta prioridade para o usuário. Mantendo sua participação na ordem de serviço em aberto ele continuará sendo convocado até que todos os processos de movimentos planejados sejam encerrados.

      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 wms6180_movimentacao_armazenamento para que 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.
        3. Criar uma nova função wms6180_possui_processo_moviment_os_pendente_usuario.  Esta função deverá verificar se existem processos de movimento alocados para o usuário(wms_processo_moviment.usuario_execucao=p_user) na ordem de serviço/atividade que ainda não foram executados (wms_processo_moviment.sit_processo_moviment NOT IN('FI','CA'))
        4. Alterar a função wms6180_entrada_etiqueta para que ao acionar a opção F4 (ON KEY (f4, control-k)), já no início do bloco condicional (IF l_processou_palete THEN) seja verificado se existem processos de movimento pendentes para o usuário através da função wms6180_possui_processo_moviment_os_pendente_usuario. Caso existam o usuário deverá ser notificado "Usuário possui outros movimentos pendentes de conclusão" e o cursor deverá voltar ao campo palete (NEXT FIELD m_etiq_mov). Condicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S').
        5. Alterar a função wms6180_gera_nova_seq_processo_movtcao para que logo após a inclusão do 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'). Estas alterações tem o objetivo de gerar uma nova pendênca de convocação ativa para a ordem de serviço gerada 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. WMSR22 - Função de controle de execução de ordem de serviço
      1. Objetivo das alterações a serem realizadas: 
        1. Finalizar a pendência de convocação ativa para o usuário ao concluir sua participação na ordem de serviço.
          1. Ao finalizar pendência de convocação ativa, verificar se ainda existem processos de movimentos pendentes na ordem de serviço/atividade e gerar nova pendência para que outro usuário possa ser convocado para execução destes movimentos pendentes.
          2. Realizar ajuste de registros do processo para casos de inconsistência por queda de sinal ou outro motivo. Gerar nova pendência de convocação ativa para usuários que possam já estar alocados para um movimento porém não possuam pendência de convocação ativa.
        2. Ao encerrar a ordem de serviço/atividade, excluir todas pendências de convocação ativa relacionadas.

      1. 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_trans_conv_ativa INTEGER que será responsável por armazenar o código da transação da pendência de convocação ativa.
        2. Criar função wmsr22_set_trans_conv_ativa. Esta função deverá receber como parâmetro um código de transação (l_trans_conv_ativa INTEGER) e armazenar este valor na modular m_trans_conv_ativa.


    9. 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'


    10. 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.