O recurso de troca do prefixo de tabelas tem por objetivo permitir a mudança do prefixo das tabelas de usuário de um projeto e suas dependências principais (campos, índices, gatilhos) visando facilitar a aplicação em ambientes que já possuam os mesmos prefixos criados para outras funcionalidades.


Esse recurso é especialmente útil para a adequação de templates de customização. 


Este recurso está disponível a partir da LIB versão 20240226.


Com o objetivo de preservar os dados do projeto original. o recurso cria um novo projeto e efetua a transferência dos dados do projeto base para o novo projeto efetuando a troca dos prefixos. 


Nenhuma alteração é efetuada no projeto de origem. 


Para utilizar o recurso, deve-se acessar o Cadastro de Projetos (Configurador > Base de Dados > Gestão de Ambientes > Cadastro de Projetos), clicar sobre o projeto base e clicar no botão Outras ações >Troca de prefixo das tabelas




Apenas será possível trocar prefixos de tabelas cadastradas pelo usuário, ou seja, que sejam das famílias Z?? e SZ?. 

O projeto poderá ter dados de tabelas de famílias padrões. Nesse caso, os dados também serão copiados para o novo projeto. 

01. Janela para seleção e troca 

Ao clicar na opção, será feita uma análise do projeto base para determinar quais tabelas do projeto são elegíveis para troca. Para tanto, além da existência da tabela propriamente dita (dicionário SX2), deve existir ao menos o campo filial desta tabela (dicionário SX3) e um índice (dicionário SIX). 


Após a análise, será exibida uma janela como a mostrada abaixo. Nesse exemplo, o projeto possui a tabela de usuário prefixo ZA4. 

Para a troca do prefixo, deve-se informar o novo prefixo desejado no campo "Novo prefixo".  O prefixo informado não pode ser uma tabela já existente no projeto de origem ou no dicionário de dados principal. Os prefixos das tabelas da família Z?? apenas poderão ser trocados por prefixos da mesma família. O mesmo ocorre com prefixos da família SZ?.


Deve-se informar a descrição do novo projeto no campo "Descrição do Projeto de destino".

Os dados das tabelas não exibidas ou que não tiveram seu prefixo alterado também serão transportadas para o novo projeto. 



Após a confirmação, serão transportados os artefatos do projeto de origem  para o novo projeto e efetuada troca de prefixos dos seguintes dicionários:


  • Índices (SIX)
  • Tabelas (SX2) 
  • Campos (SX3) 
  • Gatilhos (SX7)
  • Pastas e agrupamentos (SXA) 
  • Consultas padrões (SXB) - Apenas referências de campos - código mantido 
  • SXQ
  • SXR
  • XXA - Regras de dependência


Além das chaves dessas tabelas, são avaliados diversos campos que permitem a inserção de linhas de comando em linguagem ADVPL ou TLPP para efetuar a troca de eventuais referências à tabelas ou campos. Esse processo de análise e troca e baseado em expressão regular e pode não ser eficaz em 100% dos casos, ocasionalmente necessitando de ajuste manual. No geral, são avaliadas as colunas:


  • SX2 - Chave, arquivo, chave única e display
  • SX3 - Tabela, campo, validação, inicializador padrão, inicializador do browse. when, validação de usuário e picture variável
  • SIX - Índice, chave
  • SX7 - campo, regra, contradominio, chave , condição, alias
  • SXA - Alias
  • SXB - Conteúdo
  • SXQ - Alias
  • SXR - Alias
  • XXA - Domínio, contradomínio


02. Novo projeto gerado 


Após a geração do projeto, ele poderá ser exportado ou manipulado como um projeto comum. 


Projeto original:



Novo projeto: