Validar Registro

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Avatar do usuário
rcruz
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 32
Registrado em: Ter, 04 Jan 2005 10:52 am
Localização: Candido Mota

Bom dia Galera. Estou aqui de novo recorrendo a voçes pois sei que esse forum é DEMAIS.
Seguinte, tenho um problema onde após sair de um registro, preciso validar todas as informações e forçar o COMMIT. Tenho um bloco tabular onde cada registro depende do anterior para criar uma sequencia, nessa sequencia faço uma select na tabela e para que de certo, preciso que o registro anterior já esteja COMITTado na tabela.

Espero que alguém possa me ajudar enquanto isso vou quebrando a cabeça por aqui.

Valeu galera. :-o :-o
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

Cara...esse tipo de coisa é meio complicado, pois as triggers de VALIDATE são restritas! (não suportam commit, post, etc).

:-( fica difícil de dar uma dica. Acho que é possivel se você controlar em cada item e fazer um insert manualmente! (tipo, não usar o bloco, mas fazer tudo a mão). Acho que não posso te ajudar muito não. :-(
Avatar do usuário
rcruz
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 32
Registrado em: Ter, 04 Jan 2005 10:52 am
Localização: Candido Mota

Valeu mesmo véio... Eu fiz da seguinte maneira... me dá ai uma dica caso eu esteja errado.

Na triguer POST_RECORD do meu bloco eu guardo o status do meu registro em uma variavel que (decidi optar por global).
Depois na trigguer WHEN-NEW-RECORD-INSTANCE eu verifico esse status e a partir dele monto meu código.

Selecionar tudo

begin
	if :global.record_status not in ('QUERY','NEW') and :global.record_status_clear is null then
	   al_id := find_alert ('ERRO');
	   set_alert_property (al_id, alert_message_text, erro_txt);
	   al_button := show_alert (al_id);
	   previous_record;
	   raise form_trigger_failure;
	end if;
	:global.record_status_clear := null;
end;

Selecionar tudo

:global.record_status = guarda o status do meu registro
:global.record_status_clear = caso eu limpe o registro, sendo assim ele sai com status INSERT e dava problema.
Da uma olhada ai e me diz o que você acha???

Falow.
Responder
  • Informação
  • Quem está online

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