sc_change_connection

Bom dia a todos.
Pessoal, estou precisando de uma ajuda.

Faço uso do módulo de segurança por grupo do SC, com o bloqueio de mais de um acesso.
Na app login, evento onValidateSuccess, após escolher o banco de dados com sc_change_connection(“con1”, “con2”)
gostaria de alimentar a tabela de log e ver se o usuário já está logado em outra sessão, mas estou encontrado dificuldade.

Sei que a sc_change_connection só funciona na próxima app.

Meu código está assim:

if ($empresa == 2)
{
sc_change_connection(“con1”, “con2”);
}

if (sc_logged({login}))
{
sc_log_add(‘login’, {lang_login_ok});
sc_user_logout(‘logged_user’, ‘logout’, ‘ap_Login’);
sc_redir(‘menu_principal’);
}

Da forma que está, mesmo após mudar a conexão, o log e a verificação ocorrem para a “con1”, pelo fato de a sc_change_connection só ter efeito nas próximas app.

A dúvida é como inserir o log e fazer a verificação no banco escolhido?
Alguém tem uma dica? Obrigado.

Pessoal, esqueci de comentar que lendo alguns tópicos vi a dica de criar uma aplicação blank.

Então coloquei esta parte do código em uma app blank. A ideia seria após escolher a empresa, a app login redirecionaria para a blank (neste momento já seria outra app e o sc_change_connection(“con1”, “con2” estaria válido), fazer a verificação e redirecionar para o menu. No entanto a app blank nem abre. Dá a seguinte mensagem de erro: “A página de www.wfsystem.com.br não está funcionando www.wfsystem.com.br não consegue atender a esta solicitação no momento. HTTP ERROR 500”.

Acredito que seja a macro sc_logged, pois não encontrei documentação a respeito dela.

======================
if (sc_logged({login}))
{
sc_log_add(‘login’, {lang_login_ok});
sc_user_logout(‘logged_user’, ‘logout’, ‘ap_Login’);
sc_redir(‘menu_principal’);
}

Alguma dica? Agradeço a todos.

Bom dia. Alguma ideia pessoal? Obrigado.

sc_logged faz parte do “Proteger usuário logado”
Você pode desabilitar ela para testar.
Sobre esta limitação da mudança de conexão somente ocorrer na próxima app não sei como ajudar.
Mas posso dizer que em algumas macros no SC você pode definir qual conexão usar na app.
Do manual:
sc_lookup (Dataset, “Comando SQL”, “Conexão”)
sc_exec_sql (“Comando SQL”, “Conexão”)
sc_begin_trans (“Conexão”)
sc_select (dataset, “Comando SQL”, “Conexão”)
E etc.
Logo, acho que o caminho e colocar na macro que estiver usando a conexão que você quer. Sacou?

[size=12pt]O parâmetro “conexão” é opcional, sendo necessário, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicação.[/size]

Valeu Alexandre. Obrigado pelas dicas. Vou seguir tentando.

Se der certo enriqueça este tópico com sua solução.
Obrigado