Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
(Obrigatório)
Informações Gerais
Especificação | |||
Produto | Datasul | Módulo | Compras |
Segmento Executor | Manufatura | ||
Projeto1 | MANMAT01 | IRM1 | MANMAT01-1092 |
Requisito1 | MANMAT01-1092 | Subtarefa1 | MANMAT01-1109 |
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).
(Obrigatório)
Objetivo
Permitir parametrizar tratamento para considerar somente dias úteis no cálculo da data de entrega da parcela da ordem de compra quando essa for sugerida ou atualizada automaticamente nos módulos de Compras, Cotações e Estoque.
(Obrigatório)
Definição da Regra de Negócio
Rotina | Tipo de Operação | Opção de Menu |
CC0104 | [Alteração] | Compras à Cadastros à Manutenção Parâmetros de Compras |
BOIN356 | [Alteração] | BO Tabela prazo-compra |
CC0301 | [Alteração] | Manutenção Ordem de Compra |
CE0601 | [Alteração] | Geração Ordens de Compra |
CD1406 | [Alteração] | Requisição/Solicitação |
CE0340 | [Alteração] | Geração Ordens de Compra/Estoque |
OC0201 | [Alteração] | Manutenção de Cotações |
CC0104 – MANUTENÇÃO PARÂMETROS DE COMPRAS
Incluir novo parâmetro na Manutenção dos Parâmetros de Compras (CC0104) para definir se o tratamento correspondente ao cálculo da data de entrega da parcela da ordem de compra deve desconsiderar sábado, domingo e feriado.
A opção será: Data de Entrega: considera somente dias úteis?
GERAÇÃO / SUGESTÃO DATA DE ENTREGA
Alterar todas as funções que calcula e sugere a data de entrega da parcela. Será considerado o Calendário da Produção para que seja possível identificar feriados, finais de semana e dias úteis:
Exemplo:
Data atual : 20/06/2016
Tempo de ressuprimento: 7 dias
Seg | Ter | Qua | Qui | Sex | Sab | Dom |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 |
|
|
|
|
Data de Entrega: considera somente dias úteis? | |
Não (desmarcado) | Sim (marcado) |
Data da Entrega = 27/06/2016 | Data da Entrega = 29/06/2016 |
Rotinas impactadas:
CC0301 – Ordem de Compra: quando o novo parâmetro estiver marcado, sugerir data de entrega calculada apenas com dias úteis. A tela de Split das ordens apresenta sempre a mesma data confirmada para a parcela.
OC0201 – Manutenção Cotações: quando o novo parâmetro estiver marcado, será aplicado novo calculo na opção de alterar datas nas parcelas.
CD1406 – Requisição/Solicitação: quando o novo parâmetro estiver marcado, sugerir data de entrega calculada apenas com dias úteis.
CC0300 – Pedido Emergencial: quando o novo parâmetro estiver marcado, sugerir data de entrega calculada apenas com dias úteis.
CC0325 – Geração de Ordens: as parcelas são geradas com data da requisição, que já será tratada no cd1406.
CE0341 – Geração Ordens de Compra/Estoque: as parcelas são geradas com base nas necessidades da ordem de compra. Quando o novo parâmetro estiver marcado, irá gerar a data de entrega da necessidade calculada apenas com dias úteis.
Requisito Não Atendido
- Não será aplicada nova regra para os pontos que utilizam o horizonte fixo;
- Não será desenvolvido calendário especifico para esse tratamento, será utilizado o Calendário Calendário da Produção;
- Não será alterado o cálculo da data de entrega gerada pelos módulos de Manufatura (Planejamento, APS, Configurador do Produto, Desenvolvimento do Produto, Produção e MRP).
Diagrama de Ação
CC0104 – MANUTENÇÃO PARÂMETROS DE COMPRAS
O novo parâmetro deve ser colocados dentro do retângulo “Data Entrega” da aba “Parâmetros 2” e devem apresentar como valor inicial desmarcado, conforme protótipo 1.
Gravação do campo:
Campo | Armazenamento | Valor |
Considera somente dias úteis? | param-compra.char-1,136,1 | “ ” = não (desmarcado) / “1” = sim (marcado) |
TRATAMENTO DATA DE ENTREGA
Exemplo:
/* alteração do código BOIN356CA */
assign nova-dt = today.
for first item-uni-estab fields(it-codigo cod-estabel res-cq-comp res-int-comp res-for-comp)
where item-uni-estab.cod-estabel = pcCodEstabel and
item-uni-estab.it-codigo = pcItCodigo no-lock: end.
if avail item-uni-estab then
assign dt-ressup = item-uni-estab.res-int-comp + item-uni-estab.res-for-comp.
else do:
for first item fields(it-codigo res-int-comp res-for-comp) where
item.it-codigo = pcItCodigo no-lock: end.
if avail item then
assign dt-ressup = item.res-int-comp + item.res-for-comp.
end.
IF substring(param-compra.char-1,136,1) = "1" THEN /* considera somente dias úteis */
/* executa a include com a nova lógica de cálculo */
IF substring(param-compra.char-1,136,1) = "" OR l-erro-calend THEN
ASSIGN nova-dt = today + dt-ressup.
ASSIGN pdt-entrega = nova-dt.
Sugestão: Criar uma include para realizar esse tratamento na data de entrega.
Definir variável de entrada para o estabelecimento e numero de dias de ressuprimento.
Retornar a data e se ocorreu erro.
assign nova-dt = TODAY.
i-cont = 0
l-erro-calend = no.
/* só executa se o novo parametro estiver marcado no param-compra */
REPEAT WHILE i-cont <> dias-ressup.
FIND FIRST calen-prod
WHERE calen-prod.cod-estabel = pcCodEstabel
AND calen-prod.data = nova-dt no-lock no-error.
IF AVAIL calen-prod THEN DO:
IF calen-prod.tipo-dia = 1 THEN /* dia útil */
ASSIGN i-cont = i-cont + 1.
END.
ELSE DO:
ASSIGN l-erro-calend = yes.
LEAVE. /* erro: não tem calen-prod cadastrado */
END.
ASSIGN nova-dt = nova-dt + 1.
END.
OC0201a-v01.w
Alterar nesse ponto:
RUN Get-Field-Screen-Value IN adm-broker-hdl
(INPUT this-procedure, INPUT "rs-atualiza-data":U).
/* assign da-atualiza = today + cotacao-item.prazo-entreg */
assign da-atualiza = today
i-atualiza = integer(return-value).
Executar a nova logica utilizando a variável “da-atualiza” para a data e a cotacao-item.prazo-entreg e i-dias-atualiza para o dias de ressuprimento.
Programas | Ponto da alteração |
BOIN356ca | Procedure calculaProximaParcelaPrazoCompra (nova-dt) |
BOIN356vl | Procedure atualizaQuantidadeParcela (da-atualiza). |
BOIN356sdfx | Procedure setDeliveryDate (pDataEntrega). |
CC0301b-v01 | Procedure local-add-record (nova-dt) |
CE0601.i1 | prazo-compra.data-entrega |
CD1406a1-v01 | it-requisicao.dt-entrega (LEAVE OF it-requisicao.it-codigo) |
CE0340.I1 | Procedure pi-pto-encomenda (necessidade-oc.data-entrega) |
CE0340.I2 | Procedure pi-pto-encomenda (necessidade-oc.data-entrega) |
Opcional
Protótipo de Tela
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
- Reserva de Campos livres:
Tabela: param-compra
12.1.13
Campo | Pos Ini | Pos Fim | Atributo Substituto | Descrição |
Char-1 | 136 | 136 | ? | Data Entrega: considera somente dia útil |
(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. |
---|