Variável global

(André Della Piazza) #1

Estou implementando uma aplicação multi-empresa em meu sistema, tenho a seguinte dúvida:

No formulário tenho um campo select, neste campo, em Lookup de Edição fiz o comando para filtrar a empresa, assim:

SELECT banco_id, sc_concat(nr_conta, ’ - ', agencia)
FROM banco
where empresa_id = ‘[var_emp_id]’
ORDER BY nr_conta

Está dando erro na vaviável global [var_emp_id], já configurada no login do usuário e seleção da empresa.
Não sei como como configurar a cláusula where.
Alguém pode ma ajudar.

Grato

(Haroldo) #2

esta dando erro pq a variavel esta vazia.nãoesta vindo valor do seu login, a transforme em variavel de sessão.

(André Della Piazza) #3

Fiz o que disse, e mesmo assim dava o erro.
Então tirei a macro sc_concat e funcionou

SELECT BANCO_ID, NR_CONTA
FROM dbo.BANCO
where empresa_id = ‘[var_emp_id]’
ORDER BY NR_CONTA

Porém precisa das duas informações…

Grato
André

(system) #4

André,

o problema é que a função sc_concat, não existe no banco de dados.

Qual o banco que você esta utilizando ?
Tente rodar a consulta no seu banco, e quando estiver correta, copie para o SC.

Um abraço
Tonico

(Haroldo) #5

sc_concat nãoexiste no banco mas existe no Scriptcase, pode ser usada normalmente.

(William .'.) #6

Amigos,

Também enfrentei algums problemas com a sc_concat, que de fato tem um problema que foi corrigido na versao versao 0027 lançada em 09/07/09, no entanto se vc estiver utilizando mysql pode usar a função concat.

WSCA.:

(system) #7

Pessoal eu uso o MSSQL
como posso subistituir esta função concat?
está dando erro mesmo… =/

[table][tr][td]ERRO
Erro ao acessar o banco de dados
[Microsoft][ODBC SQL Server Driver][SQL Server]‘sc_concat’ não é um nome da função interna reconhecido.
SELECT agendcond, sc_concat(agennumeroagencia,’ / ', agennome) FROM tblagencia where bancod=;[/table]

(Rodrigo Lins) #8

Boa Tarde,

No Mysql já existe uma função para isto que é chamada de concat.

Exemplo:

SELECT CONCAT(‘rodrigo’, ‘-’, ‘Lins’);

Espero ter ajudado.

Rodrigo Lins.

(system) #9

Colega tive o mesmo problema que voce, mas nao tenho nada a ver com concat.

Minha aplicacao é baseado em login e formulario, na minha clausula where tambem estava ficando vazia. o problema é que sua variavel nao está chegando ate a clausula where do formulario correto ?

resolvi da seguinte forma:

1-No seu login, crie uma session contendo o id da empresa.
2-no seu formulario > ONINIT, recupere a session em uma variavel qualquer x.
3-ainda no ONINIT coloque a variavel x como Global (mas use a macro SC_SET_GLOBAL) pois o comando global comum nao funciona. ex: SC_SET_GLOBAL([x]);
4-Na clausula where do formulario mantenha como vc citou anteriormente ID = ‘[x]’

De noticias abracos.