PROCEDURE VERIFICA_PLACA IS
BEGIN
DECLARE
W_COUNT NUMBER(04) := 0;
P_COD_CIA NUMBER;
P_PLACA VARCHAR2(10);
P_FEC_VIGENCIA VARCHAR2(8);
OUT_CTR_COD_CONTRATO NUMBER(6); --CÓDIGO DO CONTRATO DA EMPRESA
OUT_APO_NRO_APOLICE NUMBER(13); --NÚMERO DA APÓLICE
OUT_SUC_COD_SUCURSAL NUMBER(6); --CÓDIGO DA SUCURSAL/AGÊNCIA
OUT_COR_COD_CORRETOR NUMBER(5); --CÓDIGO DO CORRETOR
OUT_APO_NRO_ENDOSSO NUMBER(5); --NÚMERO DO ENDOSSO DA APÓLICE
OUT_APO_VIGENCIA_INI DATE; --DATA INICIAL DA VIGÊNCIA DO BEM SEGURADO
OUT_APO_VIGENCIA_FIM DATE; --DATA FINAL DA VIGÊNCIA DO BEM SEGURADO
OUT_TPR_COD_PRODUTO NUMBER(3); --CÓDIGO DO TIPO DE PRODUTO
OUT_USU_CGC_CPF NUMBER(18); --CGC/CPF DO USUÁRIO
OUT_APO_FEC_EMISSAO VARCHAR2(10);
OUT_BSE_PLACA_VEICULO VARCHAR2(10);--PLACA DO VEÍCULO
OUT_BSE_CHASSIS VARCHAR2(30);--CHASSIS DO VEÍCULO
OUT_BSE_COD_RISCO NUMBER(4); --RISCO DO BEM SEGURADO
OUT_BSE_NOME_COND_HABITUAL VARCHAR2(30);--NOME DO CONDUTOR HABITUAL
OUT_APO_NRO_LIGACAO_você NUMBER(14); --NÚMERO QUE A VERA CRUZ USA COMO CHAVE DE LIGAÇÃO
OUT_APO_COD_ENDOSSO NUMBER(3); --CÓDIGO DO ENDOSSO
OUT_USU_NOME_USU VARCHAR2(30);--NOME DO USUÁRIO
OUT_USU_DDD_RES VARCHAR2(3); --DDD DO USUÁRIO
OUT_USU_TEL_RES VARCHAR2(8); --TELEFONE DO USUÁRIO
OUT_EMP_END_LOGO_TELAS NUMBER(4);
OUT_TCV_COD_CONV NUMBER(3); --CÓDIGO DO TIPO DE CONVÊNIO
OUT_BSE_MARCA_VEICULO VARCHAR2(60);--MARCA DO VEÍCULO
OUT_BSE_ANO_MOD_VEIC NUMBER(4); --ANO DO MODELO DO VEÍCULO
OUT_BSE_ZERO_KM VARCHAR2(1); --SE O VEÍCULO É 0KM? SIM/NÃO
OUT_APO_SEG_RISCO VARCHAR2(1); --INDICA SE A APÓLICE É DE SEGUNDO RISCO. S/N.
CURSOR C1 (P_COD_CIA NUMBER
,P_PLACA VARCHAR2
,P_FEC_VIGENCIA VARCHAR2) IS
SELECT * FROM
PKG_IDENTIFICA_SEGURADO.PRC_IDENTIFICA_PLACA (P_COD_CIA,
P_PLACA,
P_FEC_VIGENCIA,
OUT_CTR_COD_CONTRATO,
OUT_APO_NRO_APOLICE,
OUT_SUC_COD_SUCURSAL,
OUT_COR_COD_CORRETOR,
OUT_APO_NRO_ENDOSSO,
OUT_APO_VIGENCIA_INI,
OUT_APO_VIGENCIA_FIM,
OUT_TPR_COD_PRODUTO,
OUT_USU_CGC_CPF,
OUT_APO_FEC_EMISSAO,
OUT_BSE_PLACA_VEICULO,
OUT_BSE_CHASSIS,
OUT_BSE_COD_RISCO,
OUT_BSE_NOME_COND_HABITUAL,
OUT_APO_NRO_LIGACAO_você,
OUT_APO_COD_ENDOSSO,
OUT_USU_NOME_USU,
OUT_USU_DDD_RES,
OUT_USU_TEL_RES,
OUT_EMP_END_LOGO_TELAS,
OUT_TCV_COD_CONV,
OUT_BSE_MARCA_VEICULO,
OUT_BSE_ANO_MOD_VEIC,
OUT_BSE_ZERO_KM,
OUT_APO_SEG_RISCO);
R1 C1%ROWTYPE;
BEGIN
GO_BLOCK('USU_PESQ');
FIRST_RECORD;
FOR R1 IN C1 LOOP
OPEN C1( R1.P_COD_CIA
,R1.P_PLACA
,R1.P_FEC_VIGENCIA);
FETCH C1 INTO R1;
LOOP
EXIT WHEN C1%NOTFOUND;
:USU_PESQ.PLACA := R1.OUT_BSE_PLACA_VEICULO;
:USU_PESQ.NOME_CONDUTOR_HABITUAL := R1.OUT_BSE_NOME_COND_HABITUAL;
:USU_PESQ.CHASSIS := R1.OUT_BSE_CHASSIS;
:USU_PESQ.RISCO := R1.OUT_BSE_COD_RISCO;
:USU_PESQ.APOLICE := R1.OUT_APO_NRO_APOLICE;
:USU_PESQ.SUCURSAL := R1.OUT_SUC_COD_SUCURSAL;
:USU_PESQ.CORRETOR := R1.OUT_COR_COD_CORRETOR;
:USU_PESQ.NRO_LIGACAO_você := R1.OUT_APO_NRO_LIGACAO_você;
:USU_PESQ.NRO_ENDOSSO := R1.OUT_APO_NRO_ENDOSSO;
:USU_PESQ.COD_ENDOSSO := R1.OUT_APO_COD_ENDOSSO;
:USU_PESQ.NOME := R1.OUT_USU_NOME_USU;
:USU_PESQ.DDD_USUARIO := R1.OUT_USU_DDD_RES;
:USU_PESQ.TEL_USUARIO := R1.OUT_USU_TEL_RES;
:USU_PESQ.CONTRATO := R1.OUT_CTR_COD_CONTRATO;
:USU_PESQ.CGC_CPF := R1.OUT_USU_CGC_CPF;
:USU_PESQ.END_LOGO_EMPRESA := R1.OUT_EMP_END_LOGO_TELAS;
:USU_PESQ.TCV_COD_CONV := R1.OUT_TCV_COD_CONV;
:USU_PESQ.APO_VIGENCIA_INI := R1.OUT_APO_VIGENCIA_INI;
:USU_PESQ.APO_VIGENCIA_FIM := R1.OUT_APO_VIGENCIA_FIM;
:USU_PESQ.MODELO := R1.OUT_BSE_MARCA_VEICULO;
:USU_PESQ.ANO_VEIC := R1.OUT_BSE_ANO_MOD_VEIC;
:USU_PESQ.BSE_ZERO_KM := R1.OUT_BSE_ZERO_KM;
:USU_PESQ.TPR_COD_PRODUTO := R1.OUT_TPR_COD_PRODUTO;
:USU_PESQ.APO_SEG_RISCO := R1.OUT_APO_SEG_RISCO;
NEXT_RECORD;
W_COUNT := W_COUNT + 1;
FETCH C1 INTO R1;
END LOOP;
CLOSE C1;
END LOOP;
FIRST_RECORD;
IF W_COUNT = 1 THEN
ENVIA_DADOS_USUARIO;
VERIFICA_CONTATOS;
ELSIF W_COUNT = 0 THEN
VERIFICA_CONTATOS;
ELSE
GO_BLOCK('USU_PESQ');
END IF;
END;
END;
Ele chama uma procedure que está dentro de uma package, mas não esta´executando, o erro aparece na chamada, tentei converter o tipo data deste parâmetro P_FEC_VIGENCIA mas nem assim funcionou, alguém pode me ajudar?
Abraços