Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por Marcio68Almeida.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #80976
    mariorocha
    Participante

      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) is

      cursor 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_Contrato

      FROM tb_cli cl,
      tb_con c ,
      tb_oper t

      WHERE 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) loop

      v_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;

      #80981
      Marcio68Almeida
      Participante

        Quando você manda compilar, dá que erros ???
        Use o comando show errors para identificar.

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress