Histórico da Página
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 | PIMS CS | Módulo | CUSTAG |
Segmento Executor | Agroindústria | ||
Projeto1 | A_AGR_DES_CAN001 | IRM1 | PCREC-5097 |
Requisito1 | PCREQ-5098 | Subtarefa1 | PDR_AGR_CAN001-112 |
Chamado2 |
| ||
Release de Entrega Planejada | 12.1.9 | Réplica |
|
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
<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>.
Reescrever e refatorar a rotina de processamento de custos do CUSTAG em linguagem Java na plataforma PIMSServer para obter maior performance em comparação ao 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>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[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
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 de custos é divida 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
A fase do pré-processamento consiste em fazer checagens previas do processamento que de acordo com certas parametrizações é necessário abortar o processo. Sobre as funções existentes torna-se necessário apenas reescreve-las em java, incluindo a chamada de “Amortização de Entressafra”, que é necessária ser executada no pré-processamento dos custos.
Fase 1 - Gerando histórico de produção de operações (P, A)
Essa fase é dividida em duas etapas, a primeira é o histórico de produção de operações P e depois A. Ambas as seleções principais são parecidas, mudando apenas o flag de PLC_ENTR.FG_TIPO, logo é possível refatorar os SQL’s e junta-los para tornar as duas etapas em apenas uma. Ao realizar a inserção de dados é necessário usar a inserção em lote disponível na tecnologia java, ela torna a inserção de dados muito rápida.
Fase 2 - Gerando histórico de produção por c. custo equipto / mdo
Responsável por gerar o histórico de produção dos centros de custo do tipo equipamento e de mão-de-obra a partir da captação de entradas, é dividida em três etapas, na primeira é realizada a produção de centros de custo do tipo equipamento, depois de mão-de-obra fixa e mão-de-obra rural, e por ultimo o histórico de origens IP em PLC_ENTR onde não existam em PLCCCEQ. Manter as etapas nessa estrutura, mas é necessário refatorar as duas primeiras etapas, ambos SQL’s trazem os dados dia-a-dia, tornando necessário realizar uma checagem se o registro já existe em PLCCCEQ para executar uma atualização no registro. Isso deixa essas etapas lentas, para resolver esse problema é preciso retirar o agrupamento dos registros por data e sempre gravar o ultimo dia do processamento, já que não é necessário manter o histórico dia-a-dia. Realizar a inserção dos dados em lote.
Fase 3 - Gerando histórico de valores primários e a ratear por conta
Essa fase não necessita de nenhuma refatoração, apenas reescreve-la e realizar a inserção em lote.
Fase 4 - Gerando histórico de valores primários ( PLCCCEQ )
Essa fase parte da PLCCCEQ e calcula os valores diretos de centros de custo do tipo F e R para gravar em PLCPRIM, não é possível refatorar SQL’s, apenas as funções e suas estruturas internas, como reaproveitamento de código, por exemplo, a verificação de registros existentes em PLCPRIM, ela aparece quatro vezes no código, é possível torna-la genérica e usa-la nessas três situações. Incluir a inserção de dados em lote.
Fase 5 - 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.
Fase 6 - 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.
Fase 7 - 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 8 - 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 9 - 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 10 - 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.
Fase 11 - Gerando histórico de operações - recursos por operação
Rotina que gera a tabela PLCOPER, é preciso reformular o SQL para trazer na seleção principal as produções das operações quando o tipo do componente não for ‘Q’. Programar a inserção dos registros em lote para ter um maior desempenho.
Fase 12 - Gerando histórico de operações - recursos de equipamentos
Essa fase é responsável por gerar o histórico de equipamentos na PLCOPER a partir de PLC_ENTR, deve-se reescrever a rotina em java, de acordo com a regra de negócio não é possível eliminar as atualizações em PLCOPER, mas é possível identificar na seleção principal quais registros devem sofrer atualizações ou serem inseridos no banco. Após realizar essa checagem, devem-se realizar as atualizações e inserções em lote.
Fase 13 - Calculando valor unitário de componentes do tipo equipamento
Fase 14 - Calculando valor unitário de componentes do tipo mdo rural
Fase 15 - Calculando valor unitário de componentes do tipo mdo fixa
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.
Fase 16 - Calculando componentes do tipo derivado
Essa rotina gera componentes derivados a partir dos componentes de PLCOPER, na rotina atual é feita uma seleção dos registros de PLCOPER e registro a registro é verificado se ele contém componente derivado, alterar e reescrever a rotina para na seleção principal de registros recuperarem apenas componentes que contenham componentes derivados.
Fase 17 - Atualizando valores de rateio (médio)
Recuperar valores médios de PLCOPER de componentes do tipo ‘Q’ e atualizar em PLCRAT, efetuando as atualizações em lote.
Fase 18 - Valorizando mão-de-obra de manutenção automotiva
Reescrever a rotina para selecionar registros em PLCOPER onde o componente seja do tipo ‘F’ e inseri-los na tabela CST_MDO_MANUT.
Fase 19 - Calculando pré-rateio bases auto-definidas
Fase 20 - Rateando bases auto-definidas
Fase 21 - Gerando histórico de valores secundários por base auto-definida
Fase 22 - Calculando pré-rateio bases pós auto-definidas
Fase 23 - Rateando bases pós auto-definidas
Fase 24 - 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 25 - Deletando registros de componentes com base de rateio definida/pós auto-definida
Fase que gera log dos componentes que tem centro de custo relacionado a bases definida e pós auto-definida, esses registros serão apagados de PLCOPER.
Fase 26 – Gerando valores adquiridos - parte 1
Fase 27 - 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.
Fase 28 - Rateio de valores indiretos a equipamentos
Reescrever a rotina atual de rateio de valores indiretos de equipamentos e incluir a chamada da rotina de rateio configurável.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[Processamento de Custos] | [Alteração] | [Processamento -> Custos] | - |
(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
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|