Trigger para validar item

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

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.

[ ]s
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Bom dia,

você pode adicionar a mudança de cor na linha no momento em que ocorre o calculo (formula do item).
Para isto, tente criar uma função que retorne number e inclua a fórmula do item na função.

Aí, dentro da função você efetua a verificação de colorir o item.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 19 visitantes