CREATE PROCEDURE "dba"."ls_koond_eksport"(in a_skoop integer,in a_skoopkood char(16),in a_yksusnr integer,in a_yksuskood char(16),in a_paring integer,in a_peralg date,in a_perlop date)
begin
  declare li_paring integer;
  delete from gl_eksport;
  set li_paring=set_gl_1(a_paring);
  insert into gl_eksport(veerg1,veerg2,veerg3,veerg4,veerg5,veerg6,veerg11,veerg12,veerg17,veerg18,veerg19,veerg20,veerg21,veerg22,veerg23,veerg24,veerg25,veerg26,veerg27)
    select asulist_a.reg_nr,
           asulist_a.nimi,
           asulist_a.enimi,
           asulist_b.reg_nr,
           asulist_b.nimi,
           asulist_b.enimi,
           ls_yksus.kood,
           ls_yksus.nimi,
           ls_makslist.maksukood,
           ls_makslist.nimi,
           ls_maksud.nr,
           Left(ls_maksud."info",100),
           ls_maksud.akuup,
           ls_maksud.lkuup,
           ls_maksud.par1,
           ls_maksud.makshind,
           ls_maksud.limiit,
           ls_maksud.par2,
           ls_maksud.par3
      from ls_maksud left outer join gl_1 on(ls_maksud."id"=gl_1."id") and(ls_maksud.akuup = gl_1.kuup)
                     left outer join ls_laps on ls_maksud.lapsnr=ls_laps.lapsnr
                     left outer join asulist as asulist_a on ls_laps.asutnr=asulist_a.asutnr
                     left outer join asulist as asulist_b on ls_laps.saajanr=asulist_b.asutnr
                     left outer join ls_makslist on ls_maksud.maksnr=ls_makslist.maksnr
                     left outer join ls_yksus on ls_maksud.yksusnr = ls_yksus.yksusnr
                     left outer join dk_obj on ls_yksus.dk_objnr=dk_obj.objnr
                     left outer join skoobid on dk_obj.skoop=skoobid.skoop
      where ((ls_maksud."id" = gl_1."id") and(ls_maksud.akuup = gl_1.kuup) or a_paring = 0) and
            (dk_obj.skoop = a_skoop or a_skoop = 0) and
            Left(skoobid.kood,Length(a_skoopkood))=a_skoopkood and
            (ls_maksud.yksusnr = a_yksusnr or a_yksusnr = 0) and
            Left(ls_yksus.kood,Length(a_yksuskood))=a_yksuskood and
            ls_maksud.akuup<=a_perlop and (ls_maksud.lkuup is null or ls_maksud.lkuup>=a_peralg);
end