Páginas filhas
  • ER DLOGWMSOL-300 Empilhamento Tratar FEFO BRA

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 

 

 

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

  

Informações Gerais

 

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>

Especificação

Produto

LOGIXLogix

Módulo

WMS

Segmento Executor

Supply Chain

Projeto1

LOGWMS01

IRM1 

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

Requisito1

DLOGWMS-300 - Configuração - Empilhamento tratar FEFO

LOGWMS01-1002-709 - [WMS] - ME 2 - Empilhamento tratar FEFO

Subtarefa1

 

Chamado2

LOGWMS01-1002 - Gerar Especificação - ME 2 

País

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

Outros

.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Objetivos

  • Permitir a troca de identificação de estoque automática para determinados tipos de Estrutura.
  • Efetuar a troca automática de identificações que utilizam empilhamento para a ultima última identificação da pilha.

 

Definição da Regra de Negócio


 

Image Removed

Image Added

       

Criar um novo parâmetro no contrato do depositante , dentro da opção Expedição -Separação/Conferência, para informar se efetua validação para as datas de validade e/ou produção conforme o mês e ano. Este parâmetro será utilizado durante as validações para troca de identificação de estoque no momento da separação. 

Criar um novo campo no cadastro de estruturas para informar se permite troca automática de identificação de estoque na separação. Este parâmetro será utilizado na rotina de separação para indicar se permite ou não efetuar a troca automática de identificação de estoque.

Será alterado o programa de separação para que quando o usuário selecione o processo de movimentação a ser separado, o sistema deverá fazer as seguintes validações:

  • Verificar se o tipo de estrutura do endereço de origem da separação está parametrizado para fazer troca de identificação.
  • Verificar se a identificação de estoque que está relacionada ao processo de movimentação possui empilhamento

 

  1. Se a identificação possuir empilhamento:
  •  Verificar se é a última da pilha, caso não for buscar pela ultima identificação da pilha
  • Ao encontrar a ultima identificação deverá efetuar validação para verificar se é possível efetuar a troca da identificação que estava abaixo na pilha pela última.  Durante esta validação deverá ser verificado se o parâmetro cadastrado no contrato do depositante “Permite quebra fifo” está demarcado. Se estiver desmarcado será verificado também para efetuar as validações de FIFO o novo parâmetro criado “Valida ...”  Neste caso será validado somente o mês ano de data de produção e validade desconsiderando o dia.

 

  1. Se a identificação não possuir empilhamento

 

  • Será solicitado a identificação e estoque, quando o usuário bipar a identificação e não for a mesma reservada para o processo de movimentação, deverá validar se é possível efetuar a troca da identificação reservada pela bipada, seguindo a regra já existente para troca de identificação, porém validando os parâmetros abaixo:
  •  
  • Deverá ser verificado se o parâmetro cadastrado no contrato do depositante p parâmetro “Permite quebra fifo” está demarcado. Se estiver desmarcado será verificado também para efetuar as validações de FIFO o novo parâmetro criado “Valida ...”  Neste caso será validado somente o mês ano de data de produção e validade desconsiderando o dia.
  • Caso o parâmetro cadastrado no contrato do depositante p parâmetro “Permite quebra fifo” estiver marcado seguirá a regra existente para efetuar a troca da identificação de estoque.

 

Quando o item possuir controle de dimensional por data de validade e/ou data de produção e , o parâmetro "Verifica data Validade/Produção por mês e ano troca identificação" estiver marcado,  será validado durante a troca de identificação de estoque se a identificação a ser trocada possui o mesmo Mês e Ano de validade e/ou Produção.

 

 

 

 

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

WMS60018

Alteração

 

Contrato do Depositante - Opção Expedição-Separação/Conferência

WMS60100

Alteração

 

Tipo de Estrutura

WMSM103

Alteração

 

DML - Tabela WMS_Tipo_estrutura

WMS6215

Alteração

 

RNL - Realizar troca de identificação na separação

WMS6214Alteração Programa de Separação
WMS6353Alteração Função de separação por endereço

 

 

 

WMS60018 - Contrato do Depositante - Opção Expedição-Separação/Conferência
Incluir o campo Verifica data Validade/ Produção por mês e ano troca identificação? abaixo do campo Permite quebra FIFO troca identificação. Este campo deverá ficar inativo se o campo Permite quebra FIFO troca identificação for marcado. Gravar o valor deste novo campo ("S" ou "N") na tabela WMS_PARAMETRO_COMPLEMENTAR, utilizando como código de parâmetro o valor "valid_prd_mes_ano".
WMS60100 - Tipo de Estrutura
Incluir o campo Permitir troca automática de identificação na separação no cadastro de estruturas. Este campo deverá ficar abaixo do campo Utilizar drop point ressuprimento. Gravar o valor deste campo ("S", "N") na tabela WMS_TIPO_ESTRUTURA no novo campo criado ies_troca_automatica_identif. 
WMSM103 - DML tabel wms_tipo_estrutura
Alterar a função WMSM103 para considerar o novo campo criado ies_troca_automatica_identif. 
WMS6215 
4.1. Criar uma nova função wms6215_verifica_endereco_movimento(). Esta função deverá receber como parâmetro a empresa , processo de movimentação e endereço. Quando o endereço vier nulo no parametro, esta função deverá buscar o endereço de origem do processo de movimentação e o tipo de estrutura do endereço de origem. Quando o endereço vier preenchido buscar o tipo de estrutura do endereços recebido como parâmetro na função. Para o tipo de estrutura encontrado deverá fazer a leitura da tabela wms_tipo_estrutura através da função wmsm103_wms_tipo_estrutura_leitura, recuperando a informação do novo campo ies_troca_automatica_identif. Se o campo estiver informado como "S" retornar TRUE se estiver informado como 'N" retornar false
4.2.Criar uma nova função wms6215_valida_efetua_troca_identif, esta função deverá receber como parâmetro empresa, identificação de estoque origem, identificação de estoque nova,  processo de movimento. Nesta função deverá ser feito todas as validações ja existentes na função wms6215_valida_troca_identif e também as validações da função wms6215_informa_identif_troca, após efetuar a validação deverá ser efetuado uma chamada para a função já existente wms6215_processa_troca_identif para efetuar a troca da reserva da identificação de estoque. Esta função deverá retornar true ou false.
4.3. Criar uma nova função wms6215_busca_empilhamento_troca que deverá ser executada através do WMS6214 , quando for selecionado o movimento. 
Este nova função deverá receber como parâmetro a empresa e processo de movimento. Esta função deverá fazer a validação se o endereço de origem do processo de movimentação está marcado para efetuar troca de identificação. Para fazer esta verificação utilizar a nova função criada  wms6215_verifica_endereco_movimento() 
Quando a função  wms6215_verifica_endereco_movimento() retornar true indicando que o campo Permitir troca automática de identificação na separação está informado com "S" fazer a seguinte regra:
  •  Verificar se a identificação de estoque possui alguma identificação empilhada sobre ela. Para fazer esta busca fazer select com foreach na tabela wms_palete buscando pelo palete da identificação de estoque do processo de movimentação e verificar se este palete está preenchido co campo palete_empilhamento, caso não encontre dados retornar true para o programa chamador para que processo continue. Se encontrar registro pegar o campo palete do registro encontrado e o campo palete_empilhamento e alimentar em uma tabela temporária , alimentando um campo com um numero sequencial das sequencias da pilha encontrada, fazer a mesma regra até que não encontre o palete no campo palete_empilhamento.Quando o campo palete_empilhamento não estiver preenchido será o ultimo palete da pilha. 

  • Após, ler os dados da temporária alimentada acima em ordem decrescente dos dados pelo campo sequencia. Para cada palete encontrado fazer um foreach da identificações de estoque do palete na tabela wms_identif_estoque e para cada identificação encontrada executar a nova função criada  wms6215_valida_efetua_troca_identif passando como parâmetro empresa, identificação de estoque origem (identificação do processo de movimento), identificação de estoque nova (identificação do ultimo palete da pilha),  processo de movimento . Se o retorno da função wms6215_valida_efetua_troca_identif for false, buscar a próxima identificação de estoque e assim consecutivamente até que seja possível efetuar a troca de reserva ou o palete encontrado na pilha seja o  mesmo já reservado pelo processo de movimentação. 

  • Esta função deverá retornar true , conseguindo trocar ou mantendo o mesma identificação ja reservada. Somente retornará false quando ocorrer erro de select.

  •  

    Abaixo uma figura com o exemplo da regra de busca dos dados da pilha:

     Image Removed

     

    4.3. Criar uma nova função wms6215_busca_identif_endereco_troca, esta função será executada quando o modo de separação estiver por endereço. Esta função deverá receber como parâmetro empresa, lista de separação, endereço, identificação de estoque. Esta função deverá buscar todas as identificações de estoque reservada para a lista e endereço recebido no parâmetro. Executar a chamada da nova função  wms6215_verifica_endereco_movimento() para verificar se o tipo de estrutura do endereço de origem esta marcado para permitir troca automática de identificação de estoque. Caso não permitir deverá retornar true para que o programa chamador da função continue executando normalmente.

    4.4. Caso o campo Permitir troca automática de identificação na separação  estiver informado como "S" Sim, deverá ser chamado a nova função criada wms6215_valida_efetua_troca_identif passando como parâmetro a empresa,  identificação de estoque origem (identificação encontrada no select), identificação de estoque nova (identificação recebida como parâmetro na funcao wms6215_busca_identif_endereco_troca ,  processo de movimento encontrado no select, caso a função chamada retorne TRUE, deverá finalizar o foreach retornando TRUE para o programa principal, caso contrário buscar as próximas identificações, Caso não seja possível efetuar a troca por nenhuma das identificações deverá mostrar mensagem ao usuario informando que "Não foi possível efetuar a troca automática da identificacao" e retornar false. 

    4.5. Alterar a função wms6215_carrega_parametros para inserir a leitura do novo parametro criado no contrato do depositante "Verifica data Validade/Produção por mês e ano troca identificação", 

     

    Exemplo:

    WHENEVER ERROR CONTINUE
    SELECT val_flag
    INTO m_valid_prd_mes_ano
    FROM wms_parametro_complementar
    WHERE empresa = l_empresa
    AND depositante = l_depositante
    AND nom_parametro = "valid_prd_mes_anoi"
    AND contrato = l_contrato
    WHENEVER ERROR STOP
    IF sqlca.sqlcode <> 0
    AND sqlca.sqlcode <> 100 THEN
    CALL log0030_processa_err_sql("SELECT", "wms_parametro_complementar.valid_prd_mes_ano",1)
    CALL wms6215_help(NULL, log0030_mensagem_get_texto())
    RETURN FALSE
    END IF

    IF m_valid_prd_mes_ano IS NULL OR mvalid_prd_mes_ano= " " THEN
    LET m_valid_prd_mes_ano = "N"
    END IF
    IF m_valid_prd_mes_ano IS NULL OR m_valid_prd_mes_ano = " " THEN
    LET m_valid_prd_mes_ano = "N"
    END IF

     

    4.6. Alterar a função wms6215_valida_nova_identif na leitura dos dimensionais no select da tabela estoque_lote_ender para verificar se a variável m_permite_quebra_fifo está como "N". Se estiver como N, indica que nao permite a quebra de FIFO dos dimensionais na troca da identificação, neste caso deverá ser validado também o novo parâmetro criado no contrato do depositante Verifica data Validade/ Produção por mês e ano troca identificação?, se estiver informado como "S" , deverá ser alterado o SELECT que valida os dimensionais para validar no lugar a data completa de produção e validade somente o mê e ano. Neste caso se existirem datas diferentes porém o més e ano é igual permite e troca. 

     

    Aviso
    titleObservação

    Exemplo select para busca das identificações de estoque e processos de movimentação do endereço

    SELECT wms_processo_moviment.processo_moviment,
    wms_processo_moviment.identif_estoque
    FROM wms_onda_separacao_item,
    wms_processo_moviment
    WHERE wms_processo_moviment.empresa = wms_onda_separacao_item.empresa
    AND wms_processo_moviment.processo_moviment = wms_onda_separacao_item.processo_moviment
    AND wms_onda_separacao_item.empresa = '44'
    AND wms_onda_separacao_item.num_lista_separacao = 2381
    AND wms_processo_moviment.endereco_origem = 1
    AND wms_processo_moviment.sit_processo_moviment IN ('PE','NI')

    AND wms_processo_moviment.endereco_origem = '1'

     

     

     

    4. wms6214

    Quando no contrato do depositante está selecionado o modo de separação "por movimentos" , quando for pressionado ENTER no movimento, deverá ser efetuado as seguintes alterações:

    Alterar o programa wms6214 na função  wms6214_exibe_array_movimentos para que na tecla <return> quando o usuário pressiona enter e o campo Status_movto está <> 'No equipamento"  antes de fazer a chamada da função wms6214_carrega_informacaoes_movimento inserir uma chamada para a nova função criada  wms6215_busca_empilhamento_troca para buscar se o item possui empilhamento e efetuar a troca se necessário conforme detalhes da função wms6215_busca_empilhamento_troca. Após o retorno da função caso retorne false executar o exit display, caso contrário continua a execução do programa.

    Alterar a função wms6214_inicia_movimento no input incluir no AFTER FIELD etiq_destino quando a variavel l_etiqueta_entrada <> m_etiqueta_origem uma rotina para verificar se o tipo de estrutura do endereço do processo de movimento permite efetuar troca automática de identificação . Para isto deverá ser executado a nova função criada wms6215_verifica_endereco_movimento() passando como parâmetro a empresa e processo de movimento , caso esta função retorne FALSE continuar o processamento normalmente. quando retornar TRUE deverá ser executado a nova função criada wms6215_valida_efetua_troca_identif, enviar como parâmetro parâmetro empresa, identificação de estoque origem, identificação de estoque nova,  processo de movimento. Caso a função retorne true, devera ser alimentado a variável m_etiqueta_origem com o mesmo valor da etiqueta informada e continuar o processo de separação. Caso a função retorne false não altera os valores das variáveis e continuar o processo atual.

     

    5. WMS6353 - Função de separação por endereço

    Alterar a função wms6353_informa_dados_etiq_end para efetuar a chamada da nova função criada wms6215_busca_identif_endereco_troca, antes da chamada da função wms6353_valida_identificacao. quando a nova função wms6215_busca_identif_endereco_troca retornar FALSE, deverá mostrar a seguinte mensagem ao usuario: "Não foi possivel efetuar a troca automatica da identificação. " e deverá executar o comando NEXT FIELD identif_estoque. 

     

     

     

    Tabelas Utilizadas

    • SE2 – Cadastro de Contas a Pagar
    • FI9 – Controle de Emissão de DARF>.

    Opcional

    Protótipo de Tela

     

     

     

    Protótipo 01

     

    Image Removed

     

    Prototipo 02 

    Image Removed

     Image Removed

     

     

     

     

     

     

    Opcional

    Fluxo do Processo

     

    Image Removed

    Opcional

    Dicionário de Dados

     

    Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

      

    Índice

    Chave

    01

    <FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

    02

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

    03

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

    Campo

    <AAA_PERESP>

    Tipo

    <N>

    Tamanho

    <6>

    Valor Inicial

    <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

    Mandatório

    Sim (  ) Não (  )

    Descrição

    <Referência Mínima para Cálculo>

    Título

    <Ref.Calc.>

    Picture

    <@E999.99>

    Help de Campo

    <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

     

    (Opcional)

    Grupo de Perguntas

     

    <Informações utilizadas na linha Protheus>.

     

    Nome: FINSRF2

    X1_ORDEM

    01

    X1_PERGUNT

    Emissão De

    X1_TIPO

    D

    X1_TAMANHO

    8

    X1_GSC

    G

    X1_VAR01

    MV_PAR01

    X1_DEF01

    Comum

    X1_CNT01

    '01/01/08'

    X1_HELP

    Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

     

    (Opcional)

    Consulta Padrão

    <Informações utilizadas na linha Protheus>

     

    Consulta: AMB

    Descrição

    Configurações de Planejamento

    Tipo

    Consulta Padrão

    Tabela

    “AMB”

    Índice

    “Código”

    Campo

    “Código”; ”Descrição”

    Retorno

    AMB->AMB_CODIGO

     


    Abaixo um fluxo do processo de separação:



    Image Added

     

     

    Rotina

    Tipo de Operação

    Opção de Menu

    Regras de Negócio

    WMS60018

    Alteração

     

    Contrato do Depositante - Opção Expedição-Separação/Conferência

    WMS60030

    Alteração

     

    Função Cópia Contrato do Depositante

    WMS60100

    Alteração

     

    Tipo de Estrutura

    WMSM103

    Alteração

     

    DML - Tabela WMS_Tipo_estrutura

    WMS6215

    Alteração

     

    RNL - Realizar troca de identificação na separação

    WMS6214Alteração Programa de Separação
    WMS6353Alteração Função de separação por endereço

     

     

    1. WMS60018 - Contrato do Depositante - Opção Expedição-Separação/Conferência

      Incluir o campo Verifica data validade/ produção por mês e ano troca identificação? abaixo do campo Permite quebra FIFO troca identificação.
      Este campo deverá permanecer inativo se o campo Permite quebra FIFO troca identificação for marcado. 

      Gravar o valor deste novo campo ("S" ou "N") na tabela WMS_PARAMETRO_SEPARACAO no novo campo criado verif_vld_prd_mes_ano_troca_id.


    2. WMS60030 - Função copia informações relacionadas ao contrato

      Alterar a função wms60030_copia_contrato para ler o novo campo criado verif_vld_prd_mes_ano_troca_id referente ao contrato de origem da cópia e gravar o valor lido para para o contrato destino da cópia.


    3. WMS60100 - Tipo de Estrutura

      Incluir o campo Permitir troca automática de identificação na separação no Cadastro de Estruturas.
      Este campo deverá permancecer abaixo do campo Utilizar drop point ressuprimento.
      Gravar o valor deste campo ("S", "N") na tabela WMS_TIPO_ESTRUTURA, no novo campo criado permite_troca_auto_id. 

    4. WMSM103 - DML tabela wms_tipo_estrutura

      Alterar a função WMSM103 para considerar o novo campo criado permite_troca_auto_id

    5. WMS6215 - Realizar troca de identificação na separação

      5.1. Criar uma nova função wms6215_verifica_endereco_movimento.
      Esta função deverá receber como parâmetro a empresa, processo de movimentação e endereço.
      Quando o endereço vier nulo no parâmetro, esta função deverá buscar o endereço de origem do processo de movimentação e o tipo de estrutura do endereço de origem.
      Quando o endereço vier preenchido buscar o tipo de estrutura do endereço recebido como parâmetro na função.
      Para o tipo de estrutura encontrado deverá efetuar a leitura da tabela wms_tipo_estrutura pela função wmsm103_wms_tipo_estrutura_leitura, recuperando a informação do novo campo permite_troca_auto_id. Se o campo estiver informado como "S" retornar TRUE; se estiver informado como "N" retornar FALSE.

      5.2.Criar uma nova função wms6215_valida_efetua_troca_identif.
      Esta função deverá receber como parâmetro empresa, identificação de estoque nova, processo de movimento referente a ID de origem.
      Por meio do processo de movimento deverá buscar a identificação de estoque de origem.
      Nesta função deverão ser efetuadas todas as validações já existentes na função wms6215_valida_troca_identif e também as validações da função wms6215_informa_identif_troca.
      Após efetuar a validação deverá ser efetuada uma chamada para a função já existente wms6215_processa_troca_identif, para efetuar a troca da reserva da identificação de estoque. Esta função deverá retornar TRUE ou FALSE.

      5.3. Criar uma nova função wms6215_busca_empilhamento_troca que deverá ser executada pelo WMS6214, quando for selecionado o movimento. 
      Esta nova função deverá receber como parâmetro a empresa e o processo de movimento.
      Esta função deverá efetuar a validação se o endereço de origem do processo de movimentação está marcado para efetuar troca de identificação.
      Para realizar esta verificação utilizar a nova função criada wms6215_verifica_endereco_movimento.
      Quando a função  wms6215_verifica_endereco_movimento retornar TRUE indicando que o campo Permitir troca automática de identificação na separação está informado com "S", realizar a seguinte regra:
      •  Verificar se a identificação de estoque possui alguma identificação empilhada sobre ela. Para efetuar esta busca fazer select com foreach na tabela wms_palete, buscando pelo palete da identificação de estoque do processo de movimentação e verificar se este palete está preenchido o campo palete_empilhamento. Caso não encontre dados, retornar TRUE para o programa chamador para que processo continue. Se encontrar registro pegar o campo palete do registro encontrado e o campo palete_empilhamento e alimentar em uma tabela temporária, alimentando um campo com um número sequencial das sequências da pilha encontrada. Utilizar a mesma regra até que não encontre o palete no campo palete_empilhamento. Quando o campo palete_empilhamento não estiver preenchido será o ultimo palete da pilha. 

      • Após, ler os dados da temporária alimentada acima em ordem decrescente dos dados pelo campo sequencia. Para cada palete encontrado fazer um FOREACH das identificações de estoque do palete na tabela wms_identif_estoque e para cada identificação encontrada executar a nova função criada  wms6215_valida_efetua_troca_identif, passando como parâmetro empresa, identificação de estoque origem (identificação do processo de movimento), identificação de estoque nova (identificação do ultimo palete da pilha),  processo de movimento . Se o retorno da função wms6215_valida_efetua_troca_identif for FALSE, buscar a próxima identificação de estoque e assim consecutivamente até que seja possível efetuar a troca de reserva ou o palete encontrado na pilha seja o  mesmo já reservado pelo processo de movimentação. 

      • Esta função deverá retornar TRUE, conseguindo trocar ou mantendo a mesma identificação já reservada. Somente retornará FALSE quando ocorrer erro de select.

    Abaixo figura com o exemplo da regra de busca dos dados da pilha:

     

    Image Added

    5.4. Criar uma nova função wms6215_busca_identif_endereco_troca.
    Esta função será executada quando o modo de separação estiver por endereço.
    Esta função deverá receber como parâmetro empresa, lista de separação, endereço, identificação de estoque.
    Também deverá buscar todas as identificações de estoque reservadas para a lista e endereço recebido no parâmetro.
    Executar a chamada da nova função  wms6215_verifica_endereco_movimento para verificar se o tipo de estrutura do endereço de origem esta marcado para permitir troca automática de identificação de estoque. Se não permitir deverá retornar TRUE para que o programa chamador da função continue executando normalmente.
    Se o campo Permitir troca automática de identificação na separação estiver informado como "S" Sim, deverá ser chamada a nova função criada wms6215_valida_efetua_troca_identif, passando como parâmetro a empresa, identificação de estoque origem (identificação encontrada no select), identificação de estoque nova (identificação recebida como parâmetro na função wms6215_busca_identif_endereco_troca), processo de movimento encontrado no select; Caso a função chamada retorne TRUE, deverá finalizar o foreach retornando TRUE para o programa principal; caso contrário buscar as próximas identificações,
    Caso não seja possível efetuar a troca por nenhuma das identificações deverá mostrar mensagem ao usuário informando que "Não foi possível efetuar a troca automática da identificação" e retornar FALSE.

    Bloco de código
    languagesql
    titleExemplo select para busca das identificações de estoque e processos de movimentação do endereço
    collapsetrue
    SELECT wms_processo_moviment.processo_moviment,
    wms_processo_moviment.identif_estoque
    FROM wms_onda_separacao_item,
    wms_processo_moviment
    WHERE wms_processo_moviment.empresa = wms_onda_separacao_item.empresa
    AND wms_processo_moviment.processo_moviment = wms_onda_separacao_item.processo_moviment
    AND wms_onda_separacao_item.empresa = '44'
    AND wms_onda_separacao_item.num_lista_separacao = 2381
    AND wms_processo_moviment.endereco_origem = 1
    AND wms_processo_moviment.sit_processo_moviment NOT IN ('FI','CA', 'AT')
    AND wms_processo_moviment.endereco_origem = '1'

     

    5.5. Alterar a função wms6215_carrega_parametros para inserir a leitura do novo parâmetro criado no contrato do depositante Verifica data Validade/Produção por mês e ano troca identificação.

     

    Bloco de código
    languagesql
    titleExemplo
    collapsetrue
    WHENEVER ERROR CONTINUE
           SELECT verif_vld_prd_mes_ano_troca_id
             INTO m_verif_vld_prd_mes_ano_troca_id
             FROM wms_parametro_separacao
            WHERE empresa     = l_empresa
              AND depositante = l_depositante
         WHENEVER ERROR STOP
         IF sqlca.sqlcode <> 0 THEN
            CALL log0030_processa_err_sql("SELECT", "wms_parametro_separacao", 1)
            CALL wms6215_help("Erro busca parametros", NULL)
            RETURN FALSE
         END IF
      IF m_ verif_vld_prd_mes_ano_troca_id IS NULL OR m_ verif_vld_prd_mes_ano_troca_id= ' ' THEN
         LET m_verif_vld_prd_mes_ano_troca_id = 'N'
      END IF
     
     

     

    5.6. Alterar a função wms6215_valida_nova_identif na leitura dos dimensionais no select da tabela estoque_lote_ender para verificar se a variável m_permite_quebra_fifo está como "N" (Não).
    Se estiver como N, indica que não permite a quebra de FIFO dos dimensionais na troca da identificação. Neste caso deverá ser validado também o novo parâmetro criado no contrato do depositante Verifica data validade/ produção por mês e ano troca identificação?.
    Se estiver informado como "S", deverá ser alterado o SELECT que valida os dimensionais para validar no lugar a data completa de produção e validade somente o mês e ano. Neste caso, se existirem datas diferentes porém o mês e ano são iguais, permite e troca. 

     

    6. WMS6214 - Programa de Separação

    Quando no contrato do depositante está selecionado o modo de separação por movimentos, quando for pressionado ENTER no movimento deverão ser efetuadas as seguintes alterações:

    Alterar o programa wms6214 na função wms6214_exibe_array_movimentos para que na tecla <return> quando o usuário pressiona ENTER e o campo Status_movto está <> 'No equipamento"  antes de efetuar a chamada da função wms6214_carrega_informacaoes_movimento inserir uma chamada para a nova função criada  wms6215_busca_empilhamento_troca, para buscar se o item possui empilhamento e efetuar a troca, se necessário, conforme detalhes da função wms6215_busca_empilhamento_troca. Após o retorno da função, caso retorne FALSE, executar o exit display; caso contrário continua a execução do programa.

    Alterar a função wms6214_inicia_movimento, no input incluir no AFTER FIELD etiq_destino quando a variavel l_etiqueta_entrada <> m_etiqueta_origem uma rotina para verificar se o tipo de estrutura do endereço do processo de movimento permite efetuar troca automática de identificação .Para isso, deverá ser executado a nova função criada wms6215_verifica_endereco_movimento(), passando como parâmetro a empresa e processo de movimento. Caso esta função retorne FALSE continuar o processamento normalmente; quando retornar TRUE deverá ser executada a nova função criada wms6215_valida_efetua_troca_identif, enviar como parâmetro parâmetro empresa, identificação de estoque origem, identificação de estoque nova,  processo de movimento. Caso a função retorne TRUE, devera ser alimentada a variável m_etiqueta_origem com o mesmo valor da etiqueta informada e continuar o processo de separação. Caso a função retorne FALSE não altera os valores das variáveis e continuar o processo atual.

     

    7. WMS6353 - Função de Separação por Endereço

    Alterar a função wms6353_informa_dados_etiq_end para efetuar a chamada da nova função criada wms6215_busca_identif_endereco_troca, antes da chamada da função wms6353_valida_identificacao. Quando a nova função wms6215_busca_identif_endereco_troca retornar FALSE, deverá mostrar a seguinte mensagem ao usuário: "Não foi possível efetuar a troca automática da identificação." e deverá executar o comando NEXT FIELD identif_estoque.

     

    Protótipo de Tela

    Protótipo 01

    Image Added 

     

    Protótipo 02 

    Image Added

     

     

    Dicionário de Dados

     

    TABELA ALTERADA: WMS_PARAMETRO_SEPARACAO
    NOME
    DESCRIÇÃO
    TIPOOBRIGATÓRIOCAMPO NOVO?
    EMPRESAEmpresaCHAR(02)
    •   
    NÃO
    DEPOSITANTECódigo do depositanteCHAR(15)
    •   
    NÃO
    ...    

    PERMT_QUEB_FIFO_TROC_IDEN

    Permite quebra FIFO troca identificaçãoCHAR(01)
    •   
    NÃO
    ...    
    VERIF_VLD_PRD_MES_ANO_TROCA_ID Verifica data Validade/Produção por mês e ano troca identificaçãoCHAR(01)
    •   
    SIM
    TABELA ALTERADA: WMS_TIPO_ESTRUTURA
    NOME
    DESCRIÇÃO
    TIPOOBRIGATÓRIOCAMPO NOVO?
    TIP_ESTRUTURATipo de estruturaSMALLINT
    •   
    NÃO
    ...    

    sit_estrutura

    Situação EstruturaSMALLINT
    •   
    NÃO
    ...    
    PERMITE_TROCA_AUTO_IDPermite troca automática de identificação na separaçãoCHAR(01)
    •   
    SIM
         

     

     

    (Opcional)

    Estrutura de Menu

     

    <Informações utilizadas na linha Datasul>.

     

    Procedimentos

     

    Procedimento

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Módulo

     

     

     

    Programa base

     

     

     

    Nome Menu

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Registro padrão

    Sim

    Sim

    Sim

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Release de Liberação

     

     

     

     

     

     

    Programas

     

    Programa

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Nome Externo

     

     

     

    Nome Menu/Programa

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Nome Verbalizado[1]

    (Max 254 posições)

    (Max 254 posições)

    (Max 254 posições)

    Procedimento

     

     

     

    Template

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    Tipo[2]

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Categoria[3]

     

     

     

    Executa via RPC

    Sim/Não

    Sim/Não

    Sim/Não

    Registro padrão

    Sim

    Sim

    Sim

    Outro Produto

    Não

    Não

    Não

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Query on-line

    Sim/Não

    Sim/Não

    Sim/Não

    Log Exec.

    Sim/Não

    Sim/Não

    Sim/Não

    Rotina (EMS)

     

     

     

    Sub-Rotina (EMS)

     

     

     

    Localização dentro da Sub Rotina (EMS)

     

     

     

    Compact[4]

    Sim/Não

    Sim/Não

    Sim/Não

    Home[5]

    Sim/Não

    Sim/Não

    Sim/Não

    Posição do Portlet[6]

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    Informar os papeis com os quais o programa deve ser vinculado

     

     

     

     

    Cadastro de Papéis

    <O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

    <Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

     

    Código Papel

    (máx 3 posições)

    Descrição em Português*

     

    Descrição em Inglês*

     

    [1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

    [2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

    [3] Categorias são obrigatórias para os programas FLEX.

    [4] Obrigatório quando o projeto for FLEX

    [5] Obrigatório quando o projeto for FLEX

    [6] Obrigatório quando o projeto for FLEX

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