go_item e stop

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
dante
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Qui, 24 Jan 2008 1:58 pm
Localização: são paulo sp
Danilo Maranini
Aprendendo e Compartilhando

tenho este codigo que tras um botao com a opcao SIM OU não, se a pessoa escolhe a opção sim ele deve aborta o insert.

este botao esta no pre-insert

Selecionar tudo

if :participantes.emp__cod_empresa is null then
	Set_Alert_Property(alert_id, ALERT_MESSAGE_TEXT, 'Este participante não esta ligado a nenhuma empresa, deseja ligá-lo a uma empresa?'); -- now show the alert 
	V_BOTAO := Show_Alert(alert_id); 
					if V_BOTAO = 88 then
						go_block('participantes');
							go_item('v_nome_empresa');
					end if;
end if;

end;
porem existem mais dois blocos com relacionados, quando ele entra no if e da o go_item ele da erro e joga o foco para o proximo bloco.
sendo assim coloquei o go_block, ele da o erro mas mantem no mesmo bloco as não joga o foco para o botao correto.

alguém sabe como resolver isso?

e outra duvida é :
quando tem dados nos campos do dois outros blocos e ele da o commit mesmo assim.

alguém sabe me dizer qual comando eu do para ele aborta a operação do pre-insert caso ele entre no if e ai jogar o foco para o objeto v_nome_empresa

??

vlw
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

já que este codigo esta no pre-insert tenta +- assim

Selecionar tudo

PRE-INSERT
if V_BOTAO = 88 then 
  go_item('bloco.item'); 
  raise form_trigger_failure;
end if; 

KEY-COMMIT
--
COMMIT;
if not form_success then
  raise form_trigger_failure;
end if;
--
--ou
--
COMMIT;
DECLARE
  ERR_COD          NUMBER := ERROR_CODE;
  AL_BUTTON        NUMBER;       
  BEGIN
    IF ERR_COD = 40401 THEN
     RAISE FORM_TRI....
    END IF;
  END;
Responder
  • Informação