1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| declare
v_iu number;
ech_tot number;
ech_mnt_reg number;
v_annee number;
v_ord number;
ASS_MAT number;
ECH_ANN date;
nbre_ch number;
CH_NUM number;
i number;
begin
v_annee := to_number(substr(:system.effective_date,8,4));
select nvl(max(ech_ord),0)+1 into v_ord from echeancier where ech_bur=:global.bur and ech_ann=v_annee;
select ass_iu into v_iu from ref_cnam.mat_ass where CODE_CAISSE=:CODE_CAISEE and ASS_MAT=:ASS_MAT and ASS_CLE=:ASS_CLE and rownum=1;
--message ('bur'||' '||:global.bur||'ann'||' '||v_annee||'ORD '||v_ord||'CAISSE '||:code_caisee||'MAT '||
--:ass_mat||'cle '||:ass_cle||'iu '||v_iu||'ech_creation '||:ech_creation||'ech_tot '||:ech_tot||'ech_avc_dat '||:ECH_AVC_DATE
--||'mnt_avc '||:MNT_ACV||'ech_mnt_ch '||:ECH_MNT_CH||'ech_nbr_ch '||:ECH_NBR_CH||'ech_mnt_reg '||:ECH_MNT_REG||'ech_type_reg '||:ECH_TYPE_REG);
message (' ');
insert into echeancier (ECH_BUR ,ECH_ANN ,ECH_ORD ,CODE_CAISEE ,ASS_MAT ,ASS_CLE
, ASS_IU
, ECH_CREATION
,ECH_TOT
,ECH_AVC_DATE
,MNT_ACV
,ECH_MNT_CH
,ECH_NBR_CH
,ECH_MNT_REG
,ECH_TYPE_REG ) values( :global.bur,v_annee,v_ord, :code_caisee,:ass_mat,:ass_cle,v_iu,:ech_creation,:ech_tot,:ECH_AVC_DATE
,:MNT_ACV ,:ECH_MNT_CH ,:ECH_NBR_CH ,:ECH_MNT_REG ,:ECH_TYPE_REG );
i:=1;
--nbre_ch:=(:ech_tot - :MNT_ACV) /12;
while i<= :ECH_NBR_CH loop
insert into ECHEANCE ( ECH_BUR
,ECH_ANN
,ECH_ORD
,CH_NUM
,ECH_ETAT ) values (:global.bur
,v_annee
,v_ord
,i
,'C');
i:=i+1;
end loop
commit;
end; |
Partager