RESOLVIDO: filtro por grupos

Olá a todos!
Tenho uma aplicação onde vinculo usuário a um município na tabela do banco de dados (postgresql) criando uma variável global no login, isso usando segurança por grupos. Até ai tudo bem, gero aplicação de consulta (grid) com WHERE relacionada a variável global e o usuário só acessa os dados de seu município. Acontece q para que funcionários da empresa ou administradores possam acessar tenho q criar aplicações diferentes para cada grupo. Gostaria de saber se alguém já desenvolveu algo que através da mesma aplicação o usuário acesse os dados somente do seu município, os administradores acessem de todos.
Procurei nos fóruns e não encontrei uma solução.
att

assim como guarda o login em global guarde uma global para o status do usuário (administrador ou normal).

com um if vc monta o conteúdo where conforme o status do usuario:

Olá novamente
Haroldo e demais
segue abaixo códigos do login (evento onvalidate) e da grid para a consulta, se o usuário é do grupo 2 ele traz os dados somente do seu município, mas se o usuário é do grupo 1 (administrador, onde deveria trazer os dados de todos os municipios) ocorre erro. Onde estou errando ou onde deveria usar o if?

//login (onvalidate):

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(md5({pswd}));

$sql = "SELECT 
seg_gruposusers.priv_admin,
seg_gruposusers.active, 
seg_gruposusers.name, 
seg_gruposusers.email,
seg_gruposusers.login,
seg_gruposusers_groups.login,
seg_gruposusers_groups.group_id
FROM  public.seg_gruposusers, public.seg_gruposusers_groups   
WHERE  seg_gruposusers.login = seg_gruposusers_groups.login
AND seg_gruposusers.login = $slogin
AND seg_gruposusers.pswd = ".$spswd."";

sc_lookup(rs, $sql);

if(count({rs}) == 0)
{
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
sc_error_message({lang_error_login});
}
else if({rs[0][1]} == ‘Y’)
{
$usr_login = {login};
$usr_priv_admin = ({rs[0][0]} == ‘Y’) ? TRUE : FALSE;
$usr_group = {rs[0][6]};
$usr_name = {rs[0][2]};

switch ($usr_group){
	case 2:
		//USUÁRIO DOS MUNICIPIOS
		$sql2 = "
		SELECT
		  login_municipio,
		  municipio_id
		FROM
		   login_x_municipio_id
		WHERE login_municipio = '".$usr_login."'";	
		sc_lookup(rs2, $sql2);
	
		//$usr_name		= {rs2[0][1]};
		$login_municipio		= {rs2[0][0]};
		$municipio_id			= {rs2[0][1]};
		sc_set_global($municipio_id);
			
	  break;
	
	default:
		//$usr_name		= {rs[0][2]};
		$usr_email		= {rs[0][3]};
		$usr_group		= {rs[0][4]};
	  break;
	  
  }
	
sc_set_global($usr_login);
sc_set_global($usr_priv_admin);
sc_set_global($usr_name);
sc_set_global($usr_email);
sc_set_global($usr_group);

}
else
{
sc_error_message({lang_error_not_active});
sc_error_exit();
}

// SQL da grid de consulta:
SELECT
id_ppr,
ppr_ncm,
ppr_descricao,
ppr_cfop,
ppr_quantidade,
ppr_unidade,
ppr_valor_bruto,
ppr_opracao_nfe,
ppr_situacao_nfe,
ppr_data_nfe,
ppr_ie_emitente,
ppr_uf_emitente,
ppr_ie_destinatario,
ppr_modelo_df,
ppr_serie_nfe,
ppr_nfe,
ppr_total_nfe,
ppr_situacao_aim,
ppr_chave_acesso,
ppr_municipio_id,
ppr_ano,
“ppr_data_lancamento”
FROM
ppr_anual
WHERE
ppr_municipio_id = [municipio_id]

Utilize where dinâmico nas Grids
Sc_select_where(add)

Não fixe a cláusula Where nos select principais das aplicações

Valeu Haroldo.
Verifiquei q estava errando em coisas básicas, resolvi pelo lookup do campo do filtro (já que está é a inicial da minha aplicação) relacionando o login do usuário com o municipio.
Grato
Abraços

aplicação para a qual queremos estabelecer o link.
Parâmetros: Parâmetros necessários para que a aplicação cha