Páginas filhas
  • ER LOGWMS01-831 ME 15.8.1 - Ressuprimento BRA

Versões comparadas

Chave

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

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

  

Informações Gerais

Especificação

Produto

Logix

Módulo

WMS

Segmento Executor

Supply Chain - Inovação

Projeto1

LOGWMS01

IRM1

Jira
serverJIRA Produção
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyLOGWMS01-545

Requisitos1

LOGWMS01-831

DLOGWMSOL-291

Subtarefas1

Jira
serverJIRA Produção
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyLOGWMS01-831

Subtarefas1

 

2195

País

( x ) Brasil  (  ) Argentina  (  ) Mexico  México  (  ) Chile  (  ) Paraguai  (  ) EquadorEquador  (  ) USA  (  ) Colombia   Colômbia   (  ) Outro _____________.

 

 

Aviso
titleATENÇÃO!

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
titleSUGESTÃO

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: 

  1. Pular as telas iniciais dos programas. 
  2. Atualizar o controle de convocação ativa ao finalizar as atividades.

 

Definição da Regra de Negócio

Image Added
 

RotinaTipo de OperaçãoOpção de MenuRegras de Negócio

WMSR41

[

Objetivo

Alterar programas das atividade de ressuprimento de picking para:
  • Pular telas iniciais dos programas;
  • Atualizar o controle de convocação ativa ao finalizar as atividades.

    Definição da Regra de Negócio

    Image Removed

     
    RotinaTipo de OperaçãoOpção de MenuRegras 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
     
    WMS6435d[Alteração] 

    WMSR139 - RNL Geração/Exclusão e Atualização de pendência de convocação ativa.

    Central do planejador - Cancelar Ressuprimento de Picking
    WMS6743[Alteração] Convocação Ativa
    WMS64351[Alteração] 

    Movimentação Interna - Ressuprimento Picking

    WMSR139 - RNL Geração/Exclusão e Atualização de Pendência de Convocação Ativa

    Alterar as Criar funções para: 

    1. 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(informação) 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.

      1. Criar uma nova função Alterar a função wmsr139_gera_pendenciapendencias_conv_ativa_ressupos_picking. 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
      languagecpp
      collapsetrue
      --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
    1. Exclusão de pendência de convocação ativa de ressuprimento de picking.
      Excluir todas as pendências de convocação ativa para a ordem de serviço/atividade.
    2. Ajuste de pendência de convocação ativa de ressuprimento de picking com base em Ordem de Serviço/Atividade.
      1. 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.
      2. 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.
      3. 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.
      4. 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.
    3. Finalização de pendência de convocação ativa com base em Ordem de Serviço/Atividade.
      1. Incluir novo registro no histórico da convocação ativa.
      2. Excluir registro das pendências de convocação ativa.
      3. Realizar ajuste nos registros de pendência de convocação atica (item d) com base na ordem de serviço/atividade.

    WMSR41 - Ressuprimento de picking

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

     

    Tela 1Image RemovedTela 2Image RemovedTela 3Image Removed

    Tela 4Image Removed

     

    1. Sugestão de implementação:
      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 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.
      3. 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).
      4. 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.
      5. 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 

    1. Excluir, atualizar o executor 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 ressuprimento de picking.
    Alterar a função wms6435a_cria_temporarias para que seja criada uma nova temporária tt_os_ativ_movimentos. Esta nova temporária deverá conter os campos empresa CHAR(02)ordem_servico CHAR(17) e atividade CHAR(06). Seguir mesmos procedimentos existentes para a criação das temporárias tt_movimentos e tt_recursos.
  • Alterar a função wms6435a_carrega_movimentos para que logo após a execução da inclusão de registros na tabela temporária tt_movimentos seja carregada também a tabela temporária tt_os_ativ_movimentos. Para carregar esta nova tabela temporária, buscar as diferentes ordens de serviço e atividades geradas para os movimentos. Veja abaixo 

    Comando SQL para carregar a tabela temporária tt_os_ativ_movimentos com as diferentes ordens de serviço e atividades dos movimentos processados Expandir origem
  • Criar uma nova função wms6435a_atualiza_conv_ativ. Esta função deverá atualizar os registros da wms_conv_ativa com base no processamento da alocação/realocação efetuada, para isso utilizar como como base as tabelas tt_os_ativ_movimentoswms_os_ativ_executor e wms_processo_moviment. Segue abaixo passo a passo e ao final uma sugestão de implementação considerando todos os itens:
    1. Excluir os registros de pendência de convocação ativa (wms_conv_ativa) que possuam usuário executor onde este usuário executor não possua mais processos de movimento para as ordens de serviço/atividade processadas (tt_os_ativ_movimentos).
    2. Excluir os registros de pendência de convocação ativa (wms_conv_ativa) que não possuam usuário executor e também não existam mais processos de movimento para as ordens de serviço/atividade processadas (tt_os_ativ_movimentos).
    3. Incluir novo registro de pendência de convocação ativa (wms_conv_ativa)  por ordem de serviço/atividade e usuário executor quando existir algum processo de movimento com usuário executor para as ordens de serviço/atividade processadas(tt_os_ativ_movimentos) e que ainda não possua pendência de convocação ativa.
    4. Incluir novo registro de pendência de convocação ativa (wms_conv_ativa)  por ordem de serviço/atividade sem executor quando existir algum processo de movimento sem usuário executor para as ordens de serviço/atividade processadas(tt_os_ativ_movimentos) e que ainda não possua pendência de convocação ativa.
    5. Segue sugestão de comandos SQL contendo todos os passos acima mencionados. Não foi utilizado RNL pois o processamento pode ocorrer para um volume considerável de ordens de serviço/atividade e a ideia é evitar a utilização de cursores para melhorar performance. Expandir origem
  • Alterar a função wms6435a_atualiza_dados_alocacao (alocação & realocação) para que ao final da função seja chamada a função wms6435a_atualiza_conv_ativCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S').
  • Alterar a função wms6435b_cria_temporarias para que seja criada uma nova temporária tt_os_ativ_movimentos. Esta nova temporária deverá conter os campos empresa CHAR(02)ordem_servico CHAR(17) e atividade CHAR(06). Seguir mesmos procedimentos existentes para a criação da temporária tt_movimentos.
  • Alterar a função wms6435b_carrega_movimentos para que logo após a execução da inclusão de registros na tabela temporária tt_movimentos seja carregada também a tabela temporária tt_os_ativ_movimentos. Para carregar esta nova tabela temporária, buscar as diferentes ordens de serviço e atividades geradas para os movimentos. Veja abaixo 

    Comando SQL para carregar a tabela temporária tt_os_ativ_movimentos com as diferentes ordens de serviço e atividades dos movimentos processados Expandir origem
  • Criar uma nova 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_movimentoswms_os_ativ_executor e wms_processo_moviment. Segue abaixo passo a passo e ao final uma sugestão de implementação considerando todos os itens:

    1. Excluir os registros de pendência de convocação ativa (wms_conv_ativa) que possuam usuário executor onde este usuário executor não possua mais processos de movimento para as ordens de serviço/atividade processadas (tt_os_ativ_movimentos).
    2. Excluir os registros de pendência de convocação ativa (wms_conv_ativa) que não possuam usuário executor e também não existam mais processos de movimento para as ordens de serviço/atividade processadas (tt_os_ativ_movimentos).
    3. Semelhante ao item 3, contendo apenas exclusão.

      Segue sugestão de comandos SQL contendo todos os passos acima mencionados. Não foi utilizado RNL pois o processamento pode ocorrer para um volume considerável de ordens de serviço/atividade e a ideia é evitar a utilização de cursores para melhorar performance. Expandir origem
  • Alterar a função wms6435b_desalocar_movimento (desalocação) para que ao final da função seja chamada a função wms6435a_atualiza_conv_ativCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
      1. ativ(). Quando l_conv_ativa_atividade for (8,9,10), incluir também a atividade 14 (ressuprimento de picking).
      2. 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)

       

    1. Exclusão de pendência de convocação ativa de ressuprimento de picking.
      1. 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.

    2. Ajuste de pendência de convocação ativa de ressuprimento de picking com base em Ordem de Serviço/Atividade. 
      1. 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).

    3. Finalização de pendência de convocação ativa com base em Ordem de Serviço/Atividade. 
      1. 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.

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

    2. Alterar a função wmsr41_excluir_item_ressup(), está função é chamada pelas opções cancelamento do ressuprimento da central do planejador.
      1. 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.

    1. Sugestão de Implementação:

      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. 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.
      3. 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.
      4. 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.
      5. 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. 
      6. 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. 
      7. 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.

      1. WMS6435a;
      2. WMS6435b;
      3. WMS6435c;
        1. Nas funções acima incluir a atividade 14 nos pontos onde são informadas as atividades (8, 9, 10).
      4. A exclusão do ressuprimento está sendo tratada diretamente na função do WMSR41.

    WMS6631 - Alocação de Recurso

    Deverá excluir e gerar as

  • Alterar a função wms6435c_cria_temporarias para que seja criada uma nova temporária tt_os_ativ_movimentos. Esta nova temporária deverá conter os campos empresa CHAR(02)ordem_servico CHAR(17) e atividade CHAR(06). Seguir mesmos procedimentos existentes para a criação da temporária tt_movimentos. 
  • Criar uma nova função wms6435c_tt_os_ativ_movimentos_inclui. Esta nova função deverá incluir um novo regitro na tabela temporária tt_os_ativ_movimentos. Sendo assim, esta função deverá receber como parâmetro empresa CHAR(02)ordem_servico CHAR(17) e atividade CHAR(06). Só incluir um novo registro caso não exista um registro com as mesmas informações.
  • Criar uma nova função wms6435c_atualiza_conv_ativa. Replicar conteúdo da função wms6435a_atualiza_conv_ativ.
  • Alterar a função wms6435c_confirmar (alocação & realocação direta) para que logo após o loop nos processos de movimento END FOR e antes das operações de roolback ou commit (antes IF l_houve_erro THEN) seja feita chamada para função wms6435c_atualiza_conv_ativaCondicionar esta alteração a utilização da convocação ativa (m_utiliza_conv_ativa = 'S'
  • WMS6631 - Alocação de recursoObjetivo das alterações a serem realizadas: Excluir e gerar Sugestão de implementação:

    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.



    1. Alterar a função função wms663108a. As alterações a serem realizadas são as mesmas descritas para wms6435a.
    2. Alterar a função função wms663108b. As alterações a serem realizadas são as mesmas descritas para wms6435b.
    3. 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.