Tiago

 

Coloque a validação do range no when-validate-item e o teste do último registro 
no key-next-item.

Use “if :system.last_record = ‘TRUE’…“ para saber se está no ultimo registro do 
bloco.

Se precisar que o when-validate-item seja disparado antes que o código do 
key-next-item seja executado use o comando “enter;”  neste último.

 

enter;

If form_success

then

   <codigo do next_item>

end if;

 

Étore

 

From: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] 
Sent: quarta-feira, 13 de maio de 2015 22:33
To: oracle_br
Subject: [oracle_br] [Forms] Trigger para validar item

 

  

Pessoal, buenas...

 

Estou com um problema aqui e gostaria de uma ideia de vocês de como eu posso 
solucionar. Tenho um bloco baseado em tabela, com alguns registros (Por ex.: 
Temperatura, Pulso, Altura, Peso, IMC e Volemia), existem itens "Resultado", 
que são os quais o usuário digita o valor (ex.: Temperatura, Pulso, Altura e 
Peso) e itens "Calculado", onde esses são calculados automaticamente baseado em 
uma fórmula que também está no bloco (ex.: IMC - (PESO) / ((ALT/100)*(ALT/100)) 
e Volemia - (PESO)*70).

 

Pois bem, alguns itens tem uma faixa que é considerada "Normal" (ex. 
temperatura entre 34 e 37,5), e assim que a pessoa digita, eu preciso informar 
ao usuário, assim que ele sai do item, se aquele valor está ou não dentro da 
faixa padrão, deixando a "linha" vermelha, já para os itens calculados, eu vou 
fazer o mesmo procedimento, mas depois que eu executar o calculo dele. Outra 
regra que preciso implementar é a seguinte, se for o último registro do bloco, 
em vez de ir para o próximo registro (next-record), eu tenho que dar um 
"go_item" para um determinado botão.

 

Bom, pelo que eu sei, tenho 3 possibilidades para fazer a verificação se o 
valor que foi digitado está ou não dentro da faixa padrão:

 

1. Key-Next-Item;

2. When-Validate-Item;

3. Post-Change.

 

Agora vou comentar um pouco dos problemas de cada trigger que citei.

 

1. O key-next-item não dispara se o usuário sair do item com o mouse, ou seja, 
temos uma falha.

2. O when-validate-item não dispara se os últimos itens forem os calculados, 
onde o usuário não terá que digitar o valor, pois ele já vai estar preenchido e 
não vou conseguir fazer a segunda regra, que é saber se o item é o último do 
bloco.

3. O post-change, além do mesmo problema do when-validate-item em relação aos 
últimos itens serem calculados, pelos teste que realizei aqui, quando o bloco é 
populado assim que eu chamo o forms, a trigger é disparada também, que no meu 
caso, não precisaria.

 

Diante disso, queria uma ideia dos colegas de como eu posso resolver o meu 
problema. Estou usando Forms 10g e banco 11g (Vou ficar devendo a build dos 
dois pois estou em casa).

 

[ ]s

 





[As partes desta mensagem que não continham texto foram removidas]

  • [oracle_br] [For... Tiago de Assis Pimenta tiagopime...@ymail.com [oracle_br]
    • RE: [oracle... 'Schiavini' et...@schiavini.inf.br [oracle_br]
    • Re: [oracle... Eduardo Schurtz eduardo.schu...@gmail.com [oracle_br]
      • Re: [or... Tiago de Assis Pimenta tiagopime...@ymail.com [oracle_br]

Responder a