Página principal

De Wiki Inmetro
Ir para: navegação, pesquisa

O MediaWiki foi instalado.

Consulte o Manual de Usuário para informações de como usar o software wiki.

Começando

declare

   parc_cbr_id       hw_parcelas.cbr_id%type := &cbr_id;
   parc_cd_convenio  hw_parcelas.cd_convenio%type := &cd_convenio;
   parc_dt_venc_parc hw_parcelas.dt_venc_parc%type := &dt_venc_parc;
   parc_vl_total     hw_parcelas.vl_total%type := &vl_total;

   ln_prc_id     hw_parcelas.prc_id%type;
   ln_bloquete   hw_parcelas.nr_bloquete%type;
   lv_nr_faixa   hw_parcelas.nr_bloquete%type;
   ln_sq_parcela hw_parcelas.sq_parcela%type;

begin
   begin
      hw_pck_contexto.hw_prc_inicializa_usuario;
   end;

   if length(parc_cd_convenio) > 6 then
      lv_nr_faixa := hw_fnc_retorna_grus(parc_cd_convenio, 1);
   else
      lv_nr_faixa := hw_pck_imputacao.fnc_get_par('NR_BLOQUETE');
   end if;

   ln_bloquete := lv_nr_faixa || hw_fnc_dig_bloquete_gru(lpad(lv_nr_faixa, 17, 0));
   --
   select prc_seq.nextval into ln_prc_id from dual;
   select max(prc.sq_parcela) + 1 --
     into ln_sq_parcela
     from hw_parcelas prc
    where prc.cbr_id = parc_cbr_id;
   -- 
   insert into hw_parcelas
      (sq_parcela,
       nr_parcela,
       nr_bloquete,
       vl_parcela,
       vl_acrescimo,
       vl_total,
       tp_pagamento,
       cbr_id,
       dt_venc_parc,
       prc_id,
       cd_convenio)
   values
      (ln_sq_parcela,
       hw_pck_gera_cobranca.fnc_seq_parcela(parc_cbr_id),
       ln_bloquete,
       round(nvl(parc_vl_total, 0), 2),
       0,
       round(nvl(parc_vl_total, 0), 2),
       1,
       parc_cbr_id,
       parc_dt_venc_parc,
       ln_prc_id,
       parc_cd_convenio);

   dbms_output.put_line('Gerou a parcela de número: ' || ln_bloquete);
end;