Dúvida

Pessoal, estou querendo modificar um select no início de uma consulta, vi no webhelp o código, mais quando coloco no evento onApplicationInit não funciona.
Segue o código:

if ([v_login]!= “admin”){

if (empty({sc_where_atual})){

  sc_select_where(add) = "WHERE escritorioemater.idregionalemater = [v_regionalemater]";

}

else

{

  sc_select_where(add) = "or escritorioemater.idregionalemater = [v_regionalemater]";     

}
}

O objetivo é o seguinte. Se o usuário for diferente de admin (v_login = variável global pego no validate do control login) ele tem que mostrar o select completo, sem cláusula where, caso contrário, mostra o select com a condição onde seja igual a v_regionalemater que pego também no validate do control login.
O que acontece, quando entro com admin, ele mostra todos os registros (CORRETO) mais quando acesso com um usuário diferente e continua a mostrar todos os registros (ERRADO). Lembrando que todas as variáveis estão trazendo seus valores corretos. Não sei mais o que fazer, estou apanhando um bocado com o SC em coisas simples demais!!!

Coloque na onScriptInit

ApplicationInit roda antes da conexao … assim que inicia o php … acredito que não modifica a query. Olha no manual em que evento pode ser usado a macro sc_select_where

Peguei ditero do Web Help…

“OnInit - Este evento é executado uma única vez, antes da execução do select principal da aplicação. Neste escopo, normalmente, são executadas as macros que alteram o select, tais como: sc_select_field, sc_select_order, sc_select_where(add) e etc.”

no OnScriptInit também não funciona…

o evento onInit foi substituido pelo onScriptInit

Continua sem solução. Já coloquei nestes eventos e nada.

exiba a where atual no onScriptInit, e veja o conteúdo.
Coloque em modo debug.