Árvore de páginas

 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.