Árvore de páginas

 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

MICROSIGA PROTHEUS

Módulo

 SIGACFG

Segmento Executor

 Framework

Projeto1

 M_FRM001

IRM1    

 PCREQ-5715

Requisito1

 PCREQ-7805

Subtarefa1

PDR_FRM_FRM001-890

Release de Entrega Planejada

 P11/P12

Réplica

 

País

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

(  ) USA  (  ) Colombia   ( x ) Todos

Outros

 

  

Objetivo

 

 Diminuir o tempo de execução da ferramenta de atualização de dicionários e base de dados UPDDISTR

 

 

Definição da Regra de Negócio

 

A ferramenta UPDDISTR é utilizada para atualização de dicionários e base de dados do Protheus. Seu uso é obrigatório para migração de releases no novo conceito de release incremental. O tempo de execução é crítico para muitos clientes, pois durante a execução o sistema deve permanecer fora de uso. A melhoria em questão usou de várias estratégias, visando principalmente a diminuição do I/O (leitura e gravação de disco). O I/O é um componente crítico principalmente em ambientes virtualizados, onde a latência induzida pelos processos de entradas e saídas das VMs ( máquinas virtuais ) podem ter impacto significativo.


Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

APUPD030

[Alteração]

Rotina disparada na janela inicial, sem menu

 

Principais alterações efetuadas: 

 

  • Melhoria na verificação dos grupos de campos para o SX1. A consulta aos grupos de campos passou a ser feita em um array carregado previamente ao invés de busca na base de dados.
  • Melhoria na verificação dos grupos de campos para o SX3. A consulta aos grupos de campos passou a ser feita em um array carregado previamente ao invés de busca na base de dados.
  • Melhoria na verificação dos campos de usuário. Durante a verificação de integridade do SX3 já é construída uma lista de campos de usuário. Isso evita que seja necessário varrer novamente o SX3 para verificar campos de usuário no processo posterior.
  • Retirada da alteração do SX4. Essa tabela não é mais utilizada.
  • Melhoria na rotina de reordenamento do SX3. Antes, todos os registros eram ordenados. Agora, apenas os registros das tabelas que sofreram alterações são reordenados.
  • Efetuada alteração para melhorar a performance da verificação da existência dos campos de chave de índice no SX3.Alguns índices possuem chaves com campos que são em comum. Antes de pesquisar o SX3, é criada uma lista geral de campos, retirando duplicidades, o que diminui a quantidade de buscas no SX3.
  •  Otimização de barras de andamento. As barras passaram a ter uma quantidade de passos máxima de 50. O programa calcula o passo baseando-se na quantidade de registros e só dispara a função de atualizar a régua quando da mudança de passo.
  • Na atualização das tabelas de dados, verificar a existência da tabela no banco antes da varredura do SX3 para determinar sua estrutura. Isso é importante pois muitos ambientes usam uma pequena parte das tabelas de dados.
  • Na atualização da tabela SXB era feita uma varredura na tabela destino pesquisando a consulta na tabela com os novos dados. Essa abordagem faz sentido na atualização completa (MP710TO120) mas é pouco eficiente no UPDDISTR. No UPDDISTR a varredura passou a ser feita a partir da tabela com os novos dados (menor) localizando as consultas na tabela definitiva (completa). Com isso, o I/O foi muito reduzido.
  • O pack de dicionários (exclusão física de registros excluídos) deixou de ser efetuada ao final do UPDDISTR, ficando apenas no MP710TO120,
  • Os "refreshs" (atualizações de tela) passaram a ser feitos a cada 2 segundos ao invés de serem efetuados em cada iteração do laços de processamento. Isso diminui a troca de mensagens com o Application Server.   

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.