variável global no sql

Bom dia Pessoal,

tenho uma aplicação blank, que faz um link para um formulário.
Por esse motivo, uso na clausula where uma global para passar o parametro do id da empresa que será aberta no formulário.

Fica assim:

where id = [empresa]

Porém, para esse mesmo formulário, eu tenho mais duas opções, que são elas:
1 - Entrada direto pelo menu.
Nesse caso, o formulário deve abrir em modo de inclusão, sendo assim, eu seto o valor 0(zero) para a variável [empresa] no evento onScriptInit

2 - Ligação pela consulta. Nesse caso não existe muito o que explicar, pois a aplicação funciona perfeitamente.

Diante dessas situações, eu me deparo com o seguinte problema:

Quando eu entro no formulário, através da ligação do blank, se eu não zerar a variável [empresa], ela fica preenchida e se por ventura eu sair do formulário para fazer outra ação qualquer no sistema e entrar em modo de inclusão novamente no mesmo form, a variável ainda continua com valor e ao invés do formulário abrir como inclusão, ele abre com o registro que contem o valor da variável. Para isso ser resolvido, eu reseto a variável após após o carregamento. Porém, quando eu necessito atualizar ou deletar algum registro, gera um erro de sql, pois pelo motivo da variável estar vazia, o sql fica assim:

where id =

ao invés de

where id = [empresa]

com isso, o form não consegue retornar para a empresa que estava depois dos eventos citados acima.

ja tentei no link da aplicação blank, setar o valo da variável [empresa] como uma string completa da clausula where que ficaria assim:

sc_make_link(aplicacao, empresa='id=$id');

e no sql eu coloco apenas a variável [empresa], porém, dessa maneira, o sql reage como se não existisse condição na clausula where.

Alguém pode me ajudar?

no formulario, onscriptinit:

[my_where]=!empty([empresa])?" Where id=".[empresa]:""; [empresa]="";

no SQL após o FROM tabela coloque o [my_where]

Bom se entendi bem esta seria uma outra opção:

coloca no mesmo evento da aplicação.

if (!empty([empresa])){
sc_select_where(add) = " and id_empresa =[empresa] ";
}

Bom, infelizmente eu acabei fazendo outra coisa, mas não conhecia essa saída. vou testar depois.

Vlw!!!