Páginas filhas
  • ER LOGWMS01-716 ME 10 Separação Com Etiqueta 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

Projeto1

LOGWMS01

IRM1

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

Requisito1

Jira
serverJIRA Produção
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyLOGWMS01-716

Subtarefa1

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

Não se Aplica

Objetivo

 Realizar ajustes nas rotinas de separação e conferência para permitir a utilização do palete.

Definição da Regra de Negócio

 Aqui mapa mental utilizado como base

 

Na tabela a seguir serão listadas as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina.

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

WMS60018

Alteração

Contrato / Expedição - Separação/Conferência

 

WMS60030AlteraçãoFunção de cópia de contrato 

WMS6214

Alteração

Separação coletor

Ajuste para gravar o palete informado

WMSR41AlteraçãoSeparação no pickingAjuste para gravar o palete informado

WMSRXX1

Inclusão

RNL para validar palete informado na separação

 

WMSRXX2InclusãoRNL para validar/realizar processo de conferencia por palete 

1 - Ajustes no contrato - WMS60013

1.1 - Inclusão de parâmetros no processo de separação e conferência - WMS60018

Serão criados três parâmetros: 

  • Informa palete destino(inf_palete_destino_separacao): Quando marcado esse parâmetro o palete deverá ser informado em todo movimento de separação. Antes de informar a etiqueta de origem da coleta (pode ser uma identificação de estoque ou uma etiqueta de endereço quando a separação ocorrer em endereço de picking) será obrigatório informar o palete. Ele será gravado diretamente na tabela wms_identif_estoque correspondendo ao palete de cada ID separada. Deverá atender as mesmas regras de uso de palete existentes em outros pontos do sistema.

  • Permite conferência de palete(permite_conf_palete): Quando marcado esse parâmetro, em todos os processos de conferência de expedição (304,305,308,310,311,312,313,314) poderá ser informado o palete diretamente na tela principal no campo EAN/SKU. O palete será validado e a conferência dos itens será realizada conforme o parâmetro "Modo conferência palete".

  • Modo conferência palete (modo_conf_palete): Esse parâmetro só poderá ser preenchido quando marcado o parâmetro "Permite conferência palete". Ele irá indicar qual a forma de conferência que poderá ser utilizada. As opções são:
    • Somente pede confirmação: após bipar o palete, envia mensagem para o usuário "Confirma a conferência do palete XXXXXXX como XX SKUs?" já com o campo de resposta como S. Em caso afirmativo, todos os itens do palete serão listados como conferidos. Caso contrário, volta para a tela principal do processo de conferência em questão.
    • Informa quantidade total de SKUapós bipar o palete, abre tela onde deverá ser informada a quantidade total de SKUs do palete independente do item. Não será permitida informar uma quantidade de caixas diferentes da que compõe o palete. Não será exibida a quantidade esperada em nenhuma tecla, caso seja necessário identificar essa informação deverá ser utilizado o WMS6170(desktop) ou WMS6181(coletor) pesquisando pelo palete. Se o palete possuir algum item que não controla SKU, automaticamente, caso essa opção esteja marcada, será utilizada a opção 3"Informa itens e quantidade".
    • Informa itens e quantidadeapós bipar o palete, abre uma tela para informar o código do item e na sequencia a quantidade total do mesmo no palete. A cada item será validado essa informação e não poderá ser informado novamente o mesmo código do item. Apenas quando todos os itens do palete forem conferidos é que o estoque do palete será conferido. Caso ocorra uma interrupção ou queda de sinal nesse processo, será necessário iniciar novamente a conferência do palete.

Os parâmetros serão gravados na seguinte estrutura:

TABELA: WMS_PARAMETRO_SEPARACAO
CampoDescriçãoTipo

Obrigatório

Campo novo?
EmpresaCódigo da empresaCHAR(02)
  •   
Não
DepositanteCódigo do depositanteCHAR(15)
  •   
Não
....    
informa_quantidade_conferenciaIndica como será realizada a conferência dos itensCHAR(01)
  •   
Não
permt_plnjt_endereco_nao_docaIndica se permite ou não planejar a conferência para endereços diferentes de doca/statgeCHAR(01)
  •   
Não
...    

inf_palete_destino_separacao

Informa o palete destino no processo de separaçãoCHAR(01)
  •   
Sim
permite_conf_paletePermite realizar a conferência informando o paleteCHAR(01)
  •   
Sim
modo_conf_paleteIndica o modo que será realizada a conferência do paleteCHAR(01)
  •   
Sim


 Na sequencia, será exibida a imagem demonstrando como ficará a tela de parametrização:

 

1.2 - Ajustes na cópia do contrato - WMS60030 

Alterar a função wms60030_copia_contrato para ler os novos campos criados relacionados ao contrato de origem da cópia e gravar os valores lidos para para o contrato destino da cópia.

2 - Ajustes na rotina de separação - WMS6214

No processo de separação, quando acessar a tela indicando a origem da separação, deverá solicitar o palete antes da etiqueta de estoque.

Na função wms6214_inicia_movimento existem duas telas que são chamadas:

  • WMS62143 - Etiqueta Origem - Controla SKU 
  • WMS6214k - Etiqueta Origem - Não Controla SKU. 

Criar duas novas telas com base nas atuais, onde serão excluídos os campos área e tipo de estoque que são exibidos atualmente para permitir a inclusão do campo palete destino, conforme imagem a seguir:


Para realizar a validação da utilização do palete informado, criar duas funções dentro da nova RNL WMSRXX1:

  • WMSRXX1_valida_palete: será chamada após informar o palete(after field do campo). Valida apenas o palete informado, sem saber a relação dele com o estoque que será colocado sobre o mesmo. Deverá ser validado se o mesmo pode ser utilizado seguindo as mesmas regras do WMS6182, campo palete receptor.

     

    Bloco de código
    titleExemplo da validação
    collapsetrue
    1) Remover enter no campo 
     
    Criar função idêntica a essa dentro da RNL 
    CALL wms6182_remove_enter(m_identif_palete) 
    RETURNING m_identif_palete   
     
    2) Verificar caracteres especiais 
    
    IF m_identif_palete MATCHES "*'*"
               OR m_identif_palete MATCHES "*""*"
               OR m_identif_palete MATCHES "*%*"
               OR m_identif_palete MATCHES "*(*"
               OR m_identif_palete MATCHES "*)*"
               OR m_identif_palete MATCHES "*=*"
               OR m_identif_palete MATCHES "*|*"
               OR m_identif_palete MATCHES "*<*"
               OR m_identif_palete MATCHES "*>*" THEN
                  LET m_titulo     = 'Divis/Fusao estoque'
                  LET m_sub_titulo = 'Palete receptor invalido.'
                  LET m_msg        = 'Nao e permitido informar caracteres especiais no palete receptor.'
                  CALL wms6085_help(m_titulo, m_sub_titulo, m_msg)
                  CURRENT WINDOW IS w_WMS6182_principal
                  NEXT FIELD m_identif_palete
               END IF 
     
    3) Verificação de inventário no palete 
    #rotina para verificar se o palete esta em processo de inventario 
            IF wmsr51_f2_verifica_emp_palet(p_cod_empresa, m_identif_palete) THEN
               LET m_titulo     = 'Divis/Fusao estoque'
               LET m_sub_titulo = ''
               CALL wms6085_help(m_titulo, m_sub_titulo, 'Nao e possivel realizar divisao/fusao de estoque, pois o palete possui identificacoes de estoque que estao em processo de inventario.')
               CURRENT WINDOW IS w_WMS6182_principal
               NEXT FIELD m_identif_palete
            END IF 
     
    4) Verificar se o palete informado é curinga ou permite usar qualquer etiqueta (Cria curinga com o palete) 
    # Validar se o receptor é uma etiqueta curinga
               IF wmsm53_wms_etiq_curinga_leitura(p_cod_empresa,m_identif_palete,TRUE,1) THEN
                  # Se atender estas condições a etiqueta não pode ser utilizada
                  IF wmsm53_wms_etiq_curinga_get_dat_habil() IS NULL THEN
                     LET m_titulo     = 'Divis/Fusao estoque'
                     LET m_sub_titulo = 'Palete receptor invalido'
                     LET m_msg        = 'A etiqueta informada nao esta habilitada.'
                     CALL wms6085_help(m_titulo, m_sub_titulo, m_msg)
                     CURRENT WINDOW IS w_WMS6182_principal
                     NEXT FIELD m_identif_palete
                  END IF
               ELSE
                  IF m_indica_aceita_etiq_nao_cadas = 'S' THEN
                     IF wmsm53_wms_etiq_curinga_leitura(p_cod_empresa,m_identif_cedente,TRUE,1) THEN
                        LET l_endereco         = wmsm53_wms_etiq_curinga_get_endereco()
                     END IF
                     IF wmsm133_wms_identif_estoque_leitura(p_cod_empresa,m_identif_cedente,TRUE,1) THEN
                        CALL wmsm53_wms_etiq_curinga_set_ctr_ent_sai_veic(wmsm133_wms_identif_estoque_get_ctr_ent_sai_veic_docum())
                        CALL wmsm53_wms_etiq_curinga_set_deposit(wmsm133_wms_identif_estoque_get_depositante())
                     END IF
                     CALL wmsm53_wms_etiq_curinga_set_dat_habil(TODAY)
                     CALL wmsm53_wms_etiq_curinga_set_empresa(p_cod_empresa)
                     CALL wmsm53_wms_etiq_curinga_set_endereco(l_endereco)
                     CALL wmsm53_wms_etiq_curinga_set_etiq_curinga(m_identif_palete)
                     CALL wmsm53_wms_etiq_curinga_set_etiq_pallet(m_identif_palete)
                     CALL wmsm53_wms_etiq_curinga_set_identif('P')
                     CALL wmsm53_wms_etiq_curinga_set_item(m_cod_item)
                     CALL wmsm53_wms_etiq_curinga_set_livre_1(NULL)
                     CALL wmsm53_wms_etiq_curinga_set_livre_2(NULL)
                     CALL wmsm53_wms_etiq_curinga_set_livre_3(NULL)
                     CALL wmsm53_wms_etiq_curinga_set_livre_4(NULL)
                     CALL wmsm53_wms_etiq_curinga_set_livre_5(NULL)
                     CALL wmsm53_wms_etiq_curinga_set_livre_6(NULL)
                     CALL wmsm53_wms_etiq_curinga_set_lote_geracao(1)
                     CALL wmsm53_wms_etiq_curinga_set_sku(l_sku)
                     CALL wmsm53_wms_etiq_curinga_set_utiliz('S')
                     #LET m_etiqueta_tem_estoque = FALSE
                     IF NOT wmst53_wms_etiq_curinga_inclui(TRUE,1) THEN
                        LET m_titulo     = 'Divis/Fusao estoque'
                        LET m_sub_titulo = 'Etiqueta curinga'
                        LET m_msg        = 'Problemas na inclusao da etiqueta curinga.'
                        CALL wms6085_help(m_titulo, m_sub_titulo, m_msg)
                        CURRENT WINDOW IS w_WMS6182_principal
                        NEXT FIELD m_identif_palete
                     END IF
                  ELSE
                     LET m_titulo     = 'Divis/Fusao estoque'
                     LET m_sub_titulo = 'Etiqueta curinga'
                     LET m_msg        = 'Nova identificacao de estoque nao cadastrada como etiqueta curinga.'
                     CALL wms6085_help(m_titulo, m_sub_titulo, m_msg)
                     CURRENT WINDOW IS w_WMS6182_principal
                     NEXT FIELD m_identif_palete
                  END IF
               END IF
            END IF
    
  • WMSRXX1_valida_palete_com_id: antes de executar o processamento, deverá ser validado novamente, se foi possível utilizar o palete para o processo em questão, similar ao que é realizado no WMS6182 após preencher todos os campos da tela. Nesse ponto, será validado o palete e a ID que o mesmo será atrelado, seja ela física ou virtual.

    Bloco de código
    titleExemplo da validação
    collapsetrue
    Fazer novamente todas as validações da função WMSRXX1_valida_palete   
     
    Utilizando já o palete e ID que será colocada no palete   
     
    1) Verificar se o Palete já está sendo usado como ID de estoque de outra ID que não a separada
    WHENEVER ERROR CONTINUE
               SELECT DISTINCT 1
                 FROM estoque_lote_ender
                WHERE estoque_lote_ender.cod_empresa = p_cod_empresa
                  AND estoque_lote_ender.identif_estoque = m_identif_palete
                  AND qtd_saldo > 0
               WHENEVER ERROR STOP
               IF sqlca.sqlcode = 0 THEN
                  LET m_titulo     = 'Divis/Fusao estoque'
                  LET m_sub_titulo = 'ID cedente'
                  LET m_msg        = 'Palete unico nao pode receber outra ID.'
                  CALL wms6085_help(m_titulo, m_sub_titulo, m_msg)
                  CURRENT WINDOW IS w_WMS6182_principal
                  NEXT FIELD m_identif_palete
               END IF 
    
    2) Verificar depositante do palete 
    IF wmsm117_wms_palete_get_deposit() <> m_deposit THEN
                  LET m_titulo     = 'Divis/Fusao estoque'
                  LET m_sub_titulo = 'Palete receptor invalido.'
                  LET m_msg        = 'Palete receptor informado nao pertence ao mesmo depositante da identificacao cedente.'
                  CALL wms6085_help(m_titulo, m_sub_titulo, m_msg)
                  CURRENT WINDOW IS w_WMS6182_principal
                  NEXT FIELD m_identif_palete
               END IF
     

     

O palete informado nesse processo será gravado no campo palete da tabela wms_identif_estoque da identificação de estoque que está sendo separada no movimento.

Ajustar o programa para executar o processo utilizado GET e SET sem precisar passar mais parâmetros para as funções.

As funções wmsr27_gera_palete_com_identif_estoque e wmsr18_divisao_fusao_estoque deverão utilizar o palete informado em tela para a criação do palete.

É necessário alterar também a  wmsr41_separacao_picking que chama as funções wmsr27_gera_palete_com_identif_estoque e wmsr18_divisao_fusao_estoque.

Verificar parametrização que deve ser passada para a função: wmsr18_set_m_verifica_divisao_estoque

OBS: apenas lembrar que ao consultar o estoque no WMS6170 pelo equipamento ou palete o mesmo poderá ser visualizado conforme executado na separação.

3 - Ajustes na rotina de conferência - WMS6242

Em todos os programas de conferência, na tela de processamento, no campo EAN/SKU, será possível bipar um palete para realizar a conferência automática do mesmo.

3.1 - Validações no palete informado, antes de realizar a conferência

Para realizar a validação da utilização do palete informado, serão criadas algumas funções dentro da nova RNL WMSRXX2:

  • WMSRXX2_valida_palete_conf_doc: essa função será responsável por validar o palete informado nos processos de conferencia por documento, ou seja, 304 - Manual coletor, 305 - Manual PDV, 308 - Automática coletor, 310 - Automática PDV, 314 - Semi Auto coletor
    • Recebe o palete e a solicitação de carga
    • Valida se existe saldo no palete que está reservado para outra solicitação de carga, em caso afirmativo, envia mensagem: "Não é possível realizar a conferencia desse palete. Existe reserva para mais de um documento."

      Bloco de código
      languagecpp
      titleExemplo da validação
      collapsetrue
      -- Verifica se o palete possui alguma reserva para outra SC
      SELECT DISTINCT 1 
       FROM wms_palete
      INNER JOIN wms_identif_estoque
         ON wms_identif_estoque.empresa =  wms_palete.empresa
        AND wms_identif_estoque.palete =  wms_palete.palete
      INNER JOIN est_loc_reser_end
         ON est_loc_reser_end.cod_empresa = wms_identif_estoque.empresa
        AND est_loc_reser_end.identif_estoque = wms_identif_estoque.IDENTIF_ESTOQUE 
      WHERE wms_palete.empresa = '44' -- Empresa corrente
      AND wms_palete.palete  = '644161110093108381' --Palete em questão
      AND EXISTS (SELECT 1 
                    FROM wms_solic_carga_item_reserva
                   WHERE wms_solic_carga_item_reserva.empresa = est_loc_reser_end.cod_empresa
                     AND wms_solic_carga_item_reserva.reserva = est_loc_reser_end.num_reserva
                     AND wms_solic_carga_item_reserva.tip_reserva = 'E' -- Apenas reservas de estoque
                     AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre <> 73247) -- Número da SC que está sendo conferida

       

  • WMSRXX2_valida_palete_conf_plano:essa função será responsável por validar o palete informado nos processos de conferencia por plano, ou seja, 311- Automática coletor, 312- Automática PDV, 313 - Automática coletor com volume embarque

    • Recebe o palete e o plano de separação
    • Valida se existe saldo no palete que está reservado para outro plano, em caso afirmativo, envia mensagem: "Não é possível realizar a conferencia desse palete. Existe reserva para mais de um plano."

      Bloco de código
      languagecpp
      titleExemplo da validação
      collapsetrue
      -- Verifica se o palete possui alguma reserva para outro plano 
       
      SELECT DISTINCT 1 FROM wms_palete 
       INNER JOIN wms_identif_estoque 
          ON wms_identif_estoque.empresa = wms_palete.empresa 
         AND wms_identif_estoque.palete = wms_palete.palete 
       INNER JOIN estoque_lote_ender 
          ON estoque_lote_ender.cod_empresa = wms_identif_estoque.empresa 
         AND estoque_lote_ender.identif_estoque = wms_identif_estoque.IDENTIF_ESTOQUE 
        LEFT JOIN est_loc_reser_end 
          ON est_loc_reser_end.cod_empresa = wms_identif_estoque.empresa 
         AND est_loc_reser_end.identif_estoque = wms_identif_estoque.IDENTIF_ESTOQUE 
        LEFT JOIN estoque_loc_reser 
          ON est_loc_reser_end.cod_empresa = estoque_loc_reser.cod_empresa 
         AND est_loc_reser_end.num_reserva = estoque_loc_reser.num_reserva 
       WHERE wms_palete.empresa = '44' -- Empresa corrente 
         AND wms_palete.palete = '644090828140540007' --Palete em questão 
       GROUP BY estoque_lote_ender.qtd_saldo 
      HAVING estoque_lote_ender.qtd_saldo <> sum(estoque_loc_reser.qtd_reservada) 
      


  • WMSRXX2_valida_palete_estoque_sem_reserva: Valida se existe saldo de estoque no palete que não está reservado, em caso afirmativo, envia mensagem: "Não é possível realizar a conferencia desse palete. Existe estoque sem reserva."

    Bloco de código
    languagecpp
    titleExemplo da validação
    collapsetrue
    -- Verifica se o palete possui alguma quantidade que não está reservada 
    SELECT DISTINCT 1 FROM wms_palete 
     INNER JOIN wms_identif_estoque 
        ON wms_identif_estoque.empresa = wms_palete.empresa 
       AND wms_identif_estoque.palete = wms_palete.palete 
     INNER JOIN estoque_lote_ender 
        ON estoque_lote_ender.cod_empresa = wms_identif_estoque.empresa 
       AND estoque_lote_ender.identif_estoque = wms_identif_estoque.IDENTIF_ESTOQUE 
      LEFT JOIN est_loc_reser_end 
        ON est_loc_reser_end.cod_empresa = wms_identif_estoque.empresa 
       AND est_loc_reser_end.identif_estoque = wms_identif_estoque.IDENTIF_ESTOQUE 
      LEFT JOIN estoque_loc_reser 
        ON est_loc_reser_end.cod_empresa = estoque_loc_reser.cod_empresa 
       AND est_loc_reser_end.num_reserva = estoque_loc_reser.num_reserva 
     WHERE wms_palete.empresa = '44' -- Empresa corrente 
       AND wms_palete.palete = '644090828140540007' --Palete em questão 
     GROUP BY estoque_lote_ender.qtd_saldo 
    HAVING estoque_lote_ender.qtd_saldo <> sum(estoque_loc_reser.qtd_reservada)
    

     

  • WMSRXX2_valida_estoque_palete_pendente_conferencia: Valida se o estoque do palete está pendente para realizar a conferência. Todos os itens do palete, incluindo os dimensionais, devem estar pendentes de conferência.
     

    Bloco de código
    languagecpp
    titleExemplo da validação
    collapsetrue
    - Cada processo de conferência terá sua validação diferenciada. 
    - Ideia é fazer um cursor com os itens/dimensionais do palete e validar se os mesmos podem ser conferidos utilizando a função padrão de cada tipo de conferencia   FAZER DESCRITIVO

3.2 - Realizando a conferência do palete

Deverá ser criada uma função WMSRXX2_confirma_conf_palete que será utilizada em todos os processos de conferência.

Essa função deverá receber os seguintes parâmetros: empresa, depositante, palete, SC, plano (SC ou plano dependendo do tipo de conferência)

Tendo por base Essa função irá abrir as telas necessárias para a realização da conferência do palete, sendo ele coletor ou desktop e levando em conta o modo de conferência de palete, configurado a nível de empresa e depositante, no parâmetro "Permite conferência palete" será iniciado o  do contrato.

Essa função deverá receber os seguintes parâmetros:

  • Empresa: empresa corrente
  • Depositante: depositante do processo de conferência
do palete.Somente pede confirmação: envia mensagem para
  • Tipo da conferência: Coletor ou desktop 
  • Programa chamador: Informação que será utilizada para montar o título das mensagens de coletor
  • Palete: Código do palete que está sendo conferido
  • Número da solicitação de carga: Informação enviada nos processos de conferência por documento
  • Plano de separação: Informação enviada quando o processo de conferência for por plano

Poderão ser configuradas 3 opções de conferência de palete:

3.2.1 - Somente pede confirmação: envia mensagem para o usuário solicitando a confirmação. Respondendo Sim, o sistema irá realizar o processamento da conferência do palete

(

chamando a função WMSRXX2_processa_conf_palete

)

. Respondendo não, volta para a tela inicial do processo de conferência em questão.

 

Bloco de código
languagecpp
titleExemplo da validação
collapsetrue
Para os programas de coletor, utilizar a mensagem padrão:

Coletor: wms6085_tela_confirmacao(TITULO,SUBTITULO,MENSAGEM). O campo titulo deve ser preenchido com o nome de cada programa chamador
Para os programas desktop,

 
Desktop: utilizar mensagem em tela (log0040_confirm(6,10,MENSAGEM)), já com a opção SIM selecionada

Na sequencia, segue telas exemplificando o processo.

Image Modified            

Image Removed

 

I

 


                                                    Image Added


3.2.2. - Informa

nforma

quantidade total de SKU:

 Antes

antes de abrir essa tela,

verifica

deve ser verificado se algum dos itens do palete não controla SKU. Se existir algum dos itens que não controla SKU, automaticamente, será aberta a tela para informar os itens e quantidade (opção descrita no item 3.2.3), ou seja, apenas quando todos os itens do palete controlarem SKU essa opção poderá ser utilizada.Essa opção envia mensagem para o usuário solicitando a quantidade de SKUs presentes no palete. O mesmo deverá responder a quantidade total e ela será validada em relação a quantidade esperada

.

, criar a função WMSRXX2_valida_qtd_palete. Quando informada uma quantidade diferente da esperada será enviada uma mensagem informando "Quantidade de SKUs informada é diferente da quantidade esperada" e volta para o campo Qtd SKUs

 

.

Bloco de código
languagecpp
titleExemplo da validação
collapsetrue
--Verifica se algum dos itens do palete não controla SKU
SELECT DISTINCT 1
 FROM wms_palete, 
      wms_identif_estoque, 
      wms_item_complemento
WHERE wms_palete.empresa =  wms_identif_estoque.empresa
AND wms_palete.palete =  wms_identif_estoque.palete
AND wms_identif_estoque.empresa =   wms_item_complemento.empresa
AND wms_identif_estoque.item =   wms_item_complemento.item
AND wms_palete.empresa = '44' --empresa corrente
AND wms_palete.palete =  '644090828140540007' --palete em questão
AND controla_sku = 'N' --indicativo de controle de SKU


--Verifica a quantidade de SKUs do palete
SELECT sum(wms_identif_estoque.QTD_ORIGEM /wms_item_sku.qtd_item) 
 FROM wms_palete, 
      wms_identif_estoque,
      wms_item_sku
WHERE wms_palete.empresa =  wms_identif_estoque.empresa
AND wms_palete.palete =  wms_identif_estoque.palete
AND wms_identif_estoque.empresa =   wms_item_sku.empresa
AND wms_identif_estoque.item =   wms_item_sku.item
AND wms_identif_estoque.sku =   wms_item_sku.sku
AND wms_palete.empresa = '44' --empresa corrente
AND wms_palete.palete =  '644090828140540007' -- palete em questão

 

Essa opção envia mensagem para o usuário solicitando a quantidade de SKUs presentes no palete. O mesmo deverá responder a quantidade total e ela será validada 

 

  • Respondendo Sim, o sistema irá realizar o processamento da conferência do palete (WMSRXX2_processa_conf_palete). Respondendo não, volta para a tela inicial do processo de conferência em questão

 
__________________________________
Para os programas utilizar a mensagem padrão:

Coletor: wms6085_help(TITULO,SUBTITULO,MENSAGEM). O campo titulo deve ser preenchido com o nome de cada programa chamador

Desktop: log0030_processa_mensagem

Na sequencia, segue telas exemplificando o processo.

Image Added                                                             Image Added

  • 3.2.3 - Informa itens e quantidadeapós bipar o palete, abre uma tela para informar o código do item e na sequencia a quantidade total do mesmo no palete. A cada item será validado essa informação e não poderá ser informado novamente o mesmo código do item. Apenas quando todos os itens do palete forem conferidos é que o estoque do palete será conferido. Caso ocorra uma interrupção ou queda de sinal nesse processo, será necessário iniciar novamente a conferência do palete.
     

 

 

 3.3 - Realizando a conferência do palete - Função de conferência

WMSRXX2_processa_conf_palete

 

 

 

Opcional

Protótipo de Tela

 

<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

 

Protótipo 01

 

 

 

 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

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

 

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