Tah fogo utilizar váriaveis globais no scriptcase, Diogo mais uma vez preciso de sua ajuda…
Seguinte tenho uma área de login… que quando o usuário do sistema se autentica eu declaro uma variavel global chamada [usu_id] no OnValidade que deveria levar o Id do usuário através da sessão, utilizo ela em um campo escondido de um formulário na propriedade do campo valor incial, estou infomando que o valor incial do mesmo será definido e como valor coloco a váriavel GLOBAL [usu_id], quando executo a aplicação aparece uma caixa do input para entrar com o valor da variavél, até ai blz, tudo como vc explicou anteriormente, Obs:. na tela de login coloquei a váriavel [usu_id] como saida, já que não preciso da mesma naquele momento certo?, o problema é que quando passo pelo formulário de login e acesso a aplicação que possui a váriavel definida, o Scriptcase retorna a seguinte mensagem de erro: “Falta definição das seguintes variáveis de ambiente: usu_id;”
Segue o fonte, utilizado na autenticação:
sc_lookup(sql_verifica, "
SELECT u.usu_id,
u.usu_login,
lower(f.fnc_descricao),
u.usu_nome,
u.usu_email
FROM usuarios u,
grupos g,
grupo_funcoes gf,
funcoes f
WHERE u.gru_id = g.gru_id
AND g.gru_id = gf.gru_id
AND f.fnc_id = gf.fnc_id
AND u.usu_login = ‘{txtLogin}’
AND u.usu_senha = ‘{txtSenha}’ ");
/* Erro no lookup /
if (FALSE === {sql_verifica}) {
sc_error_message(“Ocorreu um erro no acesso ao banco de dados.
”);
}
elseif (empty({sql_verifica})) { / EOF */
sc_error_message(“Usuário ou senha inválida.
”);
}
else {
[usu_id] = {sql_verifica[0][0]};
sc_lookup(sql_funcao, "
SELECT lower(f.fnc_descricao)
FROM funcoes f
WHERE f.fnc_ativo = 1");
/*Desabilita todas as funções do sistema*/
foreach({sql_funcao} as $funcao)
{
sc_apl_status($funcao[0],'off');
};
/*Habilita todas as funções ou telas do sistema, com base nas permissões do grupo da pessoa que está logando*/
foreach({sql_verifica} as $verifica)
{
sc_apl_status($verifica[2],'on');
};
/* Redireciona para o menu principal do sistema */
sc_redir('menu_principal');
}
Será que tem alguma coisa errada ae???
mais uma vez muito obrigado!!!