Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 

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

PIMSCANA

Módulo

CUSTAG

Segmento Executor

Agroindústria

Projeto1

AGRO PIMS

IRM1 

AGRPIMS01-142

Requisito1

AGRPIMS01-143

Subtarefa1 

AGRPIMS01-184

Chamado2

 

País

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

(   x ) USA  (  ) Colombia   (  ) Outro _: Peru____________.

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

Desenvolvimento da Reescrever e refatorar a rotina de processamento de orçamento de operações agroindustriais em ambiente java-server.

 

<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.

agroindustrial em linguagem Java, na plataforma PIMSServer, para obter maior performance em comparação com o processo atual desenvolvido em Centura.

 

(Obrigatório)

Definição da Regra de Negócio

 

<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

 

<Na tabela abaixo informe quais são 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>A rotina de processamento de orçamento é divida em fases de processamento, cada fase é uma sub-rotina com objetivos específicos. Logo a especificação será detalhada em fases.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[

ACAA040 – Parâmetros

Processamento de Orçamento]

[Alteração]

[

Atualizações -> Acadêmico-> Tesouraria

Processamento / Orçamento]

-

[ACAA050 – Negociação Financeira]

[Envolvida]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

[Atualizações -> Acadêmico-> Cadastros]

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

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

 

 

 Image Removed

 

 

 

 

 

 

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

 

 

A rotina de processamento do orçamento é dividida em fases de processamento, cada fase é uma sub-rotina e contém um objetivo, logo a especificação será detalhada em fases.

 

Fase 0 – Pré-Processamento

 

O pré-processamento consiste em gerar a tabela PLC_CC_COMPO_ORG e verificação de operações sem grupo de custeio em PLANOPER, como não são cálculos complexos eles devem ficar no centura e não serão reescritos.

 

Fase 1 – Captação de matrizes no PLATIV

 

A primeira parte desta fase é parametrizada, ela pode seguir dois caminhos, o primeiro é a captação dos planejamentos por local e a transformação em matriz do custag. Como é possível ver abaixo existem dois SQL’s que são responsáveis por obter o header da matriz e os detalhes, então é possível realizar apenas um SQL com todas essas informações e inseri-las nas matrizes.

 

Image Added

 

 

Já o segundo caminho desta fase é a captação dos planejamentos por local e a transformação desses registros em valores operacionais, pulando a etapa da geração de matrizes. No CENTURA é realizado um insert (PLCOPER) com select (PA_OPLOC_REC).

 

Image Added

 

Mas esse tipo de operação pode apresentar problemas de performance com grandes quantidades de informações (+200k de registros), e depois de realizado o comando acima, é feito um select recuperando apenas alguns componentes que precisam ser valorizados.

 

Image Added

 

Para evitar essas duas operações é necessário transforma-las em apenas uma, mas tomando o cuidado com grandes quantidades de informações. Selecione os registros de todos os componentes, mas limitando o resultado em 15k por vez, valorizar os componentes e inseri-los em PLCOPER.

 

A segunda parte desta fase é a captação das matrizes do PLATIV e a inserção em matriz do CUSTAG. No centura é um insert com select, mas como o histórico não é de grandes quantidades de informações, não é necessário realizar nenhum modificação, apenas reescrever essa parte.

 

Fase 2 – Captação dos planejamentos operacionais PLATIV

 

Essa fase também é dividida em duas etapas, e ambas etapas são bem simples, a primeira é uma seleção de registros em PA_OPLOC_REC mas apenas por operação e a inserção em PLANOPER e a segunda é uma seleção em PA_PLGLOB*** e inserção em PLANOPER, em ambas as etapas não é necessária nenhuma modificação, apenas reescrever estas partes.

 

Fase 3 – Verificar índices de COMP_VAL

 

Fase responsável por recuperar todos os registros de COMP_VAL e verificar os índices econômicos desta tabela, não é necessário modificar a sua estrutura, apenas reescrever a fase.

 

Fase 4 – Apropriações diretas

 

Nessa fase é recuperado os valores de APROPDIR e serão transportados para PLCPRIM e PLCRCTA, ao realizar o transporte é calculado os índices dos valores de APROPDIR.

No centura era recuperado a data de APROPDIR e ela era modificada para ser o primeiro dia do mês, então para agilizar o processo e diminuir a quantidade de registros verificados, realizar um TRUNC no banco de dados.

 

 

Image Added

Fase 5 – Geração de PLCOPER a partir de PLANOPER

 

Está fase é dividida em duas etapas, a primeira é a geração da PLCOPER partindo dos registros de PLANOPER, para cada registro é feita uma busca de matrizes. A segunda etapa é uma seleção da própria PLCOPER mais apenas dos componentes do tipo Q, para gerar os valores operacionais dos equipamentos que trabalharam, a partir dessa seleção é feita a mesma busca de matrizes.

No centura o código está replicado, reescrever essas duas etapas em uma só, reutilizando o código.

 

Image Added

Image Added

 

 

Fase 6 – Geração de PLCOPER para componentes derivados

 

Fase responsável por gerar os componentes derivados em PLCOPER, ela está dividida em duas etapas, a primeira etapa é a geração dos componentes derivados de componentes do tipo encargo. No centura é um select e insere cada registro na PLCOPER, então recomendo realizar um insert com select já que não são muitas informações a serem inseridas.

 

Image Added

 

Já a segunda etapa é uma geração de componente derivados onde a forma de derivação é de equipamentos, é uma rotina que também valoriza os componentes gerados, não é necessário mudar a sua estrutura, apenas reescreve-la.

 

Fase 7 – Geração de PLCCCEQ a partir de PLCOPER

 

Fase que gera o histórico de produção dos componentes equipamento e mão de obra. No centura é selecionado os registros e acumulado os valores de produção no primeiro dia de cada mês. Para melhorar a performance é preciso realizar um trunc, diminuindo consideravelmente a quantidade de registros e diminuindo processamento.

 

Image Added

 

Fase 8 - Geração de PLCPRIM a partir de PLCOPER

 

Está fase gera os valores primários a partir dos valores operacionais. No centura é feito uma seleção em PLCOPER e para cada registro é verificado se ele é do tipo derivado para procurar o centro de custo origem. Depois dessa verificação é realizado uma busca em PLCPRIM usando a chave primaria para saber se o registro já existe.

 

Image Added

 

Construir um select que já traga o centro de custo correto para os componentes derivados e também já traga os valores corretos para realizar um update em PLCPRIM nas chaves que já existam. Desta forma evita-se vários selects que diminuem drasticamente a performance do processo.

 

Fase 9 - Geração de PLCPRIM a partir de PLCOPER

 

Está fase gera os valores rateados por conta a partir dos valores operacionais. No centura é feito uma seleção em PLCOPER e para cada registro é realizado uma busca em PLCRCTA usando a chave primaria para saber se o registro já existe.

 

 

Image Added

Construir um select que já traga os valores corretos para realizar um update em PLCRCTA nas chaves que já existam. Desta forma evita-se vários selects que diminuem drasticamente a performance do processo.

 

 

Fase 10 - Gerando bases de rateio calculadas

 

Fase que recupera as bases de rateio calculadas e calcula o seu fator. É possível refatorar os SQLs e funcionalidades que recuperam e calculam o fator, como essa fase está dividida em etapas, é necessário juntar os SQLs e reaproveitar as funcionalidades que estão reescritas no código e que são iguais para essas etapas.

Image Added

 

Image Added

 

 

Fase 11 - Gerando rateio de contas para centro de custo

 

Essa fase ira ratear as contas em centro de custo, necessário realizar alguns ajustes na estrutura do código, recuperar as bases de rateio no momento da execução da seleção principal, tornando o processo mais rápido.

Image Added

Fase 12 - Gerando contas derivadas

 

Fase que deve gerar as contas derivadas a partir de CTA_CSTO.CD_CTA_ORI em PLCPRIM.CD_CONTA, reescrever a rotina e incluir a inserção e atualização de dados em lote.

 

Fase 13 - Calculando pré-rateio bases calculadas e definidas

 

Reescrever a rotina que faz checagens e monta as tabelas PLCPRERAT e PLCPREVAL que serão a origem dos dados para rateio.

 

Fase 14 - Rateando bases calculadas e definidas

 

Essa fase irá ratear os valores de base calculada e definida que foram previamente montados na fase 8. É necessário adaptar a chamada do RATEIO32.DLL via ambiente PIMSServer, essa fase utiliza a leitura e escrita de arquivos de texto, logo é preciso criar essa funcionalidade no PIMSServer.

 

Fase 15 - Gerando histórico de valores secundários

 

Nessa fase serão gerados os dados de valores secundários e primários a partir de PLCPRIM e PLCRAT, é preciso refatorar essa rotina para não realizar uma checagem se o registro já existe em PLCSEC e realizar a inserção de dados em lote.

 

Image Added

 

 

Fase 16 – Valorização de PLCCCEQ

 

Realizar um select de PLCSEC e efetuar um update em PLCCCEQ, modificar o select principal para recuperar os componentes derivados e realizar a derivação.

 

Fase 17 - Calculando valor unitário de componentes do tipo equipamento

Fase 18 - Calculando valor unitário de componentes do tipo mão de obra

 

Ambas as fases serão apenas reescritas, o objetivo é calcular o valor unitário de cada tipo de componente, após encontrar esse valor é preciso realizar uma atualização em lote de todos os registros em PLCOPER.

 

Image Added

Image Added 

Fase 19 – Ajuste de rateio nos valores unitários de equipamentos

 

Essa fase ajusta os rateios para centro de custos de equipamento, isso acontece por causa do qualificador que pode deixar o custo de rateio diferente do operacional, não será necessário modificar a estrutura da fase, apenas reescreve-la.

 

Fase 20 – Valorização de unitários de componentes derivados

 

Modificar o select principal para truncar a data, diminuindo a quantidade de registros e já calcular a derivação no select.

 

Image Added 

 

Fase 21 - Atualizando valor médio do período processado

 

Fase que atualiza PLCOPER com o valor médio por componente no período processado. No centura essa fase está em 3 etapas, por tipo de componente, construir uma forma de uma única rotina realizar o cálculo do valor médio de todos componentes.

 

Image Added 

 

Image Added 

 

 

 

Image Added 

 

Fase 22 - Calculando pré-rateio bases auto-definidas

Fase 23 - Rateando bases auto-definidas

Fase 24 - Gerando histórico de valores secundários por base auto-definida

Fase 25 - Calculando pré-rateio bases pós auto-definidas

Fase 26 - Rateando bases pós auto-definidas

Fase 27 - Gerando histórico de valores secundários por base pós auto-definida

 

Todas essas fases devem seguir o mesmo modelo das fases 8, 9 e 10 apenas atentando as regras que cada uma tem, como a validação de rateio de base auto-definida enviando para calculada/definida.

Fase 28 – Atualização de taxa fixa

 

Remover essa fase, por que ela realiza uma update em PLCOPER jogando o VL_CONSUM em VL_TAXFIX, então é mais fácil que em qualquer insert ou update em PLCOPER, modificar o VL_TAXFIX com o valor de VL_CONSUM.

 

Fase 29 – Gerando valores adquiridos - parte 1

Fase 30 - Gerando valores adquiridos - parte 2

 

Em ambas as rotinas atuais são feitas seleções por centro de custo e para cada centro de custo é feita uma busca de valores em cada origem de valor adquirido, é necessário refatorar as seleções principais para recuperar todas as origens de valores adquiridos de uma só vez e realizar a inserção de todos os valores em lote.

 

Image Added 

 

Image Added 

 

Protótipo de Tela

 

 

 

 

(

 

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