Configuração da numeração automática com enablenumber=1

Produto:

Microsiga Protheus

Versões:

11 e 12

Passo a passo:

Para a utilização de numeração automática, é recomendável que se utilize o modo de controle via License Server (Enablenumber=1).


O desempenho da numeração automática pelo License Server é muito superior ao utilizado nas tabelas SXE/SXF, há um grande ganho de performance.



A numeração em License Server armazena a numeração das tabelas em memória, enquanto o License Server está ativo. Quando o serviço do License Server é parado, ao reiniciar o License Server, ele lê as tabelas que estão no banco, captura a última numeração da tabela, carrega em memória e dá continuidade na numeração.


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.


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


Para criar a chamada de menu:
- Acesse o Configurador > Ambiente > Cadastros > Menu
- Selecionar somente o menu no Configurador clicar em OK
- Adicionar o menu para a coluna "Novo Menu"
- Selecionar onde deverá ser salva a rotina
- Clicar em Novo Item
- Preencher o nome
- Em "Programa" digite APCFG110
- Selecione o módulo Configurador e clique em OK
- Gere o menu como SIGACFG
- Saia do Configurador e entre novamente para visualizar a nova rotina


CRIASXE

Para ambientes que possuam lacunas na numeração automática, é possível utilizar o ponto de entrada CRIASXE, que consegue varrer a tabela e setar a numeração.
Maiores informações sobre a CRIASXE: http://tdn.totvs.com/pages/releaseview.action?pageId=6815179


Múltiplos Ambientes utilizando o mesmo License Server

Quando sua estrutura possui mais de um ambiente (mais de um Appserver) apontando para o mesmo License Server, a numeração de uma base pode influenciar na outra. Por isso, é necessário configurar a chave SpecialKey no arquivo appserver.ini de cada base, para que cada ambiente possua uma chave diferente no License Server.
Maiores informações de como configurar a chave SpecialKey:
http://tdn.totvs.com/display/tec/SpecialKey


Alteração de modo: SXE/SXF para License Server

Ao alterar o modo de numeração para o modo License Server (Enablenumber=0 para Enablenumber=1) as tabelas SXE e SXF serão deletadas no momento em que acessar a primeira rotina que utilize numeração automática, e nesse momento, o License Server irá buscar a última numeração de cada tabela com numeração automática, e carregar em memória. Desta forma, recomendamos que faça um backup das tabelas SXE e SXF antes de alterar o modo de numeração, e após a alteração, caso a numeração esteja na ordem incorreta, utilizar a rotina APCFG110 para acertar.


Como alterar o modo de numeração automática

A alteração do modo de numeração automática é feita no arquivo appserver.ini do License Server, na seção [LicenseServer]. Enablenumber=0 é pelas tabelas SXE/SXF. Enablenumber=1 é no License Server (padrão).

Exemplo:

Numeração nas tabelas SXE/SXF:
[LicenseServer]
Enable=1
Enablenumber=0

Numeração no License Server:
[LicenseServer]
Enable=1
Enablenumber=1


Obs.: se não existir a linha Enablenumber na seção [LicenseServer], assume-se o padrão, que é numeração no License Server.