SX2 e o dicionario de tabelas. Pra cada tabela do sistema (SA1, SE1, SX3...), tem 1 registro aqui dizendo nome amigavel, arquivo fisico, modo compartilhado/exclusivo, modo de acesso. Modificacao via Configurador.
Campos principais
| Campo | Tipo | Descricao |
|---|
| X2_CHAVE | C | Alias (ex: "SA1") |
| X2_PATH | C | Caminho fisico |
| X2_ARQUIVO | C | Nome do arquivo (sa1010 no SQL) |
| X2_NOME | C | Descricao |
| X2_NOMESPA | C | Nome em espanhol |
| X2_NOMEENG | C | Nome em ingles |
| X2_MODO | C | C=Compartilhada, E=Exclusiva (por filial), P=Exclusiva por empresa |
| X2_TIPO | C | Tipo de tabela |
| X2_MODOEMP | C | Modo empresa |
| X2_MODOUN | C | Modo unidade negocio |
| X2_USA | C | S=Em uso |
Indices
Codigo tipico
// Verificar modo de uma tabela
SX2->(DBSetOrder(1))
If SX2->(DBSeek("SA1"))
ConOut("Modo SA1: " + SX2->X2_MODO) // "C", "E" ou "P"
EndIf
// Listar todas as tabelas exclusivas
SX2->(DBSetOrder(1))
SX2->(DBGoTop())
While !SX2->(Eof())
If SX2->X2_MODO == "E"
ConOut(SX2->X2_CHAVE + " - " + AllTrim(SX2->X2_NOME))
EndIf
SX2->(DBSkip())
EndDo
Tabelas relacionadas
| Tabela | Relacao |
|---|
| SX3 | Campos da tabela |
| Todas tabelas do sistema | Toda alias tem registro aqui |
Pegadinhas
- Mudanca em X2_MODO requer migracao de dados — nao alterar em base com movimento.
- X2_ARQUIVO em base SQL eh o nome da tabela fisica (lower case + numeracao: sa1010, sx3010).
- Em update da TOTVS, novas tabelas sao adicionadas — backup do SX2 antes.
- Adicionar tabela Z customizada: PutSX2() + UpdDistr no codigo de instalacao.