Hoje vou mostrar para vocês a tabela de relacionamentos do Protheus.
Como alguns devem saber, o Protheus não existe integridade relacional no SGBD mas sim na própria aplicação, e com isso existe a tabela SX9 (só não sei se o termo é usado em relação a famosa gíria X9 de dedo duro rs).
Essa tabela, além de poder auxiliar programadores a construir consultas e customizações com amarrações, também é bastante utilizada ao ativar a Integridade Referencial no ERP.
No nosso caso, vamos ver apenas os campos interessantes dela para analisarmos e criarmos nossas customizações. Ah e a título de curiosidade, na minha base zerada da 12.1.25, ela tinha quase 15 mil registros (14.959 para ser mais preciso).
Então vamos lá:
- X9_DOM – Tabela de Origem
- X9_CDOM – Tabela de Destino
- X9_EXPDOM – Campo(s) da tabela de Origem
- X9_EXPCDOM – Campo(s) da tabela de Destino
- X9_LIGDOM – 1 ou N no relacionamento da tabela de Origem
- X9_LIGCDOM – 1 ou N no relacionamento da tabela de Destino
Esses são os principais campos que podemos avaliar em nossas customizações, então se por exemplo, você estiver relacionando a tabela SA1 (Clientes) com a SC5 (Pedido de Venda), você vai ver que existem 3 relacionamentos e assim adaptar na sua necessidade ou consulta SQL.
Se o seu dicionário estiver no banco, abaixo uma query de consulta da SX9:
SELECT X9_DOM AS [ORIGEM], X9_CDOM AS [DESTINO], X9_EXPDOM AS [EXPRESSAO ORIGEM], X9_EXPCDOM AS [EXPRESSAO DESTINO], X9_LIGDOM + ' para ' + X9_LIGCDOM AS [RELACIONAMENTO] FROM SX9990 WHERE D_E_L_E_T_ = ' ' ORDER BY ORIGEM, DESTINO
Abaixo deixo dois links de apoio no TDN sobre o assunto caso queira se aprofundar.
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Olá, show de bola.
Como que da a manutenção na tabela? Direto pelo SDU?
Obg.
Opa, obrigado pelo comentário Leandro.
Pode ser que exista uma função padrão para manutenção, mas realmente eu desconheço.
Então, pode usar o APSDU, mas lembre-se de sempre fazer o backup antes de realizar alterações.