[RESOLVIDO] Variável para Tabela e Variável para Campos

Boa tarde.

Como é que se utiliza esses dois campos de configuração no SQL da aplicação de Consulta?

Variável para Tabela = Nome da variável para substituição do nome da tabela. Informe também a parte do nome da tabela que será substituída pelo valor da variável.

Variável para Campos = Variáveis para substituição do nome de campos da aplicação. Para cada campo a ser definido dinamicamente, informe o nome da variável que contém o novo valor e o campo que será substituído.

no meu banco tenho tabelas com o nomes diferentes mas os campos são sempre os mesmo nomes.

Desde já obrigado pela atenção.

Você entendeu errado, essas janelas são para guardar o nome da variável que contém o nome da tabela campo. Não pode trocar o nome da tabela dinamicamente.

Boa noite, na verdade Haroldo dá sim para trocar.
Tenho uma intranet com base de dados do Protheus E ele usa sempre a mesma estrutura de tabelas por empresa Ex: SB1010 empresa 1 SB1020 empresa 2). Nesse caso tenho relatórios que trocam dinamicamente o nome da tabela e dá certo.
Já tive um problema quando inicia pelo filtro, mas se for iniciar pela consulta dá certo.
Já usei também a troca do campo e deu certo.

é isso mesmo, quero usar tabelas do Protheus e trocar dinamicamente, hoje eu crio uma variável global [glo_empresa] quando o usuário loga ele escolhe a empresa e filial que quer trabalhar e no sql da consulta eu coloco por exemplo: SL1[glo_empresa]0, mas eu queria saber se essa configuração de Variável para Tabela é mais ou menos isso, como é usada?

Esse glo_empresa funcionará apenas em métodos, no SQL realmente tem que ser pelos campos citados.
No seu caso:

glo_empresa Nome da variável para substituição do nome da tabela. Informe também a parte do nome da tabela que
010 será substituída pelo valor da variável.

Valeu! Irei testar.
Mas funciona sim o glo_empresa dentro da configuração do SQL da consulta normal, só que, qualquer alteração que eu faça na query eu tenho que refazer toda a configuração de campos, label, filtros, casas decimais etc.

exemplo:

SELECT B2.B2_FILIAL, B2.B2_COD, B2.B2_LOCAL, B2.B2_QFIM, B2.B2_QATU, B2.B2_RESERVA, B2.B2_QPEDVEN, B2.B2_SALPEDI, B1.B1_DESC , B1.B1_PRV1, B1.B1_COD FROM SB2[glo_empresa]0 AS B2 INNER JOIN SB1[glo_empresa]0 AS B1 ON B1.B1_COD = B2.B2_COD AND B1.D_E_L_E_T_ <> '*' ORDER BY B2.B2_COD, B2.B2_FILIAL, B2.B2_LOCAL

Obrigado pela dica, irei testar.

Valeu amigos, funcionou certinho.

Mais uma vez obrigado.

Como é uma consulta com inner join não funcionará a variável da tabela, isso é apenas para consulta em uma tabela.
No seu caso vou dar uma dica para não acontecer esse “reset” quando muda o select.
Colocar alias nome nos campos e após alterar não irá “resetar”
exemplo:

SELECT B2.B2_FILIAL as B2_FILIAL, B2.B2_COD as B2_COD
e assim por diante
FROM SB2[glo_empresa]0 AS B2
INNER JOIN SB1[glo_empresa]0 AS B1 ON B1.B1_COD = B2.B2_COD AND B1.D_E_L_E_T_ <> ‘*’
ORDER BY B2.B2_COD, B2.B2_FILIAL, B2.B2_LOCAL

Aproveitando, também trabalho com Protheus, programo em ADVPL e fazemos customizações.

Se precisar entre em contato…