Schnittstelle CampusOnline (TU Graz) zu SuperX-Modul COSTAGE http://www.superx-projekt.de/doku/costage_modul/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

234 lines
7.0 KiB

43000^Studierende (Zeitreihe) CO Basisdaten^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
\
<#assign studiengangstyp="" />\
/* <#assign studiengangstyp=<<Studiengangstyp>> /> */\
<#assign studiengangstyp_filter="1=1" />\
\
<#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>\
\
\
--'ETSG','Einfach- und Teilstudiengänge' \
--zun. temp. Tabelle\
\
SELECT\
val('20' || replace(replace(SM.semester_id,'S','1'),'W','2')) as semester,--H.st_sem_nr,\
SM.semester_bezeichnung,\
SG.st_absz_nr as abschluss,\
SG.st_skz_nr as fach,\
SG.studiengangs_identifikator,\
SG.studiengangs_bezeichnung,\
SM.st_sem_nr,\
ST.st_studium_nr,\
S.st_studstamm_nr,\
ST.st_studiengang_nr,\
SG.studiengangs_typ_kb,\
SA.studienstatustyp,\
SA.beginn_datum,\
SA.gueltig_ab, \
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\
into temp tmp_studien\
FROM costage_st_studierendenstammdaten S,\
costage_st_studien ST,\
-- costage_st_hoererstatus H,\
costage_st_semester SM,\
costage_st_studiengaenge SG ,\
costage_st_studienstatus SA\
\
where \
S.st_studstamm_nr = ST.st_studstamm_nr\
and ST.st_studiengang_nr=SG.st_studiengang_nr\
--and ST.st_studium_nr=SA.st_studium_nr\
--and SM.st_sem_nr=SA.st_sem_nr\
--and F.st_studium_nr=SA.st_studium_nr\
-- and F.st_studium_nr=ST.st_studium_nr\
-- and F.st_sem_nr=SM.st_sem_nr\
-- and F.fachsemestertyp='FS'\
and S.matrikelnummer is not null\
--and H.st_sem_nr = ST.\
and val('20' || replace(replace(SM.semester_id,'S','1'),'W','2')) >= <<Seit Semester>>\
/* and val('20' || replace(replace(SM.semester_id,'S','1'),'W','2')) <= <<Bis Semester>> */\
/* and S.matrikelnummer =<<Matrikelnr.>> */\
and ${studiengangstyp_filter}\
and SA.st_studium_nr=ST.st_studium_nr\
and SA.st_sem_nr=SM.st_sem_nr\
and SA.studienstatustyp not in ('a','o') -- Excluded the status for a: Studienplatz angenommen and o: Studium offen (noch keine Weitermeldung erfolgt)\
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14\
--,SM.semester_bezeichnung\
order by 1;\
\
update tmp_studien \
set abschluss_str=A.name\
from costage_st_abschlussziele_lokal A\
where A.st_absz_nr=tmp_studien.abschluss\
;\
\
update tmp_studien\
set hoererstatus_name=H.hoererstatus_name\
from costage_st_hoererstatus H\
where tmp_studien.st_studstamm_nr = H.st_studstamm_nr\
and tmp_studien.st_sem_nr = H.st_sem_nr\
;\
\
update tmp_studien\
set fachsemester=F.fachsemester\
from costage_st_fachsemester F\
where F.st_studium_nr=tmp_studien.st_studium_nr\
and F.st_sem_nr=tmp_studien.st_sem_nr\
and F.fachsemestertyp='FS'\
;\
\
\
/*\
--ESG löschen wenn inaktiv:\
delete from tmp_studien\
where studiengangs_typ_kb ='ESG'\
and studienstatustyp is null;\
\
--MSG inaktiv, dann MSG und TSG löschen: \
\
select T.st_sem_nr,\
T.st_studium_nr,\
T.st_studstamm_nr,\
T.st_studiengang_nr,\
T.studiengangs_typ_kb,\
MTSG.st_studiengang_nr_tsg\
\
into temp tmp_studien_ungueltig\
from tmp_studien T left outer join costage_st_studiengaenge_mtsg MTSG\
on (MTSG.st_studiengang_nr_msg=T.st_studiengang_nr)\
where T.studiengangs_typ_kb ='MSG'\
and T.studienstatustyp is null\
;\
\
select T.st_sem_nr,\
T.st_studium_nr,\
T.st_studstamm_nr,\
T.st_studiengang_nr,\
T.studiengangs_typ_kb,\
MTSG.st_studiengang_nr_tsg\
\
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)\
where T.studiengangs_typ_kb ='MSG'\
and T.studienstatustyp is not null\
;\
\
--MSG löschen\
delete from tmp_studien\
where studiengangs_typ_kb ='MSG'\
and (st_sem_nr,\
st_studium_nr,\
st_studstamm_nr,\
st_studiengang_nr) in \
(select st_sem_nr,\
st_studium_nr,\
st_studstamm_nr,\
st_studiengang_nr\
from tmp_studien_ungueltig)\
;\
--TSG löschen:\
\
delete from tmp_studien\
where studiengangs_typ_kb ='TSG'\
and (st_sem_nr,\
--st_studium_nr,\
st_studstamm_nr,\
st_studiengang_nr) in \
(select st_sem_nr,\
--st_studium_nr,\
st_studstamm_nr,\
st_studiengang_nr_tsg\
from tmp_studien_ungueltig)\
and (st_sem_nr,\
st_studium_nr,\
st_studstamm_nr,\
st_studiengang_nr) not in \
(select st_sem_nr,\
st_studium_nr,\
st_studstamm_nr,\
st_studiengang_nr_tsg\
from tmp_studien_gueltig)\
;\
drop table tmp_studien_ungueltig;\
drop table tmp_studien_gueltig;\
*/\
--final selection:\
select semester_bezeichnung,\
--abschluss,\
--fach,\
studiengangs_identifikator,\
studiengangs_bezeichnung,\
abschluss_str,\
hoererstatus_name,\
studienstatustyp,\
studiengangs_typ_kb,\
st_studiengang_nr,\
st_studiengang_nr_msg,\
st_studiengang_nr_tsg,\
studienfach_sortierung,\
fachsemester,\
sum(summe)::integer as summe,\
beginn_datum,\
gueltig_ab\
from tmp_studien\
group by semester,1,2,3,4,5,6,7,8,9,10,11,12,14,15\
order by semester,1,2,3,4,5,6,7,8,9,10,11,12,14,15;^XIL List\
sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=1\
drop_and_delete movable_columns\
min_heading_height=55\
Column CID=0 heading_text="@@sos_semester@@" explanation="@@@sos_semester@@@" center_heading\
row_selectable heading_platform readonly\
width=10\
Column CID=0 heading_text="Studiengang ID" explanation="" center_heading\
row_selectable heading_platform readonly\
width=30\
Column CID=0 heading_text="Studiengang\\nName" explanation="Fach" center_heading\
row_selectable heading_platform readonly\
width=30\
Column CID=0 heading_text="Abschluss" explanation="Abschluss" center_heading\
row_selectable heading_platform readonly\
width=30\
Column CID=0 heading_text="Hörerstatus" explanation="" center_heading\
row_selectable heading_platform readonly\
width=30\
Column CID=0 heading_text="Studienstatus" explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=0 heading_text="Studiengangtyp" explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=0 heading_text="Studiengang Nr." explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=0 heading_text="MSG Nr." explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=0 heading_text="TSG Nr." explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=0 heading_text="Fachnr." explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=0 heading_text="Fachsemester" explanation="" center_heading\
row_selectable heading_platform readonly\
width=8\
Column CID=1 heading_text="Gesamtzahl" explanation="@@@sos_gesamtzahl@@@" center_heading\
row_selectable col_selectable rightJust heading_platform\
readonly\
width=8\
@@@^Semester^Anzahl^Zeitreihe zur Anzeige des Datenbestandes aus CO^drop table tmp_studien;^-leer-^2^700^360^0^1^ ^