@ -143,10 +143,7 @@ and A.bezug='S'
@@ -143,10 +143,7 @@ and A.bezug='S'
select 20 , timestamp_str ( now ( ) ) from xdummy ;
create index tmp_ix1 on tmp_studien ( st_studiengang_nr ) ;
create index tmp_ix2 on tmp_studien ( st_studstamm_nr ) ;
create index tmp_ix3 on tmp_studien ( studiengangs_typ_kb ) ;
create index tmp_ix4 on tmp_studien ( st_sem_nr ) ;
create index tmp_ix5 on tmp_studien ( status_historie ) ;
create index tmp_ix6 on tmp_studien ( primaerflag_studien ) ;
@ -194,6 +191,13 @@ select 30,timestamp_str(now()) from xdummy;
@@ -194,6 +191,13 @@ select 30,timestamp_str(now()) from xdummy;
-- and H.st_studstamm_nr is null
-- ;
create index tmp_ix2_1 on tmp_studien2 ( st_studiengang_nr ) ;
create index tmp_ix2_2 on tmp_studien2 ( st_studstamm_nr ) ;
create index tmp_ix2_3 on tmp_studien2 ( studiengangs_typ_kb ) ;
create index tmp_ix2_4 on tmp_studien2 ( st_sem_nr ) ;
create index tmp_ix2_7 on tmp_studien2 ( st_absz_nr ) ;
select 40 , timestamp_str ( now ( ) ) from xdummy ;
- - Ermittlung msg bei TSG :
@ -270,6 +274,11 @@ create index tmp_ix222 on tmp_tsg2msg(primaerflag_studien);
@@ -270,6 +274,11 @@ create index tmp_ix222 on tmp_tsg2msg(primaerflag_studien);
-- and tmp_studien2.studiengangs_typ_kb ='TSG'
-- ;
- - 1 . prio : primärflag = 1
select 45 , timestamp_str ( now ( ) ) from xdummy ;
update tmp_studien2 set st_studiengang_nr_msg = M . st_studiengang_nr_msg ,
studienfach_sortierung = M . studienfach_sortierung ,
studiengangs_identifikator_msg = S . studiengangs_identifikator
@ -284,6 +293,10 @@ studiengangs_identifikator_msg=S.studiengangs_identifikator
@@ -284,6 +293,10 @@ studiengangs_identifikator_msg=S.studiengangs_identifikator
and T . st_studium_nr_msg = S . st_studium_nr
and tmp_studien2 . studiengangs_typ_kb = ' TSG '
and T . primaerflag_studien = 1 ;
select 46 , timestamp_str ( now ( ) ) from xdummy ;
- - 2 . prio : ohne primärflag :
update tmp_studien2 set st_studiengang_nr_msg = M . st_studiengang_nr_msg ,
studienfach_sortierung = M . studienfach_sortierung ,
@ -337,11 +350,20 @@ and S.status_historie=1
@@ -337,11 +350,20 @@ and S.status_historie=1
select 70 , timestamp_str ( now ( ) ) from xdummy ;
- - TSG werden nicht mehr gebraucht in tmp_studien - > schneller
delete from tmp_studien where studiengangs_typ_kb ! = ' MSG ' ;
create index tmp_ix4 on tmp_studien ( st_sem_nr ) ;
create index tmp_ix1 on tmp_studien ( st_studiengang_nr ) ;
create index tmp_ix2 on tmp_studien ( st_studstamm_nr ) ;
create index tmp_ix7 on tmp_studien ( studienstatustyp ) ;
create index tmp_ix8 on tmp_studien ( st_studiengang_nr_msg ) ;
select 80 , timestamp_str ( now ( ) ) from xdummy ;
< #if K_COSTAGE_TSG_GENERATE == 1>
- - was ist das min / max . Semester eines TSG ?
- - was ist das min / max . Semester eines TSG TODO langsam ?
select T . st_studiengang_nr as st_studiengang_nr_tsg ,
T . st_studstamm_nr ,
null : : integer as st_studiengang_nr_msg_end ,
@ -359,6 +381,9 @@ and ST.studienstatustyp in ('U','B','E','I','X','Z') --nur tatsächlich eingesch
@@ -359,6 +381,9 @@ and ST.studienstatustyp in ('U','B','E','I','X','Z') --nur tatsächlich eingesch
and ST . status_historie = 1
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
;
select 90 , timestamp_str ( now ( ) ) from xdummy ;
- - letzten MSG zuweisen :
update tmp_studien_msg_tsg set st_studiengang_nr_msg_end = ST . st_studiengang_nr
from costage_st_studiengaenge_mtsg M , tmp_studien ST
@ -397,6 +422,8 @@ drop table if exists tmp_studien_msg_tsg_fehlend2;
@@ -397,6 +422,8 @@ drop table if exists tmp_studien_msg_tsg_fehlend2;
- - Studiengangsdaten des TSG nachladen :
- - Ein Studi kann einen TSG mehrmals schließen ( z . B . Beurlaubung )
- - daher wird das max . Semester genommen , und der Status dann nachgeladen :
select F . semester ,
F . semester_anfang ,
F . semester_ende ,
@ -418,19 +445,23 @@ T.st_studstamm_nr,
@@ -418,19 +445,23 @@ T.st_studstamm_nr,
F . st_studiengang_nr_msg_end ,
-- T.studiengangs_identifikator_msg,
T . st_studiengang_nr_tsg ,
T . hrst ,
T . hssem ,
T . studienstatustyp ,
T . statustyp_tsg ,
null : : char ( 10 ) as hrst ,
null : : integer as hssem ,
null : : char ( 10 ) as studienstatustyp ,
null : : char ( 10 ) as statustyp_tsg ,
1 : : integer as tsg_generated ,
T . primaerflag ,
-- T.primaerflag ,
T . hzb_art_nr ,
T . hzb_land_sub_r_nr ,
T . hzb_jahr ,
T . hzb_datum ,
T . hzb_note ,
T . abm_art_s ,
T . hzb_land_nr ,
null : : char ( 10 ) as abm_art_s ,
T . studienfach_sortierung ,
null : : timestamp as beginn_datum ,
null : : timestamp AS gueltig_ab ,
null : : integer as st_studienstatus_nr ,
max ( T . semester ) as letztes_tsg_semester ,
max ( T . fachsemester ) as fachsemester
into temp tmp_studien_msg_tsg_fehlend2
@ -438,9 +469,21 @@ from tmp_studien_msg_tsg_fehlend F, tmp_studien2 T
@@ -438,9 +469,21 @@ from tmp_studien_msg_tsg_fehlend F, tmp_studien2 T
where F . st_studstamm_nr = T . st_studstamm_nr
and F . st_studiengang_nr_tsg = T . st_studiengang_nr_tsg
and T . abm_art_s is not null
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
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
;
update tmp_studien_msg_tsg_fehlend2 set
hssem = S . hssem ,
statustyp_tsg = S . statustyp_tsg ,
abm_art_s = S . abm_art_s ,
beginn_datum = S . beginn_datum ,
gueltig_ab = S . gueltig_ab ,
st_studienstatus_nr = S . st_studienstatus_nr
from tmp_studien2 S
where S . st_studiengang_nr_tsg = tmp_studien_msg_tsg_fehlend2 . st_studiengang_nr_tsg
and S . st_studstamm_nr = tmp_studien_msg_tsg_fehlend2 . st_studstamm_nr
and S . semester = tmp_studien_msg_tsg_fehlend2 . letztes_tsg_semester
;
- - fehlende Semester nachtragen :
insert into tmp_studien2 ( semester ,
@ -456,9 +499,9 @@ st_studstamm_nr,
@@ -456,9 +499,9 @@ st_studstamm_nr,
st_studiengang_nr ,
studiengangs_typ_kb ,
studienstatustyp ,
- - st_studienstatus_nr ,
- - beginn_datum ,
- - gueltig_ab ,
st_studienstatus_nr ,
beginn_datum ,
gueltig_ab ,
matrikelnummer ,
geschlecht ,
ca12_staat ,
@ -478,10 +521,12 @@ hzb_land_sub_r_nr ,
@@ -478,10 +521,12 @@ hzb_land_sub_r_nr ,
hzb_jahr ,
hzb_datum ,
hzb_note ,
hzb_land_nr ,
abm_art_s ,
fachsemester ,
studienfach_sortierung ,
letztes_tsg_semester )
letztes_tsg_semester
)
select distinct semester ,
semester_anfang ,
semester_ende ,
@ -495,9 +540,9 @@ st_studstamm_nr,
@@ -495,9 +540,9 @@ st_studstamm_nr,
st_studiengang_nr_tsg ,
F . studiengangs_typ_kb ,
studienstatustyp ,
- - st_studienstatus_nr ,
- - beginn_datum ,
- - gueltig_ab ,
st_studienstatus_nr ,
beginn_datum ,
gueltig_ab ,
matrikelnummer ,
geschlecht ,
ca12_staat ,
@ -517,6 +562,7 @@ hzb_land_sub_r_nr ,
@@ -517,6 +562,7 @@ hzb_land_sub_r_nr ,
hzb_jahr ,
hzb_datum ,
hzb_note ,
hzb_land_nr ,
abm_art_s ,
fachsemester ,
studienfach_sortierung ,
@ -526,20 +572,21 @@ where G.st_studiengang_nr=F.st_studiengang_nr_msg_end
@@ -526,20 +572,21 @@ where G.st_studiengang_nr=F.st_studiengang_nr_msg_end
;
select 110 , timestamp_str ( now ( ) ) from xdummy ;
- - statustyp und hrst nachladen :
-- update tmp_studien2 set studienstatustyp=S.studienstatustyp ,
-- hrst=S. hrst
-- from tmp_studien S
-- where tmp_studien2.st_studiengang_nr_msg=S.st_studiengang_nr
-- and tmp_studien2.st_studstamm_nr=S. st_studstamm_nr
-- and S.studiengangs_typ_kb ='MSG '
-- and tmp_studien2.tsg_generated= 1
-- and tmp_studien2.st_sem_nr=S. st_sem_nr
-- --Defaultmäßig den letzten Status im Semester nehmen (status_historie=1 )
-- and S.status_historie= 1
-- ;
update tmp_studien2 set studienstatustyp = S . studienstatustyp ,
hrst = S . hrst
from tmp_studien S
where tmp_studien2 . st_studiengang_nr_msg = S . st_studiengang_nr
and tmp_studien2 . st_studstamm_nr = S . st_studstamm_nr
and S . studiengangs_typ_kb = ' MSG '
and tmp_studien2 . tsg_generated = 1
and tmp_studien2 . st_sem_nr = S . st_sem_nr
- - Defaultmäßig den letzten Status im Semester nehmen ( status_historie = 1 )
and S . status_historie = 1
;
select 120 , timestamp_str ( now ( ) ) from xdummy ;
@ -860,7 +907,7 @@ update costage_st_studien_aggr set abm_art_p=P.st_abm_art_kurzbezeichnung
@@ -860,7 +907,7 @@ 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
where S . st_sem_nr = P . st_sem_nr
and S . semester_tid = costage_st_studien_aggr . semester
and P . st_studiu m_nr = costage_st_studien_aggr . st_studiu m_nr
and P . st_studstam m_nr = costage_st_studien_aggr . st_studstam m_nr
and A . st_abm_art_kurzbezeichnung = P . st_abm_art_kurzbezeichnung
and A . bezug = ' P '
and costage_st_studien_aggr . semester > = $ { beginn_semester }
@ -874,7 +921,7 @@ update costage_st_studien_aggr set urlaub_art=U.st_urlaub_typ_nr
@@ -874,7 +921,7 @@ update costage_st_studien_aggr set urlaub_art=U.st_urlaub_typ_nr
from costage_st_urlaube U , costage_st_semester S
where S . st_sem_nr = U . st_sem_nr
and S . semester_tid = costage_st_studien_aggr . semester
and U . st_studiu m_nr = costage_st_studien_aggr . st_studiu m_nr
and U . st_studstam m_nr = costage_st_studien_aggr . st_studstam m_nr
and costage_st_studien_aggr . semester > = $ { beginn_semester }
;