Conhecendo a tabela de relacionamentos do Protheus (SX9)

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

Exemplo de query com os relacionamentos

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.

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.

2 Responses

  1. Leandro disse:

    Olá, show de bola.

    Como que da a manutenção na tabela? Direto pelo SDU?

    Obg.

Deixe uma resposta para LeandroCancelar resposta

Terminal de Informação