BaseDic

BaseDic

 

 

Ferramenta para verificação de Dicionários x Base.

 

A ferramenta BaseDic tem com objetivo encontrar divergências entre os dicionários do sistema e a base de dados.

Serão verificados:

  • Campos do SX3 que não existem na base
  • Campos da Base que não existem no SX3
  • Tamanhos de campo diferentes entre o SX3 e a Base
  • Campos de chave única do SX2 que não existem no SX3
  • Campos de chave única do SX2 utilizando campos virtuais
  • Eventuais campos virtuais na chave única do SX2
  • Tabelas da SX2 que não tem estrutura definida no SX3
  • Tabelas da SX2 que não possuem índice definido no SIX
  • Estruturas do SX3 que não tem definição no SX2
  • Campos virtuais do SX3 que estão criados fisicamente na base
  • Índices do SIX que não existem no SX2
  • Campos de índices que não existem no SX3
  • Tamanhos de campo diferentes entre o SX3 e SXG
  • Eventuais campos virtuais ou MEMO utilizados nos índices
  • Inicializadores de Browse que fazem referência a campos de memória
  • Referências a grupos de campos (SXG) que não existem
  • Referências a pastas de campos (SXA) que não existem
  • Referências a consultas padrão (SXB) que não existem
  • Registros duplicados SX2/SX3/SIX
  • Relacionamentos (SX9) utilizando campos virtuais ou que não existem no SX3 (opcional)
  • Verificações das colunas das consultas padrões (SXB) (opcional)
  • Verificações dos campos de gatilho (SX7) (opcional)
  • Referências a agrupamentos de campos (XXA) que não existem (opcional)
  • Campos de retorno de funções POSICIONE() e GETADVFCAL() (opcional)
  • Uso de campos para rotinas MVC (opcional)
  • Verificação da tabela "00" do SX5
  • Duplicidade de registros para dicionários
  • Verificação de compartilhamento entre a Base eo dicionário de tabelas (SX2)
 

Para utilização temos basicamente 2 passos:

  • Verificação
  • Eventual aplicação do update em base

 

 

Verificação

 

A ferramenta pode ser incluída em algum menu do sistema Microsiga Protheus ou pode ser chamada diretamente da tela de splash do SmartClient, desta forma:

 

 

 

Tela Principal

 

Tela principal

 

Onde:

 

Seleção de Tabelas

Marca/Desmarca manualmente quais as tabelas que serão analisadas. Ex. SA1

Obs.: Clicando no cabeçalho da primeira coluna são marcados ou desmarcados todos.

Tabelas Marcadas

Nesta janela são mostradas quais as tabelas que estão marcadas para análise

Marcação usando mascaras

Pode-se marcar/desmarcar várias tabelas de uma vez utilizando-se “máscaras’, por exemplo, se quisermos marcar todas as tabelas SA?, basta digitar SA? e teclar “Marcar” e todas as tabelas SA? serão marcadas. O mesmo vale para “Desmarcar”.  A opção “Lista” permite a marcação através de uma lista de tabelas.

Pesquisa tabela

Executa a pesquisa de uma tabela na janela de seleção de tabelas.

Tipo de Listagem Algumas ocorrências são consideras erros e outras apenas advertências, nesta opção seleciona-se qual tipo de ocorrência se deseja verificar e listar
Tipo de Saída As ocorrências podem ser geradas:

  • Em um arquivo de LOG, que está no StartPath do sistema (que normalmente é o system ou sigaadv) com o nome de BASEDICxx.LOG, onde xx é o número da empresa 
  • Podem ser listadas na tela
  • Em um formato de planilha Excell
Nesta opção seleciona-se está forma de saída.
Gerar Update

Indica se será gerado fonte de upate caso haja divergências.

Obs. Após sua geração o ideal é que se faça a revisão do fonte e pode-se alterá-lo conforme a necessidade do projeto tirando-se ou acrescentando-se itens.

Nome Arquivo Diferenças Nome  do arquivo de LOG caso a opção "Gerar arquivo de LOG" esteja marcada.
Verificar

Inicia as verificações.

 

 

Tela de Opções

 

Opções

 

Onde:

 

Listar aviso de campos com relação ao uso em MVC

Nas aplicações em MVC, para um campo poder ser utilizado ele tem que ter permissão para poder entrar em uso. Este opção define se esta verificação será executada ou não, alertando os campos que não têm esta característica e assim não podem ser usados em aplicações em MVC.

Fazer a verificação do Dicionário de Perguntas (SX1) Define se serão feitas ou não as verificações dos campos de Consulta Padrão (SXB) e Grupo de Campos (SXG)
Apenas estes 2 campos são avaliados
Fazer a verificação do Dicionário de Tabelados (SX5) Define se serão feitas ou não as verificações específicas para o Dicionário de Tabelados  (SX5)

Fazer a verificação do Dicionário de Gatilhos (SX7)

Define se serão feitas ou não as verificações específicas para o Dicionário de Gatilhos (SX7)

Fazer a verificação do Dicionário de Relacionamentos (SX9)

Define se serão feitas ou não as verificações específicas para o Dicionário de Relacionamentos (SX9)

Fazer a verificação do Dicionário de Consutlas Padrão (SXB)

Define se serão feitas ou não as verificações específicas para o Dicionário de Consultas padrão (SXB)

Fazer verificação do dicionário de Regras de Dependência (XXA) Define se serão feitas ou não as verificações específicas para o Dicionário de Agrupamentos de Campos (XXA)
Fazer verificação dos retornos de POSICIONE / GETADVFVAL (SX3 / SXB / SX7)

Define se será feita a verificação do campo de retorno em campos que podem conter a função POSICIONE() ou GETADVFVAL()

  • Inicializador Browse (X3_INIBRW)
  • Incializador Padrão (X3_RELACAO)
  • Regra de Gatilhos (X7_REGRA)
  • Colunas de Consultas padrão (XB_CONTEM)
Obs: Em função de algumas variações na forma de escrever estas funções, eventualmente podem ser apresentados alguns ERROS que na verdade não existem.
 
Fazer verificação dos modos de compartilhamento Define se será feita a verificação de compartilhamento entre a Base e o dicionário de tabelas (SX2)

Obs. Quando não há gestão de empresa, verifica somente o nivel de filial. Quando há, verifica niveis de empresa, unidade de negócios e filial.
 

 

 

Relatório e Update

 

Se estiver selecionada a opção em "Gera na tela" do "Tipo de Saída", ao final da verificação ser exibida uma tela com as ocorrências em um dos formatos abaixo:

Se a versão onde estiver sendo executado o BaseDic suportar relatórios gráficos (Verifique também o parâmetro MV_TREPORT) , será exibida a tela abaixo onde podem ser alteradas algumas características do relatório.

 

Seleção da impressão

 

 

Exemplo do relatório gerado.

Relatório gerado

 

Se forem encontradas divergências, em seguida aparecerá a tela abaixo onde é possível gerar um fonte de update para ajuste DOS CAMPOS (SX3) destas divergências:

 

Gera Update

 

Onde:

 

Origem do Update

Define qual será a origem para geração do update:

  • Pelo Dicionário: Serão utilizadas as informações do dicionário SX3
  • Pela Base: Serão utilizadas as informações dos campos da Base
  • Pelo Tamanho Maior: Para o tamanho e decimal é usada o valor que for maior entre a base e o dicionário
Nome do Update

Define o nome para o fonte de update. Ele será gerada com o nome definido na pasta StartPath do sistema (que normalmente é o system ou sigaadv)

 

 

Aplicação do update em base

 

No processo anterior o BaseDic pode ter gerado o update com as divergências. O update deve ser executado diretamente da tela de splash do remote:

 

Tela Inicial

 

É apresentada uma tela inicial sobre o update.

 

Tela Splash

 

A seguir é apresentada uma tela para a seleção de quais empresas serão aplicadas o update.

 

Seleção Empresas

 

Onde:

 

Todos

Marca / Desmarca todas as empresas

Empresa Marcar / Desmarcar

Faz a marcação ou desmarcação por máscaras conforme a seleção.

Inverter

Inverte marcados e desmarcados

 

 

Após a confirmação será aplicado o update nas empresas selecionadas.

 

Confirmação

 

Após a execução do update é apresentado um tela com as inclusões e alterações do update.

 

Confirmação

 

Importante:

  • O fonte de update gerado deve ser revisado e pode ser alterado conforme a necessidade do projeto tirando-se ou acrescentando-se itens.
  • O update não faz exclusões de nenhum tipo.

 

Ir para página de download.