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 |
| |
Chamado2 |
| ||
País | (X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
- Permitir a troca de identificação de estoque automática para determinados tipos de Estrutura.
- Efetuar troca automática de identificações que utilizam empilhamento para a ultima da pilha.
Definição da Regra de Negócio
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
- 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.
- 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 |
WMS6215 | Alteração |
| RNL - Realizar troca de identificação na separaçã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. - WMS6215
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.
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á verificar se o endereço de origem do processo de movimentação possui funcionalidade cadastrada com o campo Permitir troca automática de identificação na separação como "S" - Sim. Caso o campo Permitir troca automática de identificação na separação estiver informado como "N" - Não , deverá retornar true para que o programa chamador da função continue executando normalmente.
Quando o campo Permitir troca automática de identificação na separação estiver informa 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.
Quando encontrar 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 funcao 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 o palete anterior na pilha 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 mesmo já reservado pelo processo de movimentação. Após efetuar a troca ou manter o mesmo registro caso não seja possível trocar retornar true na funçã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 movimentação da pilha
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 conforme o select do exemplo. Para cada identificação encontrada deverá ser chamado a nova funcão criada wms6215_valida_efetua_troca_identif pasando como parametro a empresa, identificação de estoque origem (identificação encontrada no select), identificação de estoque nova (iidentificação recebida como parametro na funcao wms6215_busca_identif_endereco_troca , processo de movimento encontrado no select, caso a funcao chamada retorne true, deverá finalizar o foreach retornando true para o programa princial, caso contrario buscar as proximas identificações, Caso nao seja possivel efetuar a troca por nenhuma das identificações deverá retornar false.
Em todo o processamento acima utilizar nos erros ocorridos utilizar a funcaolog0030_processa_mensagem
Para
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
Protótipo 01
Prototipo 02
Opcional
Fluxo do Processo
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. |
---|