Criei uma tabela no Configurador, mas ela não aparece no SQL, o que fazer

No artigo de hoje, vamos abordar sobre o que podemos fazer quando criamos uma tabela no Configurador e ela não aparece no SQL.

Na verdade, esse é um comportamento padrão do Protheus, pelo menos até o momento que estamos redigindo esse artigo, onde a tabela só vai aparecer no SQL, a partir do primeiro momento que ela é acessada efetivamente.

Então, como exemplo, vamos criar uma tabela, chamada de ZD0, sendo que ela vai ter alguns campos, e vamos chamar ela de Percentuais de Metas. Abaixo um print da estrutura da tabela criada:

Exemplo de Tabela

Exemplo de Tabela

Ai então, vamos efetivar o cadastro dessa tabela, com os campos e índices, nisso é mostrado a seguinte mensagem:

Efetivando no Configurador

Efetivando no Configurador

Então a tabela foi criada com sucesso no dicionário do Protheus (ex.: SX2, SX3 e SIX), mas se formos consultar a tabela no banco de dados, ela não estará criada, abaixo um print tentando executar uma query na tabela:

Ao executar uma query, mensagem de falha

Ao executar uma query, mensagem de falha

O que acontece pessoal, é que ao criar a tabela no Configurador, ele vai criar no dicionário, mas só vai criar no SQL efetivamente, se a tabela for acessada, então para isso, devemos fazer o seguinte procedimento:

  1. Baixe e compile o zMiniForm disponível nesse link: https://terminaldeinformacao.com/2018/02/13/funcao-para-executar-formulas-protheus-12/
  2. Coloque ele no menu, conforme esse tutorial: https://terminaldeinformacao.com/2023/05/31/como-adicionar-uma-rotina-em-um-menu-do-protheus/
  3. Abra o zMiniForm, e execute um DbSelectArea ou CheckFile nessa tabela, conforme print abaixo:
Abrindo a tabela

Abrindo a tabela

  1. Prontinho, agora que a tabela já foi acessada, ai você consegue acessar ela no SQL:
Select após a tabela ter sido criada

Select após a tabela ter sido criada

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação