
-- update lm_ects_soll set vertiefung='0' || vertiefung where length(vertiefung) in (1,2);
-- update lm_ects_soll set vertiefung='0' || vertiefung where length(vertiefung) in (1,2);

  update lm_konto_pro_fs set ects_soll=(select max(S.ects_soll)
  from lm_ects_soll S, lehr_stg_ab L
 where L.tid=lm_konto_pro_fs.tid_stg
 and (S.abschluss=lm_konto_pro_fs.abschluss or S.abschluss is null)
and (S.stg=lm_konto_pro_fs.stg or S.stg is null)
and (S.vertiefung=L.vertfg or (S.vertiefung is null  and (L.vertfg is null or L.vertfg='' or L.vertfg='DEFAULT')))
and (S.schwerpunkt=L.schwerpunkt or (S.schwerpunkt is null  and (L.schwerpunkt is null or L.schwerpunkt='' or L.schwerpunkt='DEFAULT')))
and (S.kz_fach=L.kz_fach or S.kz_fach is null)
and (S.pversion=lm_konto_pro_fs.pversion_uniquename or S.pversion is null)
and (S.stort=L.stort or S.stort is null)
--and (S.stuart=lm_konto_pro_fs.stuart or S.stuart is null or lm_konto_pro_fs.stuart is null or lm_konto_pro_fs.stuart='')
and (S.stutyp=lm_konto_pro_fs.stutyp or S.stutyp is null)
and (S.stufrm=lm_konto_pro_fs.stufrm or S.stufrm is null)
and S.semester_von <= lm_konto_pro_fs.sem_rueck_beur_ein
and S.semester_bis >= lm_konto_pro_fs.sem_rueck_beur_ein 
 and S.fach_sem_zahl = lm_konto_pro_fs.fach_sem_zahl
 and S.fach_sem_zahl <=L.regel 
 )
 where sem_rueck_beur_ein in (20182,20191)
;

 update lm_konto_pro_fs set ects_soll_kum=(select sum(S.ects_soll)
  from lm_ects_soll S, lehr_stg_ab L
 where L.tid=lm_konto_pro_fs.tid_stg
 and (S.abschluss=lm_konto_pro_fs.abschluss or S.abschluss is null)
and (S.stg=lm_konto_pro_fs.stg or S.stg is null)
and (S.vertiefung=L.vertfg or (S.vertiefung is null  and (L.vertfg is null or L.vertfg='' or L.vertfg='DEFAULT')))
and (S.schwerpunkt=L.schwerpunkt or (S.schwerpunkt is null  and (L.schwerpunkt is null or L.schwerpunkt='' or L.schwerpunkt='DEFAULT')))
and (S.kz_fach=L.kz_fach or S.kz_fach is null)
and (S.pversion=lm_konto_pro_fs.pversion_uniquename or S.pversion is null)
and (S.stort=L.stort or S.stort is null)
--and (S.stuart=lm_konto_pro_fs.stuart or S.stuart is null or lm_konto_pro_fs.stuart is null or lm_konto_pro_fs.stuart='')
and (S.stutyp=lm_konto_pro_fs.stutyp or S.stutyp is null)
and (S.stufrm=lm_konto_pro_fs.stufrm or S.stufrm is null)
and S.semester_von <= lm_konto_pro_fs.sem_rueck_beur_ein
and S.semester_bis >= lm_konto_pro_fs.sem_rueck_beur_ein 
 and S.fach_sem_zahl <= lm_konto_pro_fs.fach_sem_zahl
 and S.fach_sem_zahl <=L.regel 
 )
 where sem_rueck_beur_ein in (20182,20191)
;
