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 | ||||||||||||
Projeto1 | LOGWMS01 | IRM1 |
| ||||||||||
Requisito1 |
| 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 |
|
WMS60030 | Alteração | Função de cópia de contrato | |
WMS6214 | Alteração | Separação coletor | Ajuste para gravar o palete informado |
WMSR41 | Alteração | Separação no picking | Ajuste para gravar o palete informado |
WMSRXX1 | Inclusão | RNL para validar palete informado na separação |
|
WMSRXX2 | Inclusão | RNL 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 SKU: apó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 quantidade: apó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 | ||||
Campo | Descrição | Tipo | Obrigatório | Campo novo? |
Empresa | Código da empresa | CHAR(02) | Não | |
Depositante | Código do depositante | CHAR(15) | Não | |
.... | ||||
informa_quantidade_conferencia | Indica como será realizada a conferência dos itens | CHAR(01) | Não | |
permt_plnjt_endereco_nao_doca | Indica se permite ou não planejar a conferência para endereços diferentes de doca/statge | CHAR(01) | Não | |
... | ||||
inf_palete_destino_separacao | Informa o palete destino no processo de separação | CHAR(01) | Sim | |
permite_conf_palete | Permite realizar a conferência informando o palete | CHAR(01) | Sim | |
modo_conf_palete | Indica o modo que será realizada a conferência do palete | CHAR(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.
- 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.
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.
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
Para realizar a validação da utilização do palete informado, criar XXX 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: "Nao e possivel realizar a conferencia desse palete. Existe reserva para mais de um documento."
- 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: "Nao e possivel realizar a conferencia desse palete. Existe reserva para mais de um plano."
- WMSRXX2_valida_palete_estoque_sem_reserva: Valida se existe saldo de estoque no palete que não está reservado, em caso afirmativo, envia mensagem: "Nao e possivel realizar a conferencia desse palete. Existe estoque sem reserva."
- 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.
language | cpp |
---|---|
title | Exemplo da validação |
collapse | true |
Bloco de código language cpp title Exemplo da validação collapse true -- 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: "Nao e possivel realizar a conferencia desse palete. Existe reserva para mais de um plano."
Bloco de código language cpp title Exemplo da validação collapse true -- 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 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, wms_conferencia_separacao 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.empresa = wms_conferencia_separacao.empresa AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = wms_conferencia_separacao.TRANS_SOLICITACAO_CARGA_MESTRE AND wms_conferencia_separacao.TIP_CONFERENCIA = 'P' --Apenas as solicitações de carga do plano que possuem conferência por plano AND wms_conferencia_separacao.PLANO_SEPARACAO = '2870') -- Número do plano
que está sendo conferido
WMSRXX2_valida_palete_estoque_sem_reserva: Valida se existe saldo de estoque no palete que não está reservado, em caso afirmativo, envia mensagem: "Nao e possivel realizar a conferencia desse palete. Existe estoque sem reserva."
Bloco de código language cpp title Exemplo da validação collapse true -- 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.
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. |
---|