CREATE PROCEDURE "dba"."ea_uus_eelarve"( in a_aasta smallint default 0 )
BEGIN
  declare ld_kuup date;
  declare ll_count integer;
  
  delete from gl_kp_kanne;

  if a_aasta > 2022 then
    set ld_kuup=ymd(a_aasta,1,1);

    select count() into ll_count from ea_kanne where years(kuup)=a_aasta;
    if ll_count=0 THEN

      insert into gl_kp_kanne(kuup,objnr,summa,meetnr,kulnr,talnr,artnr,tulnr,objectnr,osaknr,subjectnr,suundnr,taotnr)
        select ld_kuup,ea_kanne.objnr,sum(ea_kanne.summa),ea_kanne.meetnr,ea_kanne.kulnr,ea_kanne.talnr,ea_kanne.artnr,ea_kanne.tulnr,ea_kanne.objectnr,ea_kanne.osaknr,ea_kanne.subjectnr,ea_kanne.suundnr,ea_kanne.taotnr
          from ea_kanne
          where years(ea_kanne.kuup)=a_aasta-1
          group by ea_kanne.objnr,ea_kanne.meetnr,ea_kanne.kulnr,ea_kanne.talnr,ea_kanne.artnr,ea_kanne.tulnr,ea_kanne.objectnr,ea_kanne.osaknr,ea_kanne.subjectnr,ea_kanne.suundnr,ea_kanne.taotnr;

      select count() into ll_count from gl_kp_kanne;
      if ll_count>0 THEN
        insert into ea_kanne(kuup,objnr,doknr,summa,meetnr,kulnr,talnr,artnr,tulnr,objectnr,osaknr,subjectnr,suundnr,taotnr,user_code)
          select kuup,objnr,'1',gl_kp_kanne.summa,meetnr,kulnr,talnr,artnr,tulnr,objectnr,osaknr,subjectnr,suundnr,taotnr,32767
            from gl_kp_kanne;
      end if;
    end if;
  end if;

END