› Fóruns › SQL e PL/SQL › Iniciante em programação Pl Sql › Iniciante em programação Pl Sql
Ishi muito obrigado cara, nem sei como agradecer !!!
Vou agilizar para comprar esse livro então, se souber de outras tutoriais ou tiver materiais sobre pl e forms tbm ficarei agradecido.
Olha só como ficou, verificae ve o q precisa ainda e se precisa de algo :
create or replace procedure prod4020_009(
p_cd_pedido_cotacao in number,
p_cd_versao_pedido_cotacao in number,
p_mens in out varchar2
);
v_saida_anormal exception;
cursor c1 is
select b.cd_item_pedido_cotacao,
c.cd_ramo_apolice_renovada,
c.cd_local_apolice_renovada,
c.cd_apolice_renovada,
c.cd_item_apolice_renovada,
c.id_tipo_seguro,
c.cd_cia_seguradora,
substr(lpad(c.nr_apolice_anterior,6,’0′),1,2) cd_local_apolice_congenere,
substr(lpad(c.nr_apolice_anterior,6,’0′),3,2) cd_ramo_apolice_congenere,
substr(lpad(c.nr_apolice_anterior,6,’0′),5,6) cd_apolice_congenere,
c.nr_item_apolice_anterior cd_item_apolice_congenere
from pedido_item_versao_cotacao a,
pedido_item_cotacao b,
pedido_item_cotacao_auto c
where a.cd_pedido_cotacao = p_cd_pedido_cotacao
and a.cd_versao_pedido_cotacao = p_cd_versao_pedido_cotacao
and a.cd_pedido_cotacao = b.cd_pedido_cotacao
and a.cd_item_pedido_cotacao = b.cd_item_pedido_cotacao
and b.cd_pedido_cotacao = c.cd_pedido_cotacao
and b.cd_item_pedido_cotacao = c.cd_item_pedido_cotacao;
begin
for r1 in c1 loop
if r1.id_tipo_seguro = 'R' and
r1.cd_local_apolice_renovada is not null and
r1.cd_ramo_apolice_renovada is not null and
r1.cd_apolice_renovada is not null and
r1.cd_item_apolice_renovada is not null then
--
update pedido_item_auto_antifurto c
set dt_solicitacao_instalacao = sysdate,
dt_envia_solicitacao = sysdate
where cd_pedido_cotacao = p_cd_pedido_cotacao
and cd_item_pedido_cotacao = r1.cd_item_pedido_cotacao
and dt_solicitacao_instalacao is null;
--
end if;
--
if r1.id_tipo_seguro = 'O' and
r1.cd_cia_seguradora = '5151' then
--
update pedido_item_auto_antifurto c
set dt_solicitacao_instalacao = sysdate,
dt_envia_solicitacao = sysdate
where cd_pedido_cotacao = p_cd_pedido_cotacao
and cd_item_pedido_cotacao = r1.cd_item_pedido_cotacao
and dt_solicitacao_instalacao is null;
--
end if;
--
end loop;
exception
when others then
p_mens := ‘PROD4020_009 – Erro ao ler APOLICE. Erro: ‘||sqlerrm;
raise v_saida_anormal;
end;