A partir do Binário e LIB do quadro ao lado, o Dicionário de Dados do Protheus pode ser inicializado diretamente no Banco de Dados, ao invés de ser utilizado na pasta System. Essa alteração visa proporcionar maior agilidade na leitura do dicionário, centralização dos dados no SGBD, otimização nas buscas de informações, entre outras. Para que seu dicionário de dados seja inicializado no banco de dados, seguem abaixo as características, requisitos e procedimentos.


A Inicialização do Dicionário de Dados no Banco de Dados é exclusiva para bases novas, para clientes que irão utilizar o Protheus pela primeira vez. Não está disponível ainda a migração de base para o banco de dados.
Importante: o Banco de Dados Informix não pode ser utilizado com a inicialização do Dicionário de Dados no Banco de Dados.


1. Descrição

A inicialização do Dicionário no Banco de Dados envolve os seguintes arquivos (os demais arquivos da pasta System serão ignorados):

Menus
- Todos os arquivos .XNU

Empresas
- Criada empresa padrão (Default) ou a escolhida no Wizard

Help
- SIGAHLP da pasta Systemload

Metadados (Dicionário de Dados)
- Arquivo SXS_BRA.txt (ou o arquivo do país escolhido) na pasta Systemload (deve-se baixar o SXS_BRA atualizado da release correspondente no Portal do Cliente - Atualizar o Dicionário de Dados do Protheus 12)

2. Vantagens

A inicialização do Dicionário no Banco de Dados oferece as seguintes vantagens:

Para o Cliente
- Melhorar a gestão de configuração do Cliente;
- Centralização dos metadados e dos dados sobre os cuidados do SGBD;
- Uso do C-TREE não obrigatório em ambientes Windows.

Para o Usuário
- Abertura do Sistema mais rápida.

Para o sistema Microsiga Protheus
- Diminuição do I/Os no AppServer;
- Otimização dos programas na busca de informação;
- Maior facilidade para integração com o Identity.

3. Pré requisitos

Para inicializar o Protheus com o Dicionário no Banco de Dados, os seguintes itens devem ser atendidos:
• Já possuir o Protheus 12 instalado (porém não inicializado), com as configurações básicas de conexão com o Banco de Dados, e com a atualização de Binário e LIB listados no quadro lateral (entende-se por instalado apenas o Setup de instalação executado para criar as estruturas de pastas, mas sem abrir o Smartclient para não criar os dicionários locais. Instalação é diferente de Inicialização);
• PDV, por hora, não é suportado;
• Utilização de License Server para controle de numeração automática;
• E-mail de validação para recuperação da senha do Administrador deve ser cadastrado logo no primeiro acesso ao Configurador, após a inicialização, pois o Dicionário de Dados no Banco de Dados não permite restauração da senha do Administrador, apenas permite a utilização da opção "Esqueceu sua senha" ;
• Chave TOPMEMOMEGA configurada no arquivo appserver.ini do Servidor de Aplicação;
• Obrigatoriedade do menu do Configurador (SIGACFG.XNU) estar dentro do StartPath (pasta System na configuração padrão). Caso o arquivo não esteja disponível para a importação, será exibida a mensagem "Menu do configurador não disponível no Startpath para importação" e o processo será bloqueado;
• Utilização apenas dos menus padrões do Protheus na inicialização, não é permitida a utilização de menus customizados para fazer a inicialização;
• Avaliação de dimensionamento do Banco de Dados, pois com a utilização do Dicionário no Banco, o espaço utilizado e a leitura serão maiores que o normal.

4. Observações importantes sobre o processo

• A utilização do Dicionário no Banco de Dados está disponível apenas a partir da versão 12.1.17 do Protheus.
• Para cada conexão de usuário, serão criadas 2 conexões com o DBAccess, sendo que uma delas não consome licença e é não transacionada;
• A conexão utilizada pelas tabelas de infraestrutura não é transacionada;
• É proibido abrir o arquivo de Empresa(SIGAMAT) com DBUseArea, deve-se utilizar OpenSm0 ou OpenSm0Excl;
• É proibido abrir os arquivos de dicionário com DBUseArea, deve-se utilizar a função OpenSX.
• As tabelas são criadas utilizando multi-thread

5. Procedimento para implementação

É necessário que já exista uma base de dados criada, e a configuração de conexão (ODBC, DBAccess) já esteja OK.

- Abra o arquivo appserver.ini, e insira na seção do Ambiente a linha StartSysInDB=1

[P12DB]
SourcePath=C:\TOTVS 12\Microsiga\protheus\apo\
RootPath=C:\TOTVS 12\Microsiga\protheus_data
CtreeRootPath=C:\TOTVS 12\Microsiga\protheus_data
StartPath=\system\
x2_path=
RpoDb=top
RpoLanguage=Portuguese
RpoVersion=120
LocalFiles=CTREE
Trace=0
localdbextension=.dtc
HELPSERVER=localhost:8079
TopMemoMega=1
DBAlias=P12DB
DBServer=localhost
DBDatabase=MSSQL
DBPort=7890
StartSysInDB=1

Após concluída a inicialização do ambiente, a chave STARTSYSINDB não deve ser removida do arquivo de configuração do ambiente. Remover a chave pode gerar problemas no ambiente Protheus.
A chave STARTSYSINDB também não deve ser incluída em ambientes já inicializados (que não estão no banco de dados).


- Abra o SmartClient, iniciando qualquer Programa Inicial. 


- Na janela de Criação de empresa, selecione se deseja inicializar o ambiente com a empresa Teste ou com uma empresa com outro código, e clique em Selecionar


- Na janela Selecione a localização, indique o País que será utilizado como base para o Dicionário


- Neste momento, as tabelas já estão sendo criadas no Banco de Dados

- Quando aparecer a janela de login, acesse com o usuário Admin. Mais algumas tabelas serão criadas nesse momento.


Caso a inicialização seja interrompida pelo usuário em algum momento, o processo será reiniciado e continuará de onde parou, não sendo necessário restaurar o banco de dados para continuar com o processo.


- Ao final da criação das tabelas, o módulo é carregado e a base está pronta para ser utilizada

LIB: versão 20180820
Binário: Build 7.00.131227A - Jul 27 2018 
DBAccess: Build 20171117-20180412

O Banco de Dados Informix não está habilitado para inicialização do Dicionário de Dados no Banco de Dados.


Índice: