- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 16 anos, 8 meses atrás por
Rodrigo Mesquita.
-
AutorPosts
-
13 de julho de 2009 às 6:02 pm #87824
LeloStyle
ParticipanteBom dia galera,
to precisando criar uma rotina aqui no trampo e como sou iniciante to apanhando, segue ai c alguem puder me ajudar :
Criar a rotina PROD4020_009 responsável por atualizar a data de solicitação e a data de envio da solicitação de instalação quando for uma renovação tokio e uma renovação congênere com companhia seguradora igual a 5151 (Tokio Marine).
Regras:
1. Criar a rotina PROD4020_009
1.1. Segue abaixo a assinatura da procedure:
prod4020_009 (
p_cd_pedido_cotacao in number,
p_cd_versao_pedido_cotacao in number,
p_mens in out varchar2
);2. Criar os cursor C1 para ser utilizado na rotina.
2.1. Criar o cursor c1 para recuperar os itens que foram renovados.
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;3. Criação do corpo da rotina PROD4020_009.
3.1. Ler o cursor C1 e realizar as seguintes verificações:
3.1.1. Verificar se a coluna ID_TIPO_SEGURO do cursor C1 é igual a ‘R’ (Renovação Tokio). Em caso positivo:
3.1.1.1. Verificar se a coluna CD_LOCAL_APOLICE_RENOVADA do cursor C1 não é nula e se a coluna CD_RAMO_APOLICE_RENOVADA do cursor C1 não é nula e se a coluna CD_APOLICE_RENOVADA do cursor C1 não é nula e se a coluna CD_ITEM_APOLICE_RENOVADA do cursor C1 não é nula. Em caso positivo:
3.1.1.1.1. Atualizar a Data de Solicitação e a Data de Envio da Solicitação com SYSDATE.
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;3.1.2. Verificar se a coluna ID_TIPO_SEGURO do cursor C1 é igual a ‘O’ (Congênere) e se a coluna CD_CIA_SEGURADORA do cursor C1 é igual a 5151 (Tokio Marine). Em caso positivo:
3.1.2.1. Atualizar a Data de Solicitação e a Data de Envio da Solicitação com SYSDATE.
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;3.2. Finalizar a leitura do cursor C1.
Obs: Utilizar a package PKG_UTIL.FNC_TRATA_ERRO para tratar as exceções da rotina.
abraçooo
13 de julho de 2009 às 9:30 pm #87837Rodrigo Mesquita
ParticipanteQual a sua duvida?
-
AutorPosts
- Você deve fazer login para responder a este tópico.