Sergio,
Criei um campo texto para mostrar os status dos campos afim de que eu pudesse acompanhar a execução do forms. Cara, ele mostra que entra no if. Fiz assim :
Selecionar tudo
PROCEDURE prc_grava_mês IS
w_erro varchar2(100);
w_mês number := :principal.p_mês;
w_ano number := :principal.p_ano;
cursor c1 is select to_char(n.notaf_dataemi,'mm') mês,
to_char(n.notaf_dataemi,'yyyy') ano,
n.notaf_clien_sap cliente,
(count(distinct n.notaf_num)/count(distinct n.notaf_dataemi)) quantidade,
((sum(n.notaf_vltotal)+sum(n.notaf_vltotalperf))/100)/
count(distinct n.notaf_num) valor
from tnotaf n
where n.notaf_dataemi between to_date('01'||to_char(w_mês,'00')||to_char(w_ano,'0000'),'ddmmyyyy')
and last_day(to_date('01'||to_char(w_mês,'00')||to_char(w_ano,'0000'),'ddmmyyyy'))
group by to_char(n.notaf_dataemi,'mm'),
to_char(n.notaf_dataemi,'yyyy'),
n.notaf_clien_sap;
begin
for x in c1 loop
begin
insert into tabela values(
x.mês,
x.ano,
x.cliente,
x.valor,
x.quantidade);
commit;
if x.cliente = 451544 then
:principal.p_mensagens := 'Entrei no bloco 1';
set_item_property('principal.p_bloco_cli_esp', VISIBLE, PROPERTY_TRUE);
synchronize;
end if.
if x.valor >= 500000 then
:principal.p_mensagens := 'Entrei no bloco 2';
set_item_property('principal.p_bloco_mont', VISIBLE, PROPERTY_TRUE);
synchronize;
end if;
exception
when others then
w_erro := substr(sqlerrm,1,100);
insert into t_erro_pon values(sysdate,'Erro insert tabela - '||w_erro,1);
commit;
end;
end loop;
commit;
END;
As mensagens ele mostra, mas o item que quero trocar o atributo não.