Páginas filhas
  • Numeração automática pelo License Server

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Aviso

A partir da Release 25 do Protheus, a numeração automática será feita obrigatoriamente através do License Server. Além do fato de o desempenho ser muito superior neste modelo em relação ao modelo nas tabelas SXE/SXF, existe também o fato de que as tabelas SXE/SXF serem gerenciadas pelo FileSystem, e por conta disto podem sofrer corrompimento em casos de encerramentos inesperados, como quedas de energia.

Segue um exemplo ilustrativo da diferença de desempenho entre os 2 modelos:

Os dados abaixo foram retirados de uma base local , ou seja, os valores em produção para uma busca via SXE/SXF podem ser maiores devido a concorrência dos dados:


Busca de 100 números via numeração automática no License Server:
GETSXENUM (WFWSXESXF.PRW) LN 40 C 100 T 0.093 M 0.020

Busca de 100 números via numeração automática via SXE e SXF:
GETSXENUM (WFWSXESXF.PRW) LN 40 C 100 T 3.375 M 0.106



Conforme vemos nos números do gráfico, foi verificado que no teste em questão o uso da numeração via SXE/SXF foi 36 vezes mais lenta que a numeração via License Server.


Observação:
Ao utilizar o Dicionário de Dados no Banco de Dados, a Numeração Automática através do License Server (Enablenumber=1) é obrigatória em qualquer Release do Protheus.



A numeração das tabelas em License Server é armazenada em memória, enquanto o License Server está ativo. Quando o serviço do License Server é parado, é criado um arquivo chamado LSNumber.val na pasta do Application Server. Neste arquivo são gravadas as últimas sequências das chaves em uso no License, das tabelas que possuem numeração automática. Quando o License é reiniciado, esses dados são lidos desse arquivo e carregados em memória novamente, para dar continuidade na sequência da numeração automática.

...

Nota
titleNota:

Caso necessário, a geração do arquivo pode ser desligada, adicionando a linha Numberval=0 na seção [LicenseServer] do arquivo appserver.ini do License.

...

Caso ocorra algum problema na numeração automática, de sequência incorreta por exemplo, é necessário tomar as medidas abaixo:
- Executar a rotina APCFG110 pelo Configurador, para fazer o "Acerto de Numeração Automática" (mais detalhes sobre a rotina, abaixo)
- Se houver uma numeração discrepante na sequência da tabela, como por exemplo, alguma numeração iniciada com uma letra, em meio a uma sequência de números (no banco de dados, as letras vem depois dos números, então o código iniciado com letra vai ser considerado o último número da sequência, depois de qualquer número), toda vez que o servidor for reiniciado, esse código virá incorreto. Desta forma, recomendamos abrir a tabela manualmente e efetuar a correção, caso seja possível. Caso tenha dúvidas nesse processo, favor entrar em contato com a equipe responsável pelo respectivo módulo responsável por esta tabela.


Rotina APCFG110 

Âncora
APCFG110
APCFG110

Esta rotina precisa ser inserida manualmente no menu do Configurador. Ao executá-la, são exibidas a numeração atual e a próxima numeração das tabelas, podendo ser editada essa informação para corrigir a sequência.

...