43000^Köpfe oder Fälle ?^-3^0^0^130^150^1^sql^30^1^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle;^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Köpfe';^
43000^Köpfe oder Fälle ?^-3^0^0^130^150^1^sql^30^1^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle;^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
43001^Seit Semester^1^0^0^130^80^1^integer^30^1^1^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
43001^Seit Semester^1^0^0^130^80^1^integer^30^1^1^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
order by 1 DESC;^^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
order by 1 DESC;^^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
where today()-(5*365) between semester_anfang and semester_ende;^
where today()-(5*365) between semester_anfang and semester_ende;^
43002^Fächer^3^0^0^130^200^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^hidden^^
43002^Fächer^3^0^0^130^200^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^hidden^^
43004^Hörerstatus^18^0^0^130^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
43004^Hörerstatus^18^0^0^130^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
43005^Stichtag^-2^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^hidden^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
43006^Status^19^330^-1^130^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^ ^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
43006^Status^19^330^-1^130^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^ ^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
43007^Bis Semester^2^330^-1^130^100^1^integer^30^0^1^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
43007^Bis Semester^2^330^-1^130^100^1^integer^30^0^1^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
order by 1 DESC;^Eintrag^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
order by 1 DESC;^Eintrag^<<SQL>> select val('20' || replace(replace(semester_id,'S','1'),'W','2')) as semester_tid,semester_bezeichnung FROM costage_st_semester\
@ -14,7 +14,9 @@
43009^Fachkennz.^9^330^-1^130^150^1^char^30^0^1^<<SQL>> select apnr,druck from sos_k_kzfa order by 2^hidden^^
43009^Fachkennz.^9^330^-1^130^150^1^char^30^0^1^<<SQL>> select apnr,druck from sos_k_kzfa order by 2^hidden^^
43010^Vertiefung^4^330^-1^130^100^1^char^30^0^1^<<SQL>> select apnr,druck from cifx where key=39 order by 2;^hidden^^
43010^Vertiefung^4^330^-1^130^100^1^char^30^0^1^<<SQL>> select apnr,druck from cifx where key=39 order by 2;^hidden^^
43012^Filter Studierende^120^0^0^130^150^1^sql^20^0^1^<<SQL>> SELECT content,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^hidden^^
43012^Studiengangstyp^120^0^0^130^150^1^char^20^0^1^<<SQL>> select 'ETSG','Einfach- und Teilstudiengänge' from xdummy\
union select 'EMSG','Einfach- und Mehrfachstudiengänge' from xdummy\
order by 2;^ ^<<SQL>> select 'ETSG','Einfach- und Teilstudiengänge' from xdummy^
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")!=-1>\
<#assign studiengangstyp_filter="1=1" />\
<#assign lehr_stg_ab="lehr_stg_ab_gew"/>\
\
<#assign quelltabelle='sos_stud_gewichtung'/>\
<#if studiengangstyp=="ETSG">\
<#assign studiengangstyp_filter="SG.studiengangs_typ_kb in ('ESG','TSG')" />\
<#elseif studiengangstyp=="EMSG">\
<#assign studiengangstyp_filter="SG.studiengangs_typ_kb in ('ESG','MSG')" />\
</#if>\
</#if>\
\
\
/* <#assign extension= <<Trennen nach>> > */\
\
create temp table tmp_studis1 \
(semester integer,\
semester_bezeichnung varchar(255),\
semester_sort varchar(10),\
m_1fs ${feldtyp}, \
w_1fs ${feldtyp},\
gesamt_1fs ${feldtyp},\
m_gesamt ${feldtyp},\
w_gesamt ${feldtyp},\
gesamt ${feldtyp}\
)\
<@informixnolog/>;\
\
create temp table tmp_studis2\
(semester integer,\
semester_bezeichnung varchar(255),\
semester_sort varchar(10),\
m_1fs ${feldtyp}, \
w_1fs ${feldtyp},\
gesamt_1fs ${feldtyp},\
m_gesamt ${feldtyp},\
w_gesamt ${feldtyp},\
gesamt ${feldtyp}\
)\
<@informixnolog/>;\
\
\
--'ETSG','Einfach- und Teilstudiengänge' \
--zun. temp. Tabelle\
--zun. temp. Tabelle\
\
SELECT\
SELECT\
val('20' || replace(replace(SEM.semester_id,'S','1'),'W','2')) as semester,\
val('20' || replace(replace(SM.semester_id,'S','1'),'W','2')) as semester,--H.st_sem_nr,\
SEM.semester_id as semester_sort,\
SM.semester_bezeichnung,\
SEM.semester_bezeichnung,\
SG.st_absz_nr as abschluss,\
G.stp_stp_nr as studeingang_nr ,--substr(F.stgnr,1,1), TODO paßt das?\
SG.st_skz_nr as fach,\
F.st_stdfach_nr as fach_nr,--substr(F.stgnr,length(F.stgnr),1),\
SG.studiengangs_identifikator,\
ST.studienstatustyp as status,\
SG.studiengangs_bezeichnung,\
FS.fachsemester as fach_sem_zahl,\
SM.st_sem_nr,\
H.hoererstatus_kb as hrst,\
ST.st_studium_nr,\
V.studienform_statistik_code as stufrm,\
S.st_studstamm_nr,\
ST.gueltig_ab as ruebeudat, --TODO: jeweils letzten Datensatz pro Semester\
ST.st_studiengang_nr,\
ST.gueltig_ab as endedat,--TODO: jeweils letzten Datensatz pro Semester\
SG.studiengangs_typ_kb,\
ST.gueltig_ab as anfdat,--TODO: jeweils letzten Datensatz pro Semester\
SA.studienstatustyp,\
'H' as primaerfach,\
SA.beginn_datum,\
F.unikey,\
SA.gueltig_ab, \
S.geschlecht,\
null::varchar(255) as abschluss_str,\
null::integer as st_studiengang_nr_msg,\
null::integer as st_studiengang_nr_tsg,\
null::integer as studienfach_sortierung,\
''::varchar(255) as hoererstatus_name,\
\
null::integer as fachsemester,\
count(*) as summe\
count(*) as summe\
into temp tmp_studien\
into temp tmp_studien\
from \
FROM costage_st_studierendenstammdaten S,\
costage_st_hoererstatus H,\
costage_st_studien ST,\
costage_st_studierendenstammdaten S,\
-- costage_st_hoererstatus H,\
costage_st_studienstatus ST,\
costage_st_semester SM,\
costage_st_studiengaenge G,\
costage_st_studiengaenge SG ,\
costage_st_studienkennzahlen F,\
costage_st_studienstatus SA\
costage_st_abschlussziele_lokal A,\
\
costage_st_fachsemester FS,\
costage_st_semester SEM,\
costage_st_studien V ,\
costage_st_hauptstudien K\
where \
where \
K.st_studium_nr=V.st_studium_nr\
S.st_studstamm_nr = ST.st_studstamm_nr\
and SEM.st_sem_nr=K.st_sem_nr\
and ST.st_studiengang_nr=SG.st_studiengang_nr\
and F.st_skz_nr=G.st_skz_nr\
--and ST.st_studium_nr=SA.st_studium_nr\
and V.st_studiengang_nr=G.st_studiengang_nr\
--and SM.st_sem_nr=SA.st_sem_nr\
and FS.st_studium_nr=V.st_studium_nr\
--and F.st_studium_nr=SA.st_studium_nr\
and SEM.st_sem_nr=FS.st_sem_nr\
-- and F.st_studium_nr=ST.st_studium_nr\
and FS.fachsemestertyp='FS' --TODO: klin.Semester=KS\
-- and F.st_sem_nr=SM.st_sem_nr\
and G.st_absz_nr=A.st_absz_nr\
-- and F.fachsemestertyp='FS'\
and S.st_studstamm_nr=V.st_studstamm_nr\
and S.matrikelnummer is not null\
and H.st_studstamm_nr=S.st_studstamm_nr\
--and H.st_sem_nr = ST.\
and H.st_sem_nr=SEM.st_sem_nr\
and val('20' || replace(replace(SM.semester_id,'S','1'),'W','2')) >= <<Seit Semester>>\
and ST.st_studium_nr=V.st_studium_nr\
/* and val('20' || replace(replace(SM.semester_id,'S','1'),'W','2')) <= <<Bis Semester>> */\
and ST.st_sem_nr=SEM.st_sem_nr\
/* and S.matrikelnummer =<<Matrikelnr.>> */\
and date(SEM.semester_anfang) >= date_val('01.01.2000')\
and ${studiengangstyp_filter}\
--and S.matrikelnummer='7344750'\
and SA.st_studium_nr=ST.st_studium_nr\
--and SEM.st_sem_nr=178\
and SA.st_sem_nr=SM.st_sem_nr\
and val('20' || replace(replace(SEM.semester_id,'S','1'),'W','2')) >= <<Seit Semester>>\
and SA.studienstatustyp not in ('a','o') -- Excluded the status for a: Studienplatz angenommen and o: Studium offen (noch keine Weitermeldung erfolgt)\
/* and val('20' || replace(replace(SEM.semester_id,'S','1'),'W','2')) <= <<Bis Semester>> */\
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14\
\
--,SM.semester_bezeichnung\
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15\
order by 1;\
\
\
--AND F.semester >= $start_stud_sem\
update tmp_studien \
set abschluss_str=A.name\
from costage_st_abschlussziele_lokal A\
where A.st_absz_nr=tmp_studien.abschluss\
;\
;\
\
\
insert into tmp_studis1(semester ,\
update tmp_studien\
semester_bezeichnung,\
set hoererstatus_name=H.hoererstatus_name\
semester_sort,\
from costage_st_hoererstatus H\
m_1fs, \
where tmp_studien.st_studstamm_nr = H.st_studstamm_nr\
w_1fs,\
and tmp_studien.st_sem_nr = H.st_sem_nr\
gesamt_1fs,\
;\
m_gesamt ,\
\
w_gesamt ,\
update tmp_studien\
gesamt)\
set fachsemester=F.fachsemester\
\
from costage_st_fachsemester F\
select semester,\
where F.st_studium_nr=tmp_studien.st_studium_nr\
semester_bezeichnung,\
and F.st_sem_nr=tmp_studien.st_sem_nr\
semester_sort,\
and F.fachsemestertyp='FS'\
(case when geschlecht='M' and fach_sem_zahl=1 then summe else 0 end) as m_1fs,\
;\
(case when geschlecht='W' and fach_sem_zahl=1 then summe else 0 end) as w_1fs,\
\
(case when fach_sem_zahl=1 then summe else 0 end) as gesamt_1fs,\
\
(case when geschlecht='M' then summe else 0 end) as m_gesamt,\
/*\
(case when geschlecht='W' then summe else 0 end) as w_gesamt,\
--ESG löschen wenn inaktiv:\
summe\
delete from tmp_studien\
from tmp_studien S\
where studiengangs_typ_kb ='ESG'\
--group by semester,semester_bezeichnung,semester_sort, geschlecht,fach_sem_zahl\
and studienstatustyp is null;\
; \
\
\
--MSG inaktiv, dann MSG und TSG löschen: \
\
\
\
select T.st_sem_nr,\
insert into tmp_studis2(semester ,\
T.st_studium_nr,\
semester_bezeichnung,\
T.st_studstamm_nr,\
semester_sort,\
T.st_studiengang_nr,\
m_1fs , \
T.studiengangs_typ_kb,\
w_1fs ,\
MTSG.st_studiengang_nr_tsg\
gesamt_1fs,\
\
m_gesamt ,\
into temp tmp_studien_ungueltig\
w_gesamt,\
from tmp_studien T left outer join costage_st_studiengaenge_mtsg MTSG\
gesamt)\
on (MTSG.st_studiengang_nr_msg=T.st_studiengang_nr)\
\
where T.studiengangs_typ_kb ='MSG'\
select semester ,\
and T.studienstatustyp is null\
semester_bezeichnung,\
;\
semester_sort,\
\
sum(m_1fs ), \
select T.st_sem_nr,\
sum(w_1fs ),\
T.st_studium_nr,\
sum(gesamt_1fs),\
T.st_studstamm_nr,\
sum(m_gesamt) ,\
T.st_studiengang_nr,\
sum(w_gesamt),\
T.studiengangs_typ_kb,\
sum(gesamt)\
MTSG.st_studiengang_nr_tsg\
from tmp_studis1\
\
group by 1,2,3;\
into temp tmp_studien_gueltig\
\
from tmp_studien T left outer join costage_st_studiengaenge_mtsg MTSG\
\
on (MTSG.st_studiengang_nr_msg=T.st_studiengang_nr)\
update tmp_studis2\
where T.studiengangs_typ_kb ='MSG'\
set gesamt = null where gesamt = 0;\
and T.studienstatustyp is not null\
update tmp_studis2\
;\
set gesamt_1fs = null where gesamt_1fs = 0;\
\
update tmp_studis2\
--MSG löschen\
set w_gesamt = null where w_gesamt = 0;\
delete from tmp_studien\
\
where studiengangs_typ_kb ='MSG'\
\
and (st_sem_nr,\
<@selectintotmp \
st_studium_nr,\
select="semester ,\
st_studstamm_nr,\
semester_bezeichnung,\
st_studiengang_nr) in \
semester_sort,\
(select st_sem_nr,\
m_1fs , \
st_studium_nr,\
w_1fs ,\
st_studstamm_nr,\
gesamt_1fs,\
st_studiengang_nr\
m_gesamt ,\
from tmp_studien_ungueltig)\
w_gesamt,\
;\
gesamt"\
--TSG löschen:\
source="tmp_studis2"\
\
target="tmp_studis">\
delete from tmp_studien\
order by semester_sort desc\
where studiengangs_typ_kb ='TSG'\
</@selectintotmp>\
and (st_sem_nr,\
<@informixnolog/>;\
--st_studium_nr,\
\
st_studstamm_nr,\
\
st_studiengang_nr) in \
-- insert into tmp_studis (eintrag)\
(select st_sem_nr,\
-- values ("");\
--st_studium_nr,\
\
st_studstamm_nr,\
\
st_studiengang_nr_tsg\
drop table tmp_studis1;\
from tmp_studien_ungueltig)\
drop table tmp_studis2;\
and (st_sem_nr,\
drop table tmp_studien;\
st_studium_nr,\
\
st_studstamm_nr,\
-- Falls Division durch 0 vorkommen sollte, Division durch NULL ist möglich\
1^COSTAGE_STUDENT_FILTER^1=1^Filter Studierende für CO^Hier werden Studierende für Auswertungen aus CO gefiltert^^COSTAGE_STUD_FILTER^^^310^1^0^0^^1^01.01.1900^31.12.3000^