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. Alterar programas para gerar e atualizar pendência de convocação ativa para execução das atividades:
    • Armanzeagem

 

  1. Objetivos gerais: 
    1. Gerar, excluir e finalizar

Definição da Regra de Negócio

 

  1. Armazenagem e Transferência de endereço
    1. Objetivo geral: Gerar pendência de convocação ativa para as atividades de armazenagem e transferência de endereço.
    2. Permitir que a atividade as atividades de armazenagem e transferência possa possam ser executada a partir do programa WMS6743 - Convocação ativa.

Definição da Regra de Negócio

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

    1. Alterar dicionário de dados
      1. Incluir a coluna processo_moviment INTEGER, nas tabelas wms_conv_ativa e wms_conv_ativa_historico.

    2. 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 geração, exclusão e finalização de pendência de convocaçãoa tiva para os processos de armazenagem e transferência de endereço.

      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_transf_armzEsta 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á gerar um novo registro na wms_conv_ativa. Utilizar consulta SQL nas tabelas wms_processo_moviment, 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_processo_moviment.ordem_servico;
            5. wms_conv_ativ.aitv= wms_processo_moviment.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 = SE wms_processo_moviment.usuario_executor IS NOT NULL ENTÃO wms_processo_moviment.usuario_inclusao SENÃO NULL;
            11. wms_conv_ativ.dat_hor_alocacao_executor = wms_processo_moviment.data_atribuicao_executor;
            12. wms_conv_ativ.usuario_executor = wms_processo_moviment.usuario_executor;
            13. wms_conv_ativ.deposit = wms_ordem_servico.deposit;
            14. wms_.conv_ativa.endereco_origem = wms_processo_moviment.endereco_origem;
            15. wms_.conv_ativa.endereco_destino = wms_processo_moviment.endereco_destino.
        2. Criar uma nova função wmsr139_exclui_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á excluir o(s) registro(s) da wms_conv_ativa para o processo de movimento recebido por parâmetro.
        3. Criar uma nova função wmsr139_finaliza_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á:
          1. Validar se situação do processo de movimento está FI-Finalziado. Caso não esteja, retornar FALSE e a mensagem "Processo de movimento não está finalizado, pendência de convocação ativa não pode ser finalizada."
          2. Estando o processo de movimento FI-Finalizado, 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. Após inclusão do registro na wms_conv_ativa_historico, o registro 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.

    3. WMS6378 - Planejamento automático da armazenagem.
      1. Objetivo das alterações a serem realizadas: 
        1. Ao realizar o planejamento da armazenagem e criar cada processo de movimento, gerar um registro de pendência de convocação ativa vinculado com o processo de movimento recém gerado. 

      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 wms6378_incluir_processo_moviment para que seja feita leitura do parâmetro utiliza_conv_ativa e seu valor seja armazenado na variável m_utiliza_conv_ativa. Logo no início da função.
        3. Alterar a função wms6378_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_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'

    4. 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 pendência de convocação ativa vinculado com o processo de movimento recém gerado. Obter atividade, ordem de serviço, e CESV da ordem de serviço e vincular ao registro de convocação ativa. 
        2. Ao cancelar o planejamento da armazenagem e excluir cada processo de movimento do planejamento de armazenagem, excluir o registro de pendência de convocação ativa vinculado.  

      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 wms6177_incluir_processo_moviment 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.
        2. Alterar a função wms6177_excluir_os_reserva_processo para que logo após a exclusão de cada processo de movimento realizado pela função wmsm151_wms_processo_moviment_exclui apendência de convocação ativa seja excluída. Para isso realizar chamada para a função wmsr139_exclui_pendencia_conv_ativa_transf_armz.

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

      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_armzCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'

    6. WMS6077 - Função de controle para execução de atividades.
      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'

    7. 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 movimneto 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
  1. executar
        1. encontrar atividade para execução, exibir em tela os campos abaixo. 
          1. Armazenagem
            1. Identificador 1 = CESV.
            2. Identificador 2 = Palete do processo de movimento.
          2. Transferência
            1. Identificador 1 = Processo de movimento.
            2. Identificador 2 = Palete.
          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. Ao executar a chamada para execução da atividade de Armazenagem ou Transferência, enviar o código do processo de movimento.

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


    1. WMS6180 - Armazenagem / Transferência de endereço.
      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.

    2. MWS6185 - 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'

    3. SIMULAR PROCESSO TRANSF. DE VOLUME DE CONFERENCIA POSTERIOR
    4. MOVIMENTO DE SUBIDA NÃO É GERADO NA TRANSFERENCIA. O TIPO DE MOVIMENTO FICA COMO TRANSFERENCIA. COMO CONVOCAR ESTE MOVIMENTO PARA QUEM SÓ FAZ SUBIDA?

Dicionário de Dados

 

Estrutura de Menu

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

NomeTipoObrigatória
processo_movimentoIntegerNão

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