SX2, SX3 e SIX no Protheus: Como Criar Tabelas, Campos e Índices na Prática

Tempo de leitura: 7 minutos

Se você trabalha com o Protheus, entender o funcionamento do dicionário de dados é essencial para criar estruturas personalizadas no sistema.

As tabelas SX2, SX3 e SIX são responsáveis por definir tabelas, campos e índices no Protheus.

Neste guia completo, você vai aprender como criar tabelas no Protheus utilizando SX2, SX3 e SIX, com passo a passo prático e exemplos reais.

⚙️ Quer dominar o Protheus além do básico?
Aprenda como funciona o AppServer, DBAccess, licenças 
e toda a arquitetura do Protheus 

✔ Configurações reais de ambiente
✔ Soluções para erros críticos
✔ Boas práticas de infraestrutura  
🔐 Conteúdo direto ao ponto. Sem enrolação.

 

O que são SX2, SX3 e SIX no Protheus

SX2 — Cadastro de Tabelas

Define as tabelas do sistema.


SX3 — Cadastro de Campos

Define os campos das tabelas.


SIX — Índices

Define os índices utilizados nas consultas.


Quando criar tabelas no Protheus

  • customizações
  • novos módulos
  • integrações
  • melhorias no sistema
 

Passo a passo para criar tabela no Protheus

🔹 PASSO 1 — Criar tabela SX2

Primeiramente entraremos no configurador do sistema protheus(SIGACFG):

Configurador(SIGACFG)
Configurador(SIGACFG)

Após isso, entremos em Base de Dados->Dicionário->Base de Dados:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela clique em Dicionários(1) e no sinal de ‘+’ (2) conforme mostra a imagem abaixo:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela informamos o prefixo, no exemplo informamos o prefixo EST, que é o identificador da tabela no arquivo de dados SX2, automaticamente o sistema gera o nome da tabela composto pelo prefixo informado mais o código da empresa 99, assim a tabela terá seu nome como EST990, após isso clique para salvar as informações:


Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela clique para salvar as informações da tabela e o protheus criar a mesma, por padrão o protheus criar a tabela com já com o campo prefixo_FILIAL, no caso EST_FILIAL, após isso clique em avançar:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela o protheus informa a tabela e o campo criado, após isso cliquemos em avançar:

Configurador(SIGACFG)
Configurador(SIGACFG)

⚙️ Quer dominar o Protheus além do básico?
Aprenda como funciona o AppServer, DBAccess, licenças 
e toda a arquitetura do Protheus 

✔ Configurações reais de ambiente
✔ Soluções para erros críticos
✔ Boas práticas de infraestrutura  
🔐 Conteúdo direto ao ponto. Sem enrolação.

Na próxima tela o protheus mostra a atualização, a tabela e o campo criado, clique em finalizar:

Configurador(SIGACFG)
Configurador(SIGACFG)

🔹 PASSO 2 — Criar campos SX3

Na próxima etapa criaremos os campos(arquivos SX3) da tabela que criamos, para isso pesquisemos o prefixo EST (1), referente à tabela que criamos e clique em editar (2):

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela clique na tabela(arquivo SX2) criada e em campos, após isso clique em editar para criar os campos:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela, na aba Campo, informamos o nome do campo, por padrão todos os campos criado no protheus deverá ser iniciado pelo prefixo que identifica a tabela, como o nosso prefixo é o EST, a estrutura do campo ficará EST_nomeDoCampo, para esse exemplo criamos o campo EST_CODIGO, que representará o código dessa tabela, depois informamos o tipo de conteúdo que o campo deverá receber, no caso, Caracter, depois informamos o tamanho desse campo, nesse caso, 6.

No contexto informamos que tipo de campo ele será, 1 – real, indicando que será um campo físico, ou seja, será criado na fisicamente no banco, 2 – virtual, indicando que o campo não será físico, ou seja, não será criado no banco, geralmente campos virtuais são utilizados apenas para amostragem de dados.

Em propriedade indicamos visualizar, indicando que o campo a ser criado é apenas visualizável, não permitirá ser editável. Fazemos isso em situações em que o valor do campo será gerado automaticamente e sequencialmente pelo próprio protheus:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima aba, em Informações, informamos o título do campo(obrigatório), além da descrição(opcional) e o help(opcional), que conterá informações mais detalhadas do campo.

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima aba, em Opções, na campo Inic. Padrão(inicializador padrão) passamos a função GETSX8NUM(<alias>, <campo>), utilizada para obtermos o próximo número disponível para o alias especificado no parâmetro, assim quando informamos GETSX8NUM(“EST”, “EST_CODIGO”) estamos querendo obter o próximo número referente ao valor contido no campo EST_CODIGO, assim cada vez que formos fazer um cadastro nessa tabela o protheus verifica qual o valor contido no campo EST_CODIGO, suponto ser o valor ‘000007‘, ele obterá o próximo ‘000008‘, obtendo o número sequencial a cada novo cadastro:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na aba Uso deixamos marcado os box usado e browse, indicando que o protheus irá usar esse campo e o no browse indicamos ao protheus que mostre esse campo na abertura da tela:

Configurador(SIGACFG)
Configurador(SIGACFG)

Após isso clique em Salvar:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela confirme as informações do campo:

Configurador(SIGACFG)
Configurador(SIGACFG)

⚙️ Quer dominar o Protheus além do básico?
Aprenda como funciona o AppServer, DBAccess, licenças 
e toda a arquitetura do Protheus 

✔ Configurações reais de ambiente
✔ Soluções para erros críticos
✔ Boas práticas de infraestrutura  
🔐 Conteúdo direto ao ponto. Sem enrolação.

Na próxima tela clique no símbolo de disquete para salvar as informações e clique em avançar, conforme você ver na imagem abaixo, aparece mais dois campos além do que criamos, eu criei ele apenas para preencher a tela com mais campos quando formos visualizarmos a mesma:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela visualizamos os campos a serem incluídos e clicamos em avançar:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela visualizamos os campos criados pelo protheus, clique em finalizar:

Configurador(SIGACFG)
Configurador(SIGACFG)

🔹 PASSO 3 — Criar índices SIX

Criado a tabela e os campos, é hora de criarmos os índices, índices caso você não conheça são referências que criamos através da utilização dos campos das tabelas que facilitam o processo de pesquisas ou consulta à informações, melhorando assim a performance de retorno desses dados, toda tabela no protheus precisa ter ao menos um índice para que o sistema possa referenciá-la.

Na mesma tela onde criamos os campos, clique agora em Índices (1) e depois em incluir (2):

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela que aparece clique em Outras ações e em Campos, para adicionarmos os campos que irão compor o índice:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela selecionamos o campo EST_FILIAL e clicamos em ok para adicionarmos ao índice:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela incluímos o campo EST_CODIGO para compor o índice(arquivo SIX) e clicamos em ok:

Configurador(SIGACFG)
Configurador(SIGACFG)

Adicionado os campos que pertencerão ao índice, clique em Salvar:

Configurador(SIGACFG)
Configurador(SIGACFG)

Criamos um índice composto pela filial e o código, agora criaremos outro índice composto pela filial e o nome, fazendo o mesmo processo que fizemos no primeiro índice, adicionamos os campos EST_FILIAL e EST_NOME para compor o novo índice, ao final temos dois índices criado, clique em confirmar:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela clique no símbolo de disquete para salvar as informações dos índices e clique em Avançar:

Configurador(SIGACFG)
Configurador(SIGACFG)

Na próxima tela visualizamos os índices criados e atualizados nos arquivo SIX no protheus, clique em finalizar:

Configurador(SIGACFG)
Configurador(SIGACFG)

⚙️ Quer dominar o Protheus além do básico?
Aprenda como funciona o AppServer, DBAccess, licenças 
e toda a arquitetura do Protheus 

✔ Configurações reais de ambiente
✔ Soluções para erros críticos
✔ Boas práticas de infraestrutura  
🔐 Conteúdo direto ao ponto. Sem enrolação.

⚠️ Erros comuns ao criar SX2, SX3 e SIX

❌ Índice mal definido

❌ Campo com tipo incorreto

❌ Tabela sem padrão

❌ Nome fora do padrão Protheus


✅ Boas práticas

  • padronizar nomes
  • validar tipos de campo
  • definir índices corretamente
  • documentar estrutura

Com isso aprendemos como criar tabela, campos e índices no protheus 12, em breve estarei postando outro post de como criar um fonte em ADVPL e utilizamos a tabela, campos e índices criados.

Espero que esse post tenha lhe ajudado, se sim, compartilhe ele nas suas redes sociais, nos grupos e páginas que você participa para que possa ajudar outras pessoas beleza. Deixe seu comentário abaixo do que está achando do Blog/Site ProtheusAdvpl, apresentando suas críticas e sugestões, do que está bom e do que precisa ser melhorado no Blog/Site, além disso fale de temas que você gostaria que eu abordasse aqui.

Grande abraço a você e fica com Deus.

Se inscreva também no canal ProtheusAdvpl:

🚀 Quer dominar o Protheus de verdade?
Entre para o ProtheusAdvpl e receba conteúdos exclusivos sobre desenvolvimento, infraestrutura, módulos e carreira no Protheus

✔ Conteúdos organizados por categorias (Programação, Framework, Backoffice e RH)
✔ Dicas práticas usadas no dia a dia do Protheus
✔ Acesso a materiais, post e atualizações do Blog
🔐 Seu email está seguro. Sem spam. Só conteúdo profissional.