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]