Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | ||||||||||||||||
Produto | Logix | Módulo | WMS | |||||||||||||
Segmento Executor | Supply Chain - Inovação | |||||||||||||||
Projeto1 | IRM1 |
| ||||||||||||||
Requisitos1 | LOGWMS01-831 DLOGWMSOL-291 | Subtarefas1 |
| Subtarefas1 |
|
| ||||||||||
País | ( x ) Brasil ( ) Argentina ( ) Mexico México ( ) Chile ( ) Paraguai ( ) EquadorEquador ( ) USA ( ) Colombia Colômbia ( ) Outro _____________. |
Aviso | ||
---|---|---|
| ||
Os requisitos tratados por esta especificação 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 irá incrementar a funcionalidade da convocação ativa que será considerada como completa quando todos os requisitos estiverem concluídos. Esta especificação trata do requisito 4 de um total de 13 requisitos. Sendo que as especificações dos requisitos anteriores estão emEspecificações dos requisitos de configurações: 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 |
Dica | ||
---|---|---|
| ||
Os arquivos originais(dinâmicos) utilizados e aqui apresentados em formato de imagem(estático) estão anexos a este documento.
|
Objetivo
Alterar programas das atividades de ressuprimento de picking para:
- Pular as telas iniciais dos programas.
- Atualizar o controle de convocação ativa ao finalizar as atividades.
Objetivo
Alterar programas das atividade de ressuprimento de picking para:Definição da Regra de Negócio
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
WMSR41 | [Alteração] |
| Geração da ordem de serviço de ressuprimento de picking |
WMS6238 | [Alteração] | Ressuprimento de picking | |
WMS663108a | [Alteração] |
| Alocação/realocação de recursos ressuprimento |
WMS663108b | [Alteração] | Alocação/realocação direta de recursos ressuprimento | |
WMS663108c | [Alteração] | Desalocar ressuprimento | |
WMS6435a | [Alteração] | Central do planejador - Alocação/realocação (distribuição) de recursos ressuprimento | |
WMS6435b | [Alteração] | Central do planejador - Desalocar de recursos ressuprimento | |
WMS6435c | [Alteração] | Central do planejador - Alocação/realocação direta de recursos ressuprimento | |
WMS6743WMS6435d | [Alteração] | Convocação Ativa |
WMS6743
Alterar função wms6743_executa_atividade, as atividades de ressuprimento de picking deverão chamar o WMS6238.
WMSR139 -Central do planejador - Cancelar Ressuprimento de Picking | |||
WMS6743 | [Alteração] | Convocação Ativa | |
WMS64351 | [Alteração] | Movimentação Interna - Ressuprimento Picking |
WMSR139 - RNL
RNLGeração/Exclusão e Atualização de Pendência de Convocação Ativa
Alterar as pendência de convocação ativa.Criar funções para:
- Geração de pendência de convocação ativa de ressuprimento com base em Ordem de Serviço/Atividade.
Uma pendência de convocação ativa para a Ordem de Serviço/Atividade. O objetivo é que seja chamada após a existência das tabelas wms_os_ativ_executor ou wms_processo_moviment.
NOTA Nota:
A tabela wms_os_ativ_executor pode até não existir, porém caso exista serão assumidos os executores, um registro de pendência de convocação ativa para cada, e um registro de pendência de convocação ativa sem executor para os processos de movimento sem executor.
- Criar uma nova função Alterar a função wmsr139_gera_pendenciapendencias_conv_ativa_ressup_picking_os. Esta função deverá receber como parâmetro empresa(l_empresa), ordem de serviço(l_os), e modo de exibição de mensagem(l_modo_exibicao_msg). Com base no código da OS recebida por parâmetro a função deverá gerar novos registros na wms_conv_ativa. Utilizar consulta SQL nas tabelas wms_ordem_servico, wms_clas_operacao, wms_ordem_servico_ativ, wms_ativ, wms_tip_processo(conv_ativa_atividade = 14) 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.
Bloco de código language cpp collapse true --inclui registros da convocacao ativa(wms_conv_ativa) para as situações onde: ------ exista usuario executor em atividade pendente e ainda nao exista pendencia de convocação ativa ------------ (usuario executor = NULL para processos de movimento sem alocação) ------------ (usuario executor <> NULL para processos de movimento com alocação) INSERT INTO wms_conv_ativa (empresa,ctr_ent_sai_veic_docum,ordem_servico,ativ, tip_classe_operacao,conv_ativa_atividade,tip_processo, usuario_executor, deposit, endereco_origem) SELECT DISTINCT wms_ordem_servico.empresa, wms_ordem_servico.ordem_servico, wms_ativ.ativ, wms_clas_operacao.tip_clas_operacao, wms_tip_processo.conv_ativa_atividade, wms_tip_processo.tip_processo, wms_os_ativ_executor.usuario AS usuario_executor, wms_ordem_servico.deposit, CASE WHEN (SELECT COUNT(DISTINCT mov.endereco_origem) FROM wms_processo_moviment mov WHERE mov.empresa = 'AV' AND mov.ordem_servico = 'SVT16122115202495' AND mov.ativ = 'AT0011' AND mov.sit_processo_moviment NOT IN ('FI','CA') AND ( ( wms_os_ativ_executor.usuario IS NOT NULL AND mov.usuario_executor = wms_os_ativ_executor.usuario) OR( wms_os_ativ_executor.usuario IS NULL AND mov.usuario_executor IS NULL) )) = 1 THEN (SELECT DISTINCT mov.endereco_origem FROM wms_processo_moviment mov WHERE mov.empresa = 'AV' AND mov.ordem_servico = 'SVT16122115202495' AND mov.ativ = 'AT001' AND mov.sit_processo_moviment NOT IN ('FI','CA') AND ( ( wms_os_ativ_executor.usuario IS NOT NULL AND mov.usuario_executor = wms_os_ativ_executor.usuario) OR( wms_os_ativ_executor.usuario IS NULL AND mov.usuario_executor IS NULL) )) ELSE NULL END endereco_origem FROM wms_ordem_servico_ativ INNER JOIN wms_ordem_servico ON wms_ordem_servico.empresa = wms_ordem_servico_ativ.empresa AND wms_ordem_servico.ordem_servico = wms_ordem_servico_ativ.ordem_servico INNER JOIN wms_clas_operacao ON wms_clas_operacao.empresa = wms_ordem_servico.empresa AND wms_clas_operacao.classe_operacao = wms_ordem_servico.classe_operacao INNER JOIN wms_ativ ON wms_ativ.empresa = wms_ordem_servico_ativ.empresa AND wms_ativ.ativ = wms_ordem_servico_ativ.ativ INNER JOIN wms_tip_processo ON wms_tip_processo.tip_processo = wms_ativ.tip_processo LEFT JOIN wms_os_ativ_executor ON wms_os_ativ_executor.empresa = 'AV' AND wms_os_ativ_executor.ordem_servico = 'SVT16122115202495' AND wms_os_ativ_executor.ativ = 'AT0011' AND (wms_os_ativ_executor.recurso_adicional = 'N' OR wms_os_ativ_executor.recurso_adicional IS NULL) AND wms_os_ativ_executor.sit_execucao NOT IN (3,5,6,7) WHERE wms_ordem_servico_ativ.empresa = 'AV' AND wms_ordem_servico_ativ.ordem_servico = 'SVT16122115202495' AND wms_ordem_servico_ativ.ativ = 'AT0011' AND wms_tip_processo.conv_ativa_atividade = 14 AND wms_ordem_servico_ativ.sit_ativ NOT IN (3,5,6) AND EXISTS ( SELECT DISTINCT 1 FROM wms_processo_moviment mov WHERE mov.empresa = 'AV' AND mov.ordem_servico = 'SVT16122115202495' AND mov.ativ = 'AT0011' AND mov.sit_processo_moviment NOT IN ('FI','CA') AND ( ( wms_os_ativ_executor.usuario IS NOT NULL AND mov.usuario_executor = wms_os_ativ_executor.usuario) OR( wms_os_ativ_executor.usuario IS NULL AND mov.usuario_executor IS NULL) )) AND NOT EXISTS ( SELECT DISTINCT 1 FROM wms_conv_ativa cv WHERE cv.empresa = 'AV' AND cv.ordem_servico = 'SVT16122115202495' AND cv.ativ = 'AT0011' AND ( ( wms_os_ativ_executor.usuario IS NOT NULL AND cv.usuario_executor = wms_os_ativ_executor.usuario) OR( wms_os_ativ_executor.usuario IS NULL AND cv.usuario_executor IS NULL) )) -- atualiza as colunas que não tiveram valores inseridos NO INSERT anterior. INSERT com SELECT nao aceita variáveis -------- somente atualiza campos de alocação se realmente existir uma alocação para o usuário UPDATE wms_conv_ativa SET dat_hor_inclusao = l_data_atual, usuario_alocacao = CASE WHEN usuario_executor IS NOT NULL THEN p_user ELSE NULL END, dat_hor_alocacao_executor = CASE WHEN usuario_executor IS NOT NULL THEN l_data_atual ELSE NULL END WHERE wms_conv_ativa.empresa = p_cod_empresa AND wms_conv_ativa.ordem_servico = l_ordem_servico AND wms_conv_ativa.ativ = l_atividade AND dat_hor_inclusao IS NULL AND usuario_alocacao IS NULL AND dat_hor_alocacao_executor IS NULL
Exclusão de pendência de convocação ativa de ressuprimento de picking.- Ajuste de pendência de convocação ativa de ressuprimento de picking com base em Ordem de Serviço/Atividade.
Criar uma nova função wmsr139_ajusta_pendencia_conv_ativa_ressup_os_ativ. 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 os registros de pendência de convocação ativa que possuam usuário executor onde este usuário executor não possua mais processos de movimento em aberto para a ordem de serviço/atividade.
- Excluir os registros de pendência de convocação ativa que não possuam usuário executor e também não existam mais processos de movimento em aberto e sem usuário executor para a ordem de serviço/atividade.
- Incluir novo registro de pendência de convocação ativa por ordem de serviço/atividade e usuário executor quando existir algum processo de movimento em aberto com usuário executor para a ordem de serviço/atividade e que ainda não possua pendência de convocação ativa.
Incluir novo registro de pendência de convocação ativa por ordem de serviço/atividade sem executor quando existir algum processo de movimento em aberto sem usuário executor para a ordem de serviço/atividade e que ainda não possua pendência de convocação ativa.
Bloco de código language cpp title Sugestão de comandos SQL collapse true --exclui registros da convocacao ativa(wms_conv_ativa) onde: ------ usuario executor da convocação ativa não exista em nenhum processo de movimento das ordens de serviço/atividade processadas ------ usuario executor da convocação ativa esteja nulo e não existam processos de movimento das ordens de serviço/atividade processadas pendentes de alocação DELETE FROM wms_conv_ativa WHERE wms_conv_ativa.empresa = p_cod_empresa AND wms_conv_ativa.ordem_servico = l_ordem_servico AND wms_conv_ativa.atividade = l_atividade AND wms_conv_ativa.conv_ativa_atividade = 14 AND ( (wms_conv_ativa.usuario_executor IS NOT NULL AND NOT EXISTS (SELECT DISTINCT 1 FROM wms_processo_moviment WHERE wms_processo_moviment.empresa = p_cod_empresa AND wms_processo_moviment.ordem_servico = l_ordem_servico AND wms_processo_moviment.ativ = l_atividade AND wms_processo_moviment.usuario_executor = wms_conv_ativa.usuario_executor AND wms_processo_moviment.sit_processo_moviment NOT IN ('FI','CA'))) OR (wms_conv_ativa.usuario_executor IS NULL AND NOT EXISTS (SELECT DISTINCT 1 WHERE wms_processo_moviment.empresa = p_cod_empresa AND wms_processo_moviment.ordem_servico = l_ordem_servico AND wms_processo_moviment.ativ = l_atividade AND wms_processo_moviment.usuario_executor IS NULL AND wms_processo_moviment.sit_processo_moviment NOT IN ('FI','CA')))) CALL wmsr139_gera_pendencia_conv_ativa_ressup_picking_os(l_empresa, l_ordem_servico, l_atividade, l_modo_exibicao_msg)
Finalização de pendência de convocação ativa com base em Ordem de Serviço/Atividade. 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), ordem de serviço(l_ordem_servico), atividade(l_ativ), 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á: Caso a transação da pendência de convocação ativa (l_trans_conv_ativa) não seja nulo, incluir o registro de pendência de convocação ativa no histórico (wms_conv_ativa_historico).
Bloco de código language cpp title Sugestão de comandos SQL collapse true INSERT INTO wms_conv_ativa_historico ( empresa,trans_conv_ativa,ctr_ent_sai_veic_docum,ordem_servico,ativ,tip_classe_operacao,conv_ativa_atividade,tip_processo, dat_hor_inclusao,usuario_alocacao,dat_hor_alocacao_executor,usuario_executor,deposit,endereco_origem,endereco_destino) SELECT empresa,trans_conv_ativa,ctr_ent_sai_veic_docum,ordem_servico,ativ,tip_classe_operacao,conv_ativa_atividade,tip_processo, dat_hor_inclusao,usuario_alocacao,dat_hor_alocacao_executor,usuario_executor,deposit,endereco_origem,endereco_destino FROM wms_conv_ativa WHERE empresa = l_empresa AND trans_conv_ativa = l_trans_conv_ativa UPDATE wms_conv_ativa_historico SET dat_hor_fim = l_data_hora_atual WHERE empresa = l_empresa AND trans_conv_ativa = l_trans_conv_ativa
Caso a transação da pendência de convocação ativa (l_trans_conv_ativa) não seja nulo, excluir o registro do controle de pendência de convocação ativa (wms_conv_ativa).
Bloco de código language cpp title Sugestão de comandos SQL collapse true DELETE FROM wms_conv_ativa WHERE empresa = l_empresa AND trans_conv_ativa = l_trans_conv_ativa
Caso a transação da pendência de convocação ativa (l_trans_conv_ativa) não seja nulo e ordem de serviço(l_ordem_servico) e atividade(l_atividade) sejam nulos, obter ordem de serviço(l_ordem_servico) e atividade(l_atividade) da pendência de convocação ativa.
Bloco de código language cpp title Sugestão de comandos SQL collapse true SELECT ordem_servico, atividade INTO l_ordem_servico, l_atividade FROM wms_conv_ativa WHERE empresa = l_empresa AND trans_conv_ativa = l_trans_conv_ativa
Por fim, independente de ter ou não um código de transação de pendência de convocação ativa(l_trans_conv_ativa), caso a ordem de serviço(l_ordem_servico) e atividade(l_atividade) não sejam nulos, realizar chamada a função wmsr139_ajusta_pendencia_conv_ativa_ressup_os_ativ passando ordem de serviço e atividade.- Criar transação de banco de dados para englobar todos os passos acima.
Criar uma nova função wmsr139_exclui_pendencia_conv_ativa_ressup_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.
Retornar TRUE quando sucesso e FALSE caso ocorra algum ERRO durante o processamento.
- Na função wmsr41_geracao_ordem_servico_ressup(), após a geração da ordem de serviço deverá gerar a pendência de convocação ativa chamando a função criada no item anterior.
WMS6238 - Ressuprimento
Atualmente o programa de ressuprimento é aberto direto do menu. Para que seja possível identificar que determinada atividade foi chamada da convocação ativa e de qual transação, deverá receber como parâmetros o código da empresa e também o código da transação da convocação ativa que originou a chamada ao programa. Sendo chamado pela convocação ativa, o programa deverá ser executa a partir da tela 4.
- Sugestão de implementação:
- 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.
- Criar função wms6238_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.
- Alterar a função wms6238_controle(). Se a transação de convocação ativa foi informada deverá pular a chamada das funções que exibem as telas de 1 a 3 (wms6238_carrega_enderecos).
- Alterar a função wms6238_carrega_movimentos(). Deverá ser adicionado o filtro para buscar os processos de movimentação relacionados a Ordem de serviço da transação de convocação ativa, desconsiderando demais filtros.
- Alterar a função wms6238_mvta_eqpto_para_end_ressuprir(). Após finalizar a ordem de serviço deverá efetuar a finalização da pendência de convocação ativa.
WMS6430 - Central do planejador
- Alterar a função wms6435a_atualiza_conv_ativa().
- Antes de chamar a função wmsr139_atualiza_pendencias_conv_ativa_transf_armz_os() deve testar m_função, se for "ALOCAR_RESSUPRIMENTO" ou "REALOCAR_RESSUPRIMENTO"
- Antes de chamar a função wms6435a_gera_pendencias_conv_ativa_transf_armz_os() deverá efetuar o mesmo teste anterior e na mesma condição chamar a função wms6435a_gera_pendencias_conv_ativa_ressup_os.
- Antes de chamar a função wmst274_wms_conv_ativa_exclui_condicional para alimentar a variável l_where_clause deverá efetuar novamente o mesmo teste e seguindo a mesma condição atribuir AND wms_conv_ativa.conv_ativa_atividade = 14 ou manter como está.
- Criar a função wms6435a_gera_pendencias_conv_ativa_ressup_os() com base na função wms6435a_gera_pendencias_conv_ativa_transf_armz_os(), devendo alterar os filtros para que busquem as atividades (conv_ativa_atividade) igual a 14.
- Alterar a função wms6435b_atualiza_conv_ativ. Esta função deverá atualizar os registros da wms_conv_ativa com base no processamento da desalocação efetuada, para isso utilizar como como base as tabelas tt_os_ativ_movimentos, wms_os_ativ_executor e wms_processo_moviment. Deverão ser efetuados os mesmos testes do item anterior chamando a função correspondente conforme m_funcao igual "RESSUPRIMENTO" ou "ARMAZENAGEM", "CANC_ARMAZENAGEM" e "TRANSF_ENDERECO"
- Antes de chamar a função wmst274_wms_conv_ativa_exclui_condicional para alimentar a variável l_where_clause deverá efetuar novamente o mesmo teste e seguindo a mesma condição atribuir AND wms_conv_ativa.conv_ativa_atividade = 14 ou manter como está.
- Criar a função wms6435b_gera_pendencias_conv_ativa_ressup_os() com base na função wms6435b_gera_pendencias_conv_ativa_transf_armz_os() devendo alterar os filtros para que busquem as atividades (conv_ativa_atividade) igual a 14.
- os_ativ(). Quando l_conv_ativa_atividade for (8,9,10), incluir também a atividade 14 (ressuprimento de picking).
- Alterar a função wmsr139_gera_pendencias_conv_ativa_transf_armz_os(), onde deverá ser alterado o where do select para AND wms_tip_processo.conv_ativa_atividade in (8,9,10,14)
- Exclusão de pendência de convocação ativa de ressuprimento de picking.
- Alterar a função wmsr139_exclui_pendencias_conv_ativa_os() onde deverá testar l_conv_ativa_atividade IN (8,9,10,14), servirá para armazenagem, transferência e ressuprimento.
- Alterar a função wmsr139_exclui_pendencias_conv_ativa_os() onde deverá testar l_conv_ativa_atividade IN (8,9,10,14), servirá para armazenagem, transferência e ressuprimento.
- Ajuste de pendência de convocação ativa de ressuprimento de picking com base em Ordem de Serviço/Atividade.
- Alterar a função wmsr139_ajusta_pendencia_conv_ativa_movtos_os_ativ() alterar o where do select para conv_ativa_atividade in (8,9,10,14).
- Alterar a função wmsr139_ajusta_pendencia_conv_ativa_movtos_os_ativ() alterar o where do select para conv_ativa_atividade in (8,9,10,14).
- Finalização de pendência de convocação ativa com base em Ordem de Serviço/Atividade.
Alterar a função wmsr139_finaliza_pendencias_conv_ativa(). Mudar o case when l_conv_ativa_atividade para (8,9,10,14) para também chamar a função wmsr139_finaliza_pendencias_conv_ativa_transf_armz() quando for ressuprimento.
WMSR41 - Ressuprimento de Picking
O ressuprimento de picking é centralizado na função WMSR41, portanto, tanto o ressuprimento gerado por demanda quanto o através da central de ressuprimento/online, serão contemplados pela convocação ativa.
Será gerada uma convocação ativa para cada ordem de serviço de ressuprimento, lembrando que as ordens de serviço são agrupadas por item e endereço destino, podendo ter mais de um movimento, com endereços origens diferentes. Desta forma, a convocação ativa controlará a exibição dos movimentos, apresentando apenas os movimentos que tem origem em endereços que fazem parte do grupo de acesso do usuário.
- Na função wmsr41_geracao_ordem_servico_ressup(), após a geração da ordem de serviço deverá gerar a pendência de convocação ativa chamando a função wmsr139_gera_pendencias_conv_ativa_os_ativ() passando empresa, ordem de serviço gerada, atividade (14) e modo exibição false.
- Se o retorno da função de geração de pendência para o wmsr41 for false, deverá processar mensagem de erro e retornar FALSE, NULL, NULL.
- Se o retorno da função de geração de pendência para o wmsr41 for false, deverá processar mensagem de erro e retornar FALSE, NULL, NULL.
- Alterar a função wmsr41_excluir_item_ressup(), está função é chamada pelas opções cancelamento do ressuprimento da central do planejador.
- Após executar a função wmsr22_encerra_cancela_os_atividade(), quando nãao existe mais nenhum movimento pendente para a OS/Atividade, deverá efetuar a chamada da função wmsr139_exclui_pendencias_conv_ativa_os() passando empresa, ordem de serviço e atividade 14.
WMS6743 - Convocação Ativa - Coletor
Na apresentação da pendência deverá apresentar Ressuprimento; depositante; endereço origem (pode ter vários endereços origem, nesse caso exibir Varios), item e texto de descrição da tarefa.
Alterar a função wms6743_executa_atividade para que quando for executada a atividade de ressuprimento de picking (ma_atividades[?].conv_ativa_atividade = 14) executar o RUN do wms6743, passando por Arg_Val os valores da empresa e transação convocação ativa.
WMS6238 - Ressuprimento
Atualmente o programa de ressuprimento é aberto direto do menu.Para que seja possível identificar que determinada atividade foi chamada da convocação ativa e de qual transação, deverá receber como parâmetros (arg_val) o código da empresa e também o código da transação da convocação ativa que originou a chamada ao programa.
Sendo chamado pela convocação ativa, em todos os filtros realizados deverá ser acrescentada a ordem de serviço relacionada a convocação ativa.
- Sugestão de Implementação:
- 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.
- No início da função controle verificar arg_val, se vieram os valores de empresa e transação convocação ativa. Sendo válidos, setar p_cod_empresa e m_trans_conv_ativa.
- Efetuar a leitura do registro da convocação ativa e setar as variáveis de ordem de serviço e depositante, que serão utilizadas para carregar os movimentos de ressuprimento.
- Alterar a função wms6238_carrega_movimentos(). Deverá ser adicionado o filtro para buscar os processos de movimentação relacionados a empresa, depositante e Ordem de serviço da transação de convocação ativa, desconsiderando demais filtros.
- Deverá ser efetuada a validação de acesso ao endereço origem do processo de movimentação. Na tela da Convocação Ativa já são apresentadas apenas as ordens de serviço que possuem movimentos que o usuário pode acessar, porém, na exibição dos endereços origem é necessário refazer o controle.
- Verificar como é efetuado esse controle na função de armazenagem e transferência e efetuar a lógica de alocação dos processos (wms6743_aloca_usuario_atividade_mov_int). Esta função aloca todos os processos de movimentos possíveis para a ordem de serviço de acordo com a configuração do usuário em WMS6742.
- Alterar a função wms6238_mvta_eqpto_para_end_ressuprir(). Após finalizar a ordem de serviço deverá efetuar a finalização da pendência de convocação ativa.
WMS6430 - Central do Planejador
Excluir, atualizar o executor e gerar as novas pendências de convocação ativa com base nas operações de alocação, desalocação e realocação das atividades de ressuprimento de picking.
- WMS6435a;
- WMS6435b;
- WMS6435c;
- Nas funções acima incluir a atividade 14 nos pontos onde são informadas as atividades (8, 9, 10).
- A exclusão do ressuprimento está sendo tratada diretamente na função do WMSR41.
WMS6631 - Alocação de Recurso
Deverá excluir e gerar as
WMS6435cAlterar a função wms6435c_atualiza_conv_ativa. Replicar conteúdo da função wms6435a_atualiza_conv_ativ.
WMS6631 - Alocação de recurso
Deverá excluir e gerar novas pendências de convocação ativa com base nas operações de alocação, desalocação e realocação das atividades de armazenagem, cancelamento da armazenagem e transferência de endereço.
- Alterar a função função wms663108a. As alterações a serem realizadas são as mesmas descritas para wms6435a.
- Alterar a função função wms663108b. As alterações a serem realizadas são as mesmas descritas para wms6435b.
- Alterar a função wms663108c. As alterações a serem realizadas são as mesmas descritas para wms6435c.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|