diff --git a/src-modules/module/costage/conf/costage.xml b/src-modules/module/costage/conf/costage.xml
index 4cd8225..9c4292a 100644
--- a/src-modules/module/costage/conf/costage.xml
+++ b/src-modules/module/costage/conf/costage.xml
@@ -521,40 +521,10 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
-
+
-
-nur bei TSG
-
-ESG oder, bei TSG, der Status des MSG
-
-Wenn TSG vor MSG beendet wird, werden TSG-Sätze generiert
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='P'
-
-
-
- Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S'
-
-
-
- Lookup via: st_studium_nr/st_sem_nr - costage_st_urlaube.st_studium_nr/st_sem_nr
-
Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr - costage_st_adressen.st_adresse_typ='S'
@@ -571,36 +541,67 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr -costage_st_adressen.st_adresse_typ='H'
-
-
- Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab)
-
-
-
-
+
+
+
+
+nur bei TSG
+TSG/ESG/MSG
+
+
+
+
+Wenn TSG vor MSG beendet wird, werden TSG-Sätze generiert
+
+
+ Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab)
+
Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab)
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+ESG oder, bei TSG, der Status des MSG
+
+
+
+
+
+ Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='P'
+
+
Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S'
-
-
-
-
+ Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S'
+
+
+
+ Lookup via: st_studium_nr/st_sem_nr - costage_st_urlaube.st_studium_nr/st_sem_nr
+
+
@@ -612,40 +613,47 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
-
+
+
-des Prüfungsdatums
-
-
-nur bei TSG
+
+
+nur bei TSG
-
-
+
+
+ Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab)
+
+
+
+des Prüfungsdatums
+
+
+
+
+Hauptprüfung/TSAB
+
-Hauptprüfung/TSAB
Prüfungsordnung Nr.
-
+
+
+
J/N
gültig/In Bearbeitung
-
-
-
-
+
+
+
+
-
-
- Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab)
-
-
-
+
diff --git a/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql b/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql
index b04670a..7a068e8 100644
--- a/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql
+++ b/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql
@@ -14,12 +14,14 @@ L.st_studium_nr,
S.st_studstamm_nr,
L.matrikelnummer::integer as matrikelnummer,
null::integer as st_studiengang_nr,
+null::integer as st_studiengang_nr_tsg,
null::integer as studiengang_nr,
null::integer as fach_nr,
null::integer as st_studienstatus_nr,
null::integer as semester,
E.semester_tid as semester_veranst,
null::integer as fachsemester,
+null::integer as fachsemester_tsg,
null::varchar(255) as unikey,
L.leistung_nr,
L.leistungstyp_nr,
@@ -59,12 +61,16 @@ null::integer as leistung_nr_msg,
null::integer as st_studiengang_nr_msg,
null::date as leistungsdatum_msg,
null::integer as semester_msg,
-L.spov_abschluss as po_stp_stp_version_kb
+L.spov_abschluss as po_stp_stp_version_kb ,
+null::char(10) as studiengangs_typ_kb
into temp tmp_pruef
FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S
where E.semester_id=L.veranstaltung_semester
and T.leistungstyp_nr=L.leistungstyp_nr
and S.matrikelnummer=L.matrikelnummer
+and S.matrikelnummer in (select ST.matrikelnummer
+from costage_st_studierendenstammdaten ST
+where ${COSTAGE_STUDENT_FILTER})
-- TSAB/AB:
and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung
and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung
@@ -84,12 +90,14 @@ L.st_studium_nr,
S.st_studstamm_nr,
L.matrikelnummer::integer as matrikelnummer,
null::integer as st_studiengang_nr,
+null::integer as st_studiengang_nr_tsg,
null::integer as studiengang_nr,
null::integer as fach_nr,
null::integer as st_studienstatus_nr,
E.semester_tid as semester,
null::integer as semester_veranst,
null::integer as fachsemester,
+null::integer AS fachsemester_tsg,
null::varchar(255) as unikey,
L.leistung_nr,
L.leistungstyp_nr,
@@ -129,12 +137,16 @@ null::integer as leistung_nr_msg,
null::integer as st_studiengang_nr_msg,
null::date as leistungsdatum_msg,
null::integer as semester_msg,
-L.spov_abschluss
+L.spov_abschluss,
+null::char(10) as studiengangs_typ_kb
FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S
where L.leistungsdatum between E.semester_anfang and E.semester_ende
and L.veranstaltung_semester is null
and T.leistungstyp_nr=L.leistungstyp_nr
and S.matrikelnummer=L.matrikelnummer
+and S.matrikelnummer in (select ST.matrikelnummer
+from costage_st_studierendenstammdaten ST
+where ${COSTAGE_STUDENT_FILTER})
-- TSAB/AB:
and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung
and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung
@@ -152,7 +164,15 @@ update tmp_pruef set st_studiengang_nr=S.st_studiengang_nr
from costage_st_studien S
where S.st_studium_nr=tmp_pruef.st_studium_nr
and S.st_studstamm_nr=tmp_pruef.st_studstamm_nr
+and tmp_pruef.leistungsdetailtyp_kb!='TSAB'
;
+update tmp_pruef set st_studiengang_nr_tsg=S.st_studiengang_nr
+from costage_st_studien S
+where S.st_studium_nr=tmp_pruef.st_studium_nr
+and S.st_studstamm_nr=tmp_pruef.st_studstamm_nr
+and tmp_pruef.leistungsdetailtyp_kb='TSAB'
+;
+
--Fachsemester aus Sem. des Prüfungsdatums holen:
update tmp_pruef set
fachsemester = S.fachsemester
@@ -161,6 +181,14 @@ where S.semester=tmp_pruef.semester
and S.st_studium_nr=tmp_pruef.st_studium_nr
and S.matrikelnummer=tmp_pruef.matrikelnummer
;
+update tmp_pruef set
+fachsemester_tsg = S.fachsemester
+from costage_st_studien_aggr S
+where S.semester=tmp_pruef.semester
+and S.st_studium_nr_tsg=tmp_pruef.st_studium_nr
+and S.matrikelnummer=tmp_pruef.matrikelnummer
+and leistungsdetailtyp_kb ='TSAB'
+;
--Prüfung kann nach letztem eingeschr. Semester sein, daher zuerst letztes Sem. ermitteln:
select S.st_studium_nr,
@@ -183,15 +211,32 @@ update tmp_pruef set
st_studienstatus_nr=S.st_studienstatus_nr,
--fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester
studiengang_nr=S.studiengang_nr,
+st_studiengang_nr=S.st_studiengang_nr,
+st_studiengang_nr_tsg=S.st_studiengang_nr_tsg,
fach_nr=S.fach_nr,
-unikey=S.unikey,
-st_studiengang_nr_msg=S.st_studiengang_nr_msg
+unikey=S.unikey
+from tmp_max_sem M, costage_st_studien_aggr S
+where S.matrikelnummer=M.matrikelnummer
+and S.st_studium_nr=M.st_studium_nr
+and S.semester=M.semester
+and S.st_studium_nr_tsg=tmp_pruef.st_studium_nr
+and S.matrikelnummer=tmp_pruef.matrikelnummer
+and leistungsdetailtyp_kb ='TSAB'
+;
+update tmp_pruef set
+st_studienstatus_nr=S.st_studienstatus_nr,
+--fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester
+studiengang_nr=S.studiengang_nr,
+st_studiengang_nr=S.st_studiengang_nr,
+fach_nr=S.fach_nr,
+unikey=S.unikey
from tmp_max_sem M, costage_st_studien_aggr S
where S.matrikelnummer=M.matrikelnummer
and S.st_studium_nr=M.st_studium_nr
and S.semester=M.semester
and S.st_studium_nr=tmp_pruef.st_studium_nr
and S.matrikelnummer=tmp_pruef.matrikelnummer
+and leistungsdetailtyp_kb !='TSAB'
;
drop table tmp_max_sem;
@@ -210,7 +255,7 @@ semester_msg=T.semester,
leistungsstatus_map_kb_msg=T.leistungsstatus_map_kb,
note_msg=(case when T.pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') or T.pv_notenskala_typ_kb is null then T.note_zahl else null::float end)
from tmp_pruef2 T
-where tmp_pruef.st_studiengang_nr_msg=T.st_studiengang_nr
+where tmp_pruef.st_studiengang_nr=T.st_studiengang_nr
and tmp_pruef.leistungsdetailtyp_kb ='TSAB'
and T.matrikelnummer=tmp_pruef.matrikelnummer
@@ -231,17 +276,17 @@ where tmp_pruef.leistungsdetailtyp_kb !='TSAB'
;
--Fachsemester bei MSG gibt es in CO nicht. Daher die Regel:
--die Fachsemesterzahl sollte die höchste FS-Zahl aus allen TSG enthalten:
-select matrikelnummer,st_studiengang_nr_msg,max(semester) as semester_max,max(fachsemester) as fachsem_max
+select matrikelnummer,st_studiengang_nr,max(semester) as semester_max,max(fachsemester_tsg) as fachsem_max
into temp tmp_fachsem_msg
from tmp_pruef
where leistungsdetailtyp_kb='TSAB'
-and st_studiengang_nr_msg is not null
+and st_studiengang_nr is not null
group by 1,2;
update tmp_pruef set fachsemester=T.fachsem_max
from tmp_fachsem_msg T
where T.matrikelnummer=tmp_pruef.matrikelnummer
-and T.st_studiengang_nr_msg=tmp_pruef.st_studiengang_nr
+and T.st_studiengang_nr=tmp_pruef.st_studiengang_nr
and T.semester_max <=tmp_pruef.semester
and tmp_pruef.leistungsdetailtyp_kb='BAKN'
;
@@ -259,21 +304,23 @@ and tmp_pruef.unikey is null
delete from costage_st_pruef_aggr
-where semester >= ${beginn_semester};
+where semester >= ${beginn_semester}
+or semester_tsg >= ${beginn_semester};
insert into costage_st_pruef_aggr(st_studium_nr,
st_studstamm_nr,
matrikelnummer,
semester,
+ semester_tsg,
semester_veranst,
st_studiengang_nr,
- st_studiengang_nr_msg,
+ st_studiengang_nr_tsg,
studiengang_nr,
fach_nr,
unikey,
studienidentifikator,
fachsemester,
- leistung_nr,
+ fachsemester_tsg,
leistungstyp_nr,
leistungsdetailtyp_kb,
pnr,
@@ -281,51 +328,67 @@ insert into costage_st_pruef_aggr(st_studium_nr,
stp_sp_nr,
po_stp_stp_version_kb,
note,
- note_msg,
+ note_tsg,
credits,
- leistungsdatum,
anerkannt_flag,
leistungsstatus_nr,
leistungsstatus_map_kb,
- leistungsstatus_map_kb_msg,
- leistung_nr_msg,
- leistungsdatum_msg,
- semester_msg,
+ leistungsstatus_map_kb_tsg,
+ leistung_nr,
+ leistung_nr_tsg,
+ leistungsdatum,
+ leistungsdatum_tsg,
summe)
select
st_studium_nr,
st_studstamm_nr,
matrikelnummer,
- semester,
+ (case when leistungsdetailtyp_kb='TSAB' then semester_msg
+ else semester end) as semester ,
+ (case when leistungsdetailtyp_kb='TSAB' then semester
+ else null::integer end) as semester_tsg ,
semester_veranst,
st_studiengang_nr,
- st_studiengang_nr_msg,
+ st_studiengang_nr_tsg,
studiengang_nr,
fach_nr,
unikey,
substring(studienidentifikator from 1 for 255),
fachsemester,
- leistung_nr,
+ fachsemester_tsg,
leistungstyp_nr,
leistungsdetailtyp_kb,
pnr,
abschnitt,
stp_sp_nr,
po_stp_stp_version_kb,
- case when pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') or pv_notenskala_typ_kb is null then note_zahl else null::float end as note,
- note_msg,
+ (case when leistungsdetailtyp_kb='TSAB' then note_msg
+ else (
+ case when pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7')
+ or pv_notenskala_typ_kb is null
+ then note_zahl else null::float end) end) as note,
+ (case when leistungsdetailtyp_kb='TSAB' and (pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7')
+ or pv_notenskala_typ_kb is null)
+ then note_zahl else null::float end) as note_tsg,
credits,
- leistungsdatum,
anerkannt_flag,
leistungsstatus_nr,
- leistungsstatus_map_kb,
- leistungsstatus_map_kb_msg,
- leistung_nr_msg,
- leistungsdatum_msg,
- semester_msg,
- count(*)
+ (case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb_msg
+ else leistungsstatus_map_kb end) as leistungsstatus_map_kb,
+ (case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb
+ else null::char(10) end) as leistungsstatus_map_kb_tsg,
+ (case when leistungsdetailtyp_kb='TSAB' then leistung_nr_msg
+ else leistung_nr end) as leistung_nr,
+ (case when leistungsdetailtyp_kb='TSAB' then leistung_nr
+ else null::integer end) as leistung_nr_tsg,
+ (case when leistungsdetailtyp_kb='TSAB' then leistungsdatum_msg
+ else leistungsdatum end) as leistungsdatum ,
+ (case when leistungsdetailtyp_kb='TSAB' then leistungsdatum
+ else null::date end) as leistungsdatum_tsg ,
+ 1 as summe
from tmp_pruef
- 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,24,25,26,27,28,29,30;
+ --group by leistungsdatum,studiengangs_typ_kb,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
+ ;
drop table tmp_pruef;
drop table tmp_pruef2;
diff --git a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
index 757354f..3b52684 100644
--- a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
+++ b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
@@ -34,11 +34,8 @@ S.ca12_staat,
S.second_nationality,
SG.fachkennzeichen,
ST.studienform_statistik_code,
---(case when SG.studiengangs_typ_kb in ('MSG') then SG.st_studiengang_nr else null::integer end) as st_studiengang_nr_msg,
null::varchar(255) as studiengangs_identifikator_msg,
null::integer as st_studiengang_nr_msg_primaerflag,
---(case when SG.studiengangs_typ_kb in ('TSG') then SG.st_studiengang_nr else null::integer end) as st_studiengang_nr_tsg,
---null::integer as studienfach_sortierung,
null::char(10) as hrst,
null::integer as fachsemester,
null::integer as praxissemester,
@@ -893,15 +890,16 @@ 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_studium_nr_tsg,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
- st_studiengang_nr_msg,
+ st_studiengang_nr_tsg,
st_studienstatus_nr,
statustyp,
statustyp_tsg,
tsg_generated,
+ studiengangs_typ_kb,
hrst,
semester,
fachsemester,
@@ -926,23 +924,29 @@ st_studium_nr_msg,
hzb_datum,
hzb_note,
abm_art_s,
- abm_art_s_msg,
+ abm_art_s_tsg,
po_stp_stp_version_kb,
po_regelstudienzeit,
- studiengangs_identifikator_msg,
+ studiengangs_identifikator,
+ studiengangs_identifikator_tsg,
summe
)
-select st_studium_nr,
-st_studium_nr_msg,
+select (case when studiengangs_typ_kb='TSG' then st_studium_nr_msg
+ else st_studium_nr end) as st_studium_nr,
+ (case when studiengangs_typ_kb='TSG' then st_studium_nr
+ else null::integer end) as st_studium_nr_tsg,
st_studstamm_nr,
matrikelnummer,
- st_studiengang_nr,
- st_studiengang_nr_msg,
+ (case when studiengangs_typ_kb='TSG' then st_studiengang_nr_msg
+ else st_studiengang_nr end) as st_studiengang_nr,
+ (case when studiengangs_typ_kb='TSG' then st_studiengang_nr
+ else null::integer end) as st_studiengang_nr_tsg,
st_studienstatus_nr,
studienstatustyp,
statustyp_tsg,
tsg_generated,
+ studiengangs_typ_kb,
hrst,
semester,
fachsemester,
@@ -981,11 +985,16 @@ st_studium_nr_msg,
hzb_jahr,
hzb_datum,
hzb_note,
- abm_art_s,
- abm_art_s_msg,
+ (case when studiengangs_typ_kb='TSG' then abm_art_s_msg
+ else abm_art_s end) as abm_art_s ,
+ (case when studiengangs_typ_kb='TSG' then abm_art_s
+ else null::char(10) end) as abm_art_s_tsg ,
po_stp_stp_version_kb,
po_regelstudienzeit,
- studiengangs_identifikator_msg,
+ (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator_msg
+ else studiengangs_identifikator end) as studiengangs_identifikator,
+ (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator
+ else null::varchar(255) end) as studiengangs_identifikator_tsg,
1 as summe
from tmp_studien3
where kz_rueck_beur_ein is not null
@@ -995,15 +1004,16 @@ st_studium_nr_msg,
-- from above to accomodate ranking in studiengangNummer field
insert into costage_st_studien_aggr(
st_studium_nr,
-st_studium_nr_msg,
+st_studium_nr_tsg,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
- st_studiengang_nr_msg,
+ st_studiengang_nr_tsg,
st_studienstatus_nr,
statustyp,
statustyp_tsg,
tsg_generated,
+ studiengangs_typ_kb,
hrst,
semester,
fachsemester,
@@ -1028,23 +1038,29 @@ st_studium_nr_msg,
hzb_datum,
hzb_note,
abm_art_s,
- abm_art_s_msg,
+ abm_art_s_tsg,
po_stp_stp_version_kb,
po_regelstudienzeit,
- studiengangs_identifikator_msg,
+ studiengangs_identifikator,
+ studiengangs_identifikator_tsg,
summe
)
-select st_studium_nr,
-st_studium_nr_msg,
+select (case when studiengangs_typ_kb='TSG' then st_studium_nr_msg
+ else st_studium_nr end) as st_studium_nr,
+ (case when studiengangs_typ_kb='TSG' then st_studium_nr
+ else null::integer end) as st_studium_nr_tsg,
st_studstamm_nr,
matrikelnummer,
- st_studiengang_nr,
- st_studiengang_nr_msg,
+ (case when studiengangs_typ_kb='TSG' then null::integer
+ else st_studiengang_nr end) as st_studiengang_nr,
+ (case when studiengangs_typ_kb='TSG' then st_studiengang_nr
+ else null::integer end) as st_studiengang_nr_tsg,
st_studienstatus_nr,
studienstatustyp,
statustyp_tsg,
tsg_generated,
+ studiengangs_typ_kb,
hrst,
semester,
fachsemester,
@@ -1084,11 +1100,16 @@ cast (NULL as int) as studiengang_nr2,
hzb_jahr,
hzb_datum,
hzb_note,
- abm_art_s,
- abm_art_s_msg,
+ (case when studiengangs_typ_kb='TSG' then abm_art_s_msg
+ else abm_art_s end) as abm_art_s ,
+ (case when studiengangs_typ_kb='TSG' then abm_art_s
+ else null::char(10) end) as abm_art_s_tsg ,
po_stp_stp_version_kb,
po_regelstudienzeit,
- studiengangs_identifikator_msg,
+ (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator_msg
+ else studiengangs_identifikator end) as studiengangs_identifikator,
+ (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator
+ else null::varchar(255) end) as studiengangs_identifikator_tsg,
1 as summe
from tmp_studien3
where kz_rueck_beur_ein is null
diff --git a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml
index 26079f3..9cd383b 100644
--- a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml
+++ b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml
@@ -236,18 +236,14 @@ null::char(1) as field_of_study,
primaerflag as primaerfach,
unikey ,
po_regelstudienzeit ,-- individual_number_of_semesters
-coalesce(F.st_studium_nr_msg,F.st_studium_nr) as degree_program_id ,
+F.st_studium_nr as degree_program_id ,
null::char(10) as hssem_valid,
null::Char(10) as k_field_of_study_subj_id,
F.kz_rueck_beur_ein_tsg,
endedat_tsg,
-(case when G.studiengangs_typ_kb='TSG' then abm_art_s_msg
-else abm_art_s end) as abmeldegrund,
-(case when G.studiengangs_typ_kb='TSG' then abm_art_s
-else null::char(10)
-end) as abmeldegrund_tsg,
-(case when G.studiengangs_typ_kb='TSG' then F.studiengangs_identifikator_msg
-else G.studiengangs_identifikator end) as degree_program_uniquename
+abm_art_s as abmeldegrund,
+abm_art_s_tsg as abmeldegrund_tsg,
+G.studiengangs_identifikator as degree_program_uniquename
FROM costage_st_studiengaenge G, costage_st_studien_aggr F
WHERE G.st_studiengang_nr=F.st_studiengang_nr
@@ -299,23 +295,22 @@ P.matrikelnummer,
P.studiengang_nr,
P.fach_nr,
G.abschluss,
-(case when P.leistungsdetailtyp_kb='TSAB' then P.semester_msg
-else P.semester end) as semester_msg,
-(case when P.leistungsdetailtyp_kb='TSAB' then P.leistungsdatum_msg
-else P.leistungsdatum end) as leistungsdatum_msg,
+(case when leistungsdetailtyp_kb='TSAB' then P.semester_tsg
+else P.semester end) as semester,
+P.leistungsdatum,
G.skz_key as stg,
null::integer as vert,
null::integer as schwp,
string_not_null(G.fachkennzeichen),
-(case when P.leistungsdetailtyp_kb='TSAB' then P.note_msg
-else P.note end) as note_msg,
+P.note,
null::char(7), --pruefungsamt_nr
P.abschnitt as pnr,
P.po_stp_stp_version_kb as pversion,
-(case when leistungsdetailtyp_kb!='TSAB' then P.leistungsstatus_map_kb else P.leistungsstatus_map_kb_msg end) as pstatus,
-(case when leistungsdetailtyp_kb!='TSAB' then P.fachsemester else null::integer end) as fachsemester,
+P.leistungsstatus_map_kb as pstatus,
+P.fachsemester,
P.leistungsdetailtyp_kb as part,
-P.leistung_nr,
+(case when leistungsdetailtyp_kb='TSAB' then P.leistung_nr_tsg
+else P.leistung_nr end) as leistung_nr,
null::integer as pversuch,
null::char(7)as ppruef1,
null::char(7) as ppruef2,
@@ -331,17 +326,17 @@ null::CHAR(1), --stuart
G.stufrm,
null::CHAR(1), --stutyp
st_studium_nr as degree_program_id,
-(case when leistungsdetailtyp_kb='TSAB' then semester else null::integer end) as sem_der_pruefung_exa,
-(case when leistungsdetailtyp_kb='TSAB' then leistungsdatum else null::date end) as d_abg_pruefung_exa,
-(case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb else null::char(10) end) as pstatus_tsg,
-(case when leistungsdetailtyp_kb='TSAB' then note else null::float end) as note_tsg,
-(case when leistungsdetailtyp_kb='TSAB' then fachsemester else null::integer end) as fach_sem_zahl_tsg
+semester_tsg,
+leistungsdatum_tsg,
+leistungsstatus_map_kb_tsg as pstatus_tsg,
+note_tsg,
+fachsemester_tsg as fach_sem_zahl_tsg
FROM costage_st_pruef_aggr P, costage_st_studiengaenge G
where G.st_studiengang_nr=P.st_studiengang_nr
and ($EXTERNAL_SUBJECTS ='true'
or P.unikey=(select H.hs_nr::char(10) from hochschulinfo H)
)
-AND P.semester >= $start_pruef_sem
+AND (P.semester >= $start_pruef_sem or P.semester_tsg >= $start_pruef_sem)
;
@@ -1089,14 +1084,14 @@ select * from k_stg where 1=0;
= $start_pruef_sem
;
]]>