- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por Marcio68Almeida.
-
AutorPosts
-
20 de dezembro de 2007 às 10:15 pm #80976mariorochaParticipante
Alguém pode me ajudar a identificar os erros dessa procedure:
Script
create or replace procedure prc_saldo_carteira_gf (–p_errmsg out varchar2,
p_data_saldo in date) iscursor c_saldo_carteira_gf (p_dt_saldo varchar2) is
SELECT distinct
cl.cli_cod_cgccpf as CNPJ,
cl.cli_rsl as RAZAO_SOCIAL,
c.pta_num NUMERO_CONTRATO,
c.con_val as VALOR_INICIAL,
t.oper_nom as GERENTE,NVL((select sum(s.sdo_val)
from tb_con c,
tb_sdo s
where c.con_num = s.con_num
and c.con_dat_alt = s.sdo_dat_alt
and c.cli_cod = cl.cli_cod
and c.con_dat_alt = ’01 jan 1960′
and c.sitcon_cod in (1,2,3,4)
and s.lan_num_lib = 1
and s.prc_num = 0
and s.lan_seq_par = 1
and s.lan_tip = 1
and s.sdo_dat >= p_dt_saldo), 0) as SALDO_DEVEDOR,c.con_val_taxctb TAXA,
c.con_val_tar TAC,(select max(c.con_dat_vct)
from tb_con c,
tb_sdo s
where c.con_num = s.con_num
and c.con_dat_alt = s.sdo_dat_alt
and c.cli_cod = cl.cli_cod
and c.con_dat_alt = ’01 jan 1960′
and c.sitcon_cod in (1,2,3,4)
and s.lan_num_lib = 1
and s.prc_num = 0
and s.lan_seq_par = 1
and s.lan_tip = 1
and s.sdo_dat >= p_dt_saldo) as vencto,(select max(c.CON_DAT)
from tb_con c,
tb_sdo s
where c.con_num = s.con_num
and c.con_dat_alt = s.sdo_dat_alt
and c.cli_cod = cl.cli_cod
and c.con_dat_alt = ’01 jan 1960′
and c.sitcon_cod in (1,2,3,4)
and s.lan_num_lib = 1
and s.prc_num = 0
and s.lan_seq_par = 1
and s.lan_tip = 1
and s.sdo_dat >= p_dt_saldo) as Data_ContratoFROM tb_cli cl,
tb_con c ,
tb_oper tWHERE c.cli_cod = cl.cli_cod
AND c.con_dat_alt = ’01 jan 1960′
AND c.sitcon_cod in (1,2,3,4)
AND c.con_num_ger = t.oper_cod
AND (NVL((select sum(s.sdo_val)
from tb_con c,
tb_sdo s
where c.con_num = s.con_num
and c.con_dat_alt = s.sdo_dat_alt
and c.cli_cod = cl.cli_cod
and c.con_dat_alt = ’01 jan 1960′
and c.sitcon_cod in (1,2,3,4)
and s.lan_num_lib = 1
and s.prc_num = 0
and s.lan_seq_par = 1
and s.lan_tip = 1
and s.sdo_dat >= p_dt_saldo), 0)) > 0;p_errmsg varchar2(2000);
v_data_saldo varchar2(8);
v_nome_arquivo varchar2(100);
v_arquivo utl_file.file_type;
v_diretorio varchar2(200) := ‘/backup/CPMF’;v_registro_header varchar2(1000);
v_registro_detail varchar2(1000);
v_registro_trailler varchar2(1000);v_quantidade number := 0;
begin
if p_data_saldo is null then
v_data_saldo := to_char(sysdate, ‘ddmmyyyy’);
else
v_data_saldo := to_char(p_data_saldo, ‘ddmmyyyy’);
end if;v_nome_arquivo := ‘CARTEIRAGF’||
v_data_saldo||
‘.csv’;v_arquivo := utl_file.fopen(v_diretorio, v_nome_arquivo, ‘W’);
— 4.2.1 Registro Header
v_registro_header := ‘CNPJ’||
‘;’||
‘RAZAO_SOCIAL’||
‘;’||
‘NUMERO_CONTRATO’||
‘;’||
‘VALOR_INICIAL’||
‘;’||
‘SALDO_DEVEDOR’||
‘;’||
‘TAXA’||
‘;’||
‘TAC’||
‘;’||
‘VENCTO’||
‘;’||
‘DATA_CONTRATO’||
‘;’||
‘GERENTE’||
‘;’;utl_file.put_line(v_arquivo, v_registro_header);
— 4.2.2 Registro Detail
for i in c_saldo_carteira_gf (v_data_saldo) loopv_registro_detail := substr(i.cnpj, 1, 2)||’.’||
substr(i.cnpj, 3, 3)||’.’||
substr(i.cnpj, 6, 3)||’/’||
substr(i.cnpj, 9, 4)||’-‘||
substr(i.cnpj, 13, 2)||
‘;’||
i.razao_social||
‘;’||
i.numero_contrato||
‘;’||
i.valor_inicial||
‘;’||
to_char(i.saldo_devedor * 1000000, ‘9999999999999999,000000’)||
‘;’||
to_char(i.taxa * 1000000, ‘999999999,000000’)||
‘;’||
to_char(i.tac * 100, ‘999999999999,00’)||
‘;’||
to_char(i.vencto, ‘dd/mm/yyyy’)||
‘;’||
to_char(i.data_contrato, ‘dd/mm/yyyy’)||
‘;’||
i.gerente||
‘;’;utl_file.put_line(v_arquivo, v_registro_detail);
v_quantidade := v_quantidade + 1;
end loop;
— 4.2.7 Registro Trailler
v_registro_trailler := ‘TOTAL DE REGISTROS’||
rpad(‘ ‘, 10, ‘ ‘)||
v_quantidade;utl_file.put_line(v_arquivo, v_registro_trailler);
utl_file.fclose(v_arquivo);
end prc_saldo_carteira_gf;
21 de dezembro de 2007 às 10:16 pm #80981Marcio68AlmeidaParticipanteQuando você manda compilar, dá que erros ???
Use o comando show errors para identificar. -
AutorPosts
- Você deve fazer login para responder a este tópico.