Problema em itens desabilitados na toolbar após mensagem....

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Caros, boa tarde.

Estou iniciando em forms e estou enfrentando uma dificuldade:

Criei um form para consulta em uma view, este form tem dois campos para inserir datas que serão os limites da consulta no where, se o intervalo entre estas datas for maior do que 30 dias eu estou enviando uma mensagem para a tela:

IF(:QMS$CTRL.DATE_FIELD2 - :QMS$CTRL.DATE_FIELD1) > 30 THEN
qms$handle_ofg45_messages ('A', TRUE, 'O intervalo de dias da consulta não deve ser maior do que 30 dias!');
PAUSE;

Até aqui tudo bem, o problema é que ao clicar no botão de ok da mensagem, apoós inserir uma nova data para tentar consultar novamente o botão de consulta no toolbar ou F8 não funcionam, ficam desabilitados.

Já fiz algumas tentativas com go_block ou clear_block mas sem sucesso.

alguém poderia me ajudar?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Será que não está saindo do modo de consulta ?

Veja o que esse comando está fazendo:

Selecionar tudo

qms$handle_ofg45_messages ('A', TRUE, 'O intervalo de dias da consulta não deve ser maior do que 30 dias!');
As vezes esse TRUE indica alguma coisa, tipo um RAISE FORM_TRIGGER_FAILUER. Vai que isso ta saindo do modo query.

Já tentou colocar FALSE ali ?
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Troquei para false e funcionou, ocorreu o efeito desejado, porém após o ok da mensagem ele segue com a execução da query.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

É que o RAISE nesse caso tem o objetivo de INTERROMPER.

Se você não quer mais o execute query, basta colocar um RETURN depois da mensagem.
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

ok, vou tentar implementar com return, qualquer coisa posto novamente.

muito obrigado.
Responder
  • Informação
  • Quem está online

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