@ -41,7 +41,9 @@ null::integer as st_studiengang_nr_msg_primaerflag,
@@ -41,7 +41,9 @@ null::integer as st_studiengang_nr_msg_primaerflag,
- - null : : integer as studienfach_sortierung ,
null : : char ( 10 ) as hrst ,
null : : integer as fachsemester ,
null : : integer as praxissemester ,
null : : integer as hssem ,
null : : integer as klinsem ,
( case when SG . studiengangs_typ_kb in ( ' TSG ' ) then SA . studienstatustyp else null : : char ( 10 ) end ) as statustyp_tsg ,
( case when ST . hauptstudium_flag = ' J ' then 1 : : smallint else 0 : : smallint end ) as primaerflag_studien ,
0 : : smallint as tsg_generated ,
@ -61,7 +63,7 @@ null::integer as hzb_jahr,
@@ -61,7 +63,7 @@ null::integer as hzb_jahr,
null : : date as hzb_datum ,
null : : decimal ( 14 , 7 ) as hzb_note ,
null : : char ( 10 ) as abm_art_s ,
rank ( ) over ( partition by SM . st_sem_nr , S . st_studstamm_nr , SG . studiengangs_identifikator order by SA . gueltig_ab desc ) as status_historie
rank ( ) over ( partition by SM . st_sem_nr , S . st_studstamm_nr , SG . studiengangs_identifikator order by SA . gueltig_ab desc , SA . studienstatustyp desc ) as status_historie
- - rank ( ) over ( partition by SM . st_sem_nr , S . st_studstamm_nr , SG . studiengangs_identifikator order by ( case when SA . gueltig_ab = SM . semester_ende then date_val ( ' 01.01.1900 ' ) else SA . gueltig_ab end ) desc ) as status_historie
into temp tmp_studien
FROM costage_st_studierendenstammdaten S ,
@ -86,7 +88,7 @@ and (SA.studienstatustyp not in ('Z','X') or (
@@ -86,7 +88,7 @@ and (SA.studienstatustyp not in ('Z','X') or (
and SA . gueltig_ab < = today ( )
and date ( SA . gueltig_ab ) < date ( SM . semester_ende )
) ) - - Studis außer erst / neueinschr / rückmeld / beurlaubt werden in der Semestermitte exmatr . zum Endedatum Semesterende , wenn dieses Datum in der Zukunft liegt soll der Studi mit dem vorherigen Status erscheinen
- - and SA . studienstatustyp not in ( ' a ' , ' o ' )
and SA . studienstatustyp not in ( ' a ' , ' o ' , ' z ' )
- - group by 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13
and $ { COSTAGE_STUDENT_FILTER }
and SM . semester_tid > = $ { beginn_semester }
@ -145,7 +147,8 @@ drop table if exists tmp_studien_esg_tsg;
@@ -145,7 +147,8 @@ drop table if exists tmp_studien_esg_tsg;
select * ,
1 : : integer as primaerflag ,
null : : integer as letztes_tsg_semester ,
null : : integer as st_studium_nr_msg
null : : integer as st_studium_nr_msg ,
null : : date as endedat_tsg
into temp tmp_studien_esg_tsg from tmp_studien T
where T . studiengangs_typ_kb in ( ' ESG ' , ' TSG ' )
and T . status_historie = 1
@ -205,6 +208,30 @@ and F.st_sem_nr=tmp_studien_esg_tsg.st_sem_nr
@@ -205,6 +208,30 @@ and F.st_sem_nr=tmp_studien_esg_tsg.st_sem_nr
and F . fachsemestertyp = ' FS '
;
select 35 , timestamp_str ( now ( ) ) from xdummy ;
- - praxissemester :
update tmp_studien_esg_tsg
set praxissemester = F . fachsemester
from costage_st_fachsemester F
where F . st_studium_nr = tmp_studien_esg_tsg . st_studium_nr
and F . st_sem_nr = tmp_studien_esg_tsg . st_sem_nr
and F . fachsemestertyp = ' PS '
;
select 36 , timestamp_str ( now ( ) ) from xdummy ;
- - klinsem
update tmp_studien_esg_tsg
set klinsem = F . fachsemester
from costage_st_fachsemester F
where F . st_studium_nr = tmp_studien_esg_tsg . st_studium_nr
and F . st_sem_nr = tmp_studien_esg_tsg . st_sem_nr
and F . fachsemestertyp = ' KS '
;
select 40 , timestamp_str ( now ( ) ) from xdummy ;
update tmp_studien_esg_tsg
@ -236,6 +263,27 @@ and A.st_abm_art_kurzbezeichnung=P.st_abm_art_kurzbezeichnung
@@ -236,6 +263,27 @@ and A.st_abm_art_kurzbezeichnung=P.st_abm_art_kurzbezeichnung
and A . bezug = ' S '
;
select 55 , timestamp_str ( now ( ) ) from xdummy ;
- - Endedatum bei TSG nachladen bei Abmeldungen :
update tmp_studien_esg_tsg set endedat_tsg = SA . gueltig_ab
from costage_st_studienstatus SA
where SA . st_studium_nr = tmp_studien_esg_tsg . st_studium_nr
and SA . st_sem_nr = tmp_studien_esg_tsg . st_sem_nr
and SA . studienstatustyp in ( ' Z ' , ' X ' )
and tmp_studien_esg_tsg . abm_art_s is not null
;
select 57 , timestamp_str ( now ( ) ) from xdummy ;
update tmp_studien_esg_tsg set endedat = SA . gueltig_ab
from costage_st_studienstatus SA
where SA . st_studium_nr = tmp_studien_esg_tsg . st_studium_nr
and SA . st_sem_nr = tmp_studien_esg_tsg . st_sem_nr
and SA . studienstatustyp in ( ' Z ' , ' X ' )
and tmp_studien_esg_tsg . studiengangs_typ_kb = ' ESG '
and tmp_studien_esg_tsg . abm_art_s is not null
;
select 60 , timestamp_str ( now ( ) ) from xdummy ;
@ -378,14 +426,17 @@ null::timestamp as beginn_datum,
@@ -378,14 +426,17 @@ null::timestamp as beginn_datum,
null : : timestamp AS gueltig_ab ,
null : : integer as st_studienstatus_nr ,
null : : integer as primaerflag_studien_msg ,
null : : integer as st_studium_nr_msg ,
max ( T . semester ) as letztes_tsg_semester ,
max ( T . fachsemester ) as fachsemester
max ( T . fachsemester ) as fachsemester ,
max ( T . praxissemester ) as praxissemester ,
max ( T . klinsem ) as klinsem
into temp tmp_studien_msg_tsg_fehlend2
from tmp_studien_msg_tsg_fehlend F , tmp_studien_tsg T
where F . st_studstamm_nr = T . st_studstamm_nr
and F . st_studiengang_nr_tsg = T . st_studiengang_nr
and T . semester = F . endsemester_tsg
group by 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36
group by 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38
;
update tmp_studien_msg_tsg_fehlend2 set
@ -395,7 +446,8 @@ abm_art_s=S.abm_art_s,
@@ -395,7 +446,8 @@ abm_art_s=S.abm_art_s,
abm_art_s_msg = S . abm_art_s_msg ,
beginn_datum = S . beginn_datum ,
gueltig_ab = S . gueltig_ab ,
st_studienstatus_nr = S . st_studienstatus_nr
st_studienstatus_nr = S . st_studienstatus_nr ,
st_studium_nr_msg = S . st_studium_nr_msg
from tmp_studien_tsg S
where S . st_studiengang_nr = tmp_studien_msg_tsg_fehlend2 . st_studiengang_nr_tsg
and S . st_studstamm_nr = tmp_studien_msg_tsg_fehlend2 . st_studstamm_nr
@ -449,9 +501,12 @@ hzb_land_nr,
@@ -449,9 +501,12 @@ hzb_land_nr,
abm_art_s ,
abm_art_s_msg ,
fachsemester ,
praxissemester ,
klinsem ,
studienfach_sortierung ,
letztes_tsg_semester ,
primaerflag_studien_msg
primaerflag_studien_msg ,
st_studium_nr_msg
)
select distinct semester ,
semester_anfang ,
@ -490,9 +545,12 @@ hzb_land_nr,
@@ -490,9 +545,12 @@ hzb_land_nr,
abm_art_s ,
abm_art_s_msg ,
fachsemester ,
praxissemester ,
klinsem ,
studienfach_sortierung ,
letztes_tsg_semester ,
primaerflag_studien_msg
primaerflag_studien_msg ,
st_studium_nr_msg
from tmp_studien_msg_tsg_fehlend2 F , costage_st_studiengaenge G
where G . st_studiengang_nr = F . st_studiengang_nr_msg
;
@ -543,6 +601,7 @@ studiengangs_identifikator,
@@ -543,6 +601,7 @@ studiengangs_identifikator,
studiengangs_bezeichnung ,
st_sem_nr ,
st_studium_nr ,
st_studium_nr_msg ,
st_studstamm_nr ,
studienstatustyp ,
st_studienstatus_nr ,
@ -571,6 +630,8 @@ hzb_land_nr,
@@ -571,6 +630,8 @@ hzb_land_nr,
abm_art_s ,
abm_art_s_msg ,
fachsemester ,
praxissemester ,
klinsem ,
studienfach_sortierung ,
letztes_tsg_semester ,
primaerflag_studien_msg ,
@ -578,7 +639,9 @@ primaerflag_studien_msg,
@@ -578,7 +639,9 @@ primaerflag_studien_msg,
null : : integer as fach_nr ,
null : : integer as studiengang_nr ,
null : : char ( 10 ) as unikey ,
null : : integer as kz_rueck_beur_ein
null : : integer as kz_rueck_beur_ein ,
endedat ,
endedat_tsg
into temp tmp_studien2
from tmp_studien_tsg ;
@ -619,9 +682,12 @@ hzb_note,
@@ -619,9 +682,12 @@ hzb_note,
hzb_land_nr ,
abm_art_s ,
fachsemester ,
praxissemester ,
klinsem ,
studienfach_sortierung ,
letztes_tsg_semester ,
studiengangs_typ_kb
studiengangs_typ_kb ,
endedat
)
select
semester ,
@ -660,9 +726,12 @@ hzb_note,
@@ -660,9 +726,12 @@ hzb_note,
hzb_land_nr ,
abm_art_s ,
fachsemester ,
praxissemester ,
klinsem ,
1 : : integer as studienfach_sortierung ,
letztes_tsg_semester ,
studiengangs_typ_kb
studiengangs_typ_kb ,
endedat
from tmp_studien_esg_tsg E
where E . studiengangs_typ_kb = ' ESG ' ;
@ -742,6 +811,7 @@ studiengangs_identifikator,
@@ -742,6 +811,7 @@ studiengangs_identifikator,
studiengangs_bezeichnung ,
st_sem_nr ,
T . st_studium_nr ,
T . st_studium_nr_msg ,
st_studstamm_nr ,
studienstatustyp ,
st_studienstatus_nr ,
@ -770,6 +840,8 @@ hzb_land_nr,
@@ -770,6 +840,8 @@ hzb_land_nr,
abm_art_s ,
abm_art_s_msg ,
fachsemester ,
praxissemester ,
klinsem ,
studienfach_sortierung ,
letztes_tsg_semester ,
studiengangs_typ_kb ,
@ -777,6 +849,8 @@ fach_nr,
@@ -777,6 +849,8 @@ fach_nr,
studiengang_nr ,
unikey ,
kz_rueck_beur_ein ,
endedat ,
endedat_tsg ,
null : : char ( 10 ) as po_stp_stp_version_kb ,
null : : integer as po_regelstudienzeit ,
null : : integer as kz_rueck_beur_ein_tsg ,
@ -785,7 +859,7 @@ into temp tmp_studien3
@@ -785,7 +859,7 @@ into temp tmp_studien3
from tmp_studien2 T left outer join costage_st_studien_spoversionen SPO
on ( SPO . st_studium_nr = T . st_studium_nr
and SPO . gueltig_ab < T . semester_ende )
group by 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 - - , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52
group by 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 - - , 50 , 51 , 52
;
select 160 , timestamp_str ( now ( ) ) from xdummy ;
@ -816,6 +890,7 @@ create index ix_tmp_studien2 on tmp_studien3(kz_rueck_beur_ein)
@@ -816,6 +890,7 @@ create index ix_tmp_studien2 on tmp_studien3(kz_rueck_beur_ein)
;
insert into costage_st_studien_aggr (
st_studium_nr ,
st_studium_nr_msg ,
st_studstamm_nr ,
matrikelnummer ,
st_studiengang_nr ,
@ -827,6 +902,8 @@ st_studium_nr,
@@ -827,6 +902,8 @@ st_studium_nr,
hrst ,
semester ,
fachsemester ,
praxissemester ,
klinsem ,
hssem ,
primaerflag ,
studiengang_nr ,
@ -854,6 +931,7 @@ st_studium_nr,
@@ -854,6 +931,7 @@ st_studium_nr,
)
select st_studium_nr ,
st_studium_nr_msg ,
st_studstamm_nr ,
matrikelnummer ,
st_studiengang_nr ,
@ -865,6 +943,8 @@ select st_studium_nr,
@@ -865,6 +943,8 @@ select st_studium_nr,
hrst ,
semester ,
fachsemester ,
praxissemester ,
klinsem ,
hssem ,
primaerflag ,
- - Nun ist studiengang_nr = 1 definiert . Die restlichen werden mit RANK ermittelt :
@ -883,9 +963,11 @@ select st_studium_nr,
@@ -883,9 +963,11 @@ select st_studium_nr,
beginn_datum as anfdat ,
( case when studienstatustyp not in ( ' Z ' , ' X ' ) then gueltig_ab
else null : : date end ) as ruebeudat ,
( case when studienstatustyp in ( ' Z ' , ' X ' ) then gueltig_ab
( case when endedat is not null then endedat
when studienstatustyp in ( ' Z ' , ' X ' ) then gueltig_ab
else null : : date end ) as endedat ,
( case when statustyp_tsg in ( ' Z ' , ' X ' ) then gueltig_ab
( case when endedat_tsg is not null then endedat_tsg
when statustyp_tsg in ( ' Z ' , ' X ' ) then gueltig_ab
else null : : date end ) as endedat_tsg ,
studienform_statistik_code as stufrm ,
kz_rueck_beur_ein ,
@ -910,6 +992,7 @@ select st_studium_nr,
@@ -910,6 +992,7 @@ select st_studium_nr,
-- from above to accomodate ranking in studiengangNummer field
insert into costage_st_studien_aggr (
st_studium_nr ,
st_studium_nr_msg ,
st_studstamm_nr ,
matrikelnummer ,
st_studiengang_nr ,
@ -921,6 +1004,8 @@ st_studium_nr,
@@ -921,6 +1004,8 @@ st_studium_nr,
hrst ,
semester ,
fachsemester ,
praxissemester ,
klinsem ,
hssem ,
primaerflag ,
studiengang_nr ,
@ -948,6 +1033,7 @@ st_studium_nr,
@@ -948,6 +1033,7 @@ st_studium_nr,
)
select st_studium_nr ,
st_studium_nr_msg ,
st_studstamm_nr ,
matrikelnummer ,
st_studiengang_nr ,
@ -959,6 +1045,8 @@ select st_studium_nr,
@@ -959,6 +1045,8 @@ select st_studium_nr,
hrst ,
semester ,
fachsemester ,
praxissemester ,
klinsem ,
hssem ,
primaerflag ,
- - Nun ist studiengang_nr = 1 definiert . Die restlichen werden mit RANK ermittelt :
@ -978,9 +1066,11 @@ cast (NULL as int) as studiengang_nr2,
@@ -978,9 +1066,11 @@ cast (NULL as int) as studiengang_nr2,
beginn_datum as anfdat ,
( case when studienstatustyp not in ( ' Z ' , ' X ' ) then gueltig_ab
else null : : date end ) as ruebeudat ,
( case when studienstatustyp in ( ' Z ' , ' X ' ) then gueltig_ab
( case when endedat is not null then endedat
when studienstatustyp in ( ' Z ' , ' X ' ) then gueltig_ab
else null : : date end ) as endedat ,
( case when statustyp_tsg in ( ' Z ' , ' X ' ) then gueltig_ab
( case when endedat_tsg is not null then endedat_tsg
when statustyp_tsg in ( ' Z ' , ' X ' ) then gueltig_ab
else null : : date end ) as endedat_tsg ,
studienform_statistik_code as stufrm ,
kz_rueck_beur_ein ,
@ -1030,12 +1120,11 @@ select 190,timestamp_str(now()) from xdummy;
@@ -1030,12 +1120,11 @@ select 190,timestamp_str(now()) from xdummy;
- - Abmeldungsart :
- - zuerst personbezogen :
update costage_st_studien_aggr set abm_art_p = P . st_abm_art_kurzbezeichnung
from costage_st_personen_abmeldungen P , costage_st_semester S , costage_st_abmeldungsarten A
from costage_st_personen_abmeldungen P , costage_st_semester S
where S . st_sem_nr = P . st_sem_nr
and S . semester_tid = costage_st_studien_aggr . semester
and P . st_studstamm_nr = costage_st_studien_aggr . st_studstamm_nr
and A . st_abm_art_kurzbezeichnung = P . st_abm_art_kurzbezeichnung
and A . bezug = ' P '
and P . person_flag = ' J '
and costage_st_studien_aggr . semester > = $ { beginn_semester }
;