Mensagem continuar apos validação - KEY-COMMIT

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Boa Tarde Pessoa
Tenho uma tela que faz a conclusao de recebimento de materiais
E quando coloco um horario/data com inferior a data de recebimento.
Aparece uma mensagem(eu pedi pra fazer isso).
Ele esta em um LOOp
Até ai OK.
Porém se eu altero uma hora/data superior, o normal ele deveria salvar. POrem ele continua com a mensagem. Então tenho que fechar a tela e abrir novamente pra digitar a hora certa. Como eu altero isso?

Obrigada pela atenção
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

se der pra postar o codigo,

alguma variavel de controle deve estar ficando preenchida quando da o primeiro erro...
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis
Priscila Fernandes

Selecionar tudo

if trunc(v_dt_realizacao) > trunc(:dt_conclusao) 
OR TO_CHAR(V_DT_RESULTADO, 'dd/mm/yyyy hh24:mi') > TO_CHAR(:hr_conclusao, 'dd/mm/yyyy hh24:mi') then
							v_concluido := 'S';
controle_de_msg('NOT','Data/hora de conclusão maior que de recebimento')						end if;
está assim....
Será que poderia ser o or. Mais no caso eu alterei os dois campo para dar certo..... Somente fechando a tela e fazer denovo que não da erro
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

coloca uma message antes do IF, mostrando o valor de todas as variaveis..

assim você vê o que acontece na segunda vez... e descobre qual variavel ta com problema... ou qual condicao do if, etc
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

Acho que o problema é aqui:

Selecionar tudo

OR TO_CHAR(V_DT_RESULTADO, 'dd/mm/yyyy hh24:mi') > TO_CHAR(:hr_conclusao, 'dd/mm/yyyy hh24:mi')
Pra testar 2 datas, não precisa fazer TO CHAR. Basta comparar V_DT_RESULTADO com a data :HR_CONCLUSOA (suponho que seja uma data isso, pois caso contrario, daria erro o TO_CHAR).

Veja, se você compara um TO_CHAR, significa que a o dia 20/05/2011 é MAIOR QUE 10/06/2011... (o primeiro caracter 2 > 1 ).

:-o

Isso até funcionaria, se você for usar a seguinte máscara: 'YYYYMMDD-HH24:MI:SS'...
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis
Priscila Fernandes

Ola Dr_gori

Quero fazer a validação de horas
v_dt_resultado('hh24:mi') > :hr_conslusao('hh24:mi')

mais ou menos assim. Mais não seria a data completa somente a hora. Tem como fazer com outro codigo, sem ser o to_char?
Responder
  • Informação
  • Quem está online

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