Browse Source

Abschlussprüfungen Redesign TSG/MSG Spalten #25

master
Daniel Quathamer 3 months ago
parent
commit
c694ff7c50
  1. 138
      src-modules/module/costage/conf/costage.xml
  2. 123
      src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql
  3. 71
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
  4. 47
      src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml

138
src-modules/module/costage/conf/costage.xml

@ -521,40 +521,10 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<table name="costage_st_studien_aggr" thema="Studierende und Gebühren" caption="Studienverläufe (CO)" typ="Hilfstabelle" releaseUnload="empty"> <table name="costage_st_studien_aggr" thema="Studierende und Gebühren" caption="Studienverläufe (CO)" typ="Hilfstabelle" releaseUnload="empty">
<columns><column name="st_studium_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studium (ID)" /> <columns><!--Studierendendaten-->
<column name="st_studstamm_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studierendenstammdaten (ID)" /> <column name="st_studstamm_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studierendenstammdaten (ID)" />
<column name="matrikelnummer" type ="INTEGER" size ="8" default ="" notnull ="false" description="Matrikelnummer" /> <column name="matrikelnummer" type ="INTEGER" size ="8" default ="" notnull ="false" description="Matrikelnummer" />
<column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID)" />
<column name="st_studiengang_nr_msg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des MSG" ><comment>nur bei TSG</comment></column>
<column name="st_studienstatus_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studienstatus (ID)" />
<column name="statustyp" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienstatus"><comment>ESG oder, bei TSG, der Status des MSG</comment></column>
<column name="statustyp_tsg" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienstatus TSG" />
<column name="tsg_generated" type ="SMALLINT" size ="2" default ="0" notnull ="false" description="Automatisch generierter Datensatz" ><comment>Wenn TSG vor MSG beendet wird, werden TSG-Sätze generiert</comment></column>
<column name="hrst" type ="CHAR" size ="10" default ="" notnull ="false" description="Hörerstatus" /> <column name="hrst" type ="CHAR" size ="10" default ="" notnull ="false" description="Hörerstatus" />
<column name="semester" type ="INTEGER" size ="8" default ="" notnull ="true" description="Semester" />
<column name="fachsemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester" />
<column name="hssem" type ="INTEGER" size ="4" default ="" notnull ="false" description="Hochschulsemester" />
<column name="primaerflag" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Primärfach" />
<column name="studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Nr.)" />
<column name="fach_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Fach (Nr.)" />
<column name="unikey" type ="CHAR" size ="10" default ="" notnull ="false" description="Hochschulnummer" />
<column name="anfdat" type ="DATE" size ="4" default ="" notnull ="false" description="Beginndatum"/>
<column name="ruebeudat" type ="DATE" size ="4" default ="" notnull ="false" description="Rückmeldedatum"/>
<column name="endedat" type ="DATE" size ="4" default ="" notnull ="false" description="Datum der Exmatr."/>
<column name="stufrm" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienform"/>
<column name="kz_rueck_beur_ein" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Rückmeldestatus (amtlich)" />
<column name="abm_art_p" type ="CHAR" size ="10" default ="" notnull ="false" description="Art Abmeldung (personbezogen)" >
<sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" />
<comment>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'</comment>
</column>
<column name="abm_art_s" type ="CHAR" size ="10" default ="" notnull ="false" description="Art Abmeldung (studienbezogen)" >
<sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" />
<comment>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'</comment>
</column>
<column name="urlaub_art" type ="INTEGER" size ="10" default ="" notnull ="false" description="Art der Beurlaubung (amtlich)" >
<sourcefield table="costage_st_urlaube" name="st_urlaub_typ_nr" sourcesystem="co" />
<comment>Lookup via: st_studium_nr/st_sem_nr - costage_st_urlaube.st_studium_nr/st_sem_nr </comment>
</column>
<column name="adresse_ort_s" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Wohnsitz Landkreis (Studienadresse)" > <column name="adresse_ort_s" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Wohnsitz Landkreis (Studienadresse)" >
<sourcefield table="costage_st_adressen" name="land_kfz_kennzeichen_subregion" sourcesystem="co" /> <sourcefield table="costage_st_adressen" name="land_kfz_kennzeichen_subregion" sourcesystem="co" />
<comment>Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr - costage_st_adressen.st_adresse_typ='S' </comment> <comment>Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr - costage_st_adressen.st_adresse_typ='S' </comment>
@ -571,36 +541,67 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<sourcefield table="costage_st_adressen" name="st_land_nr" sourcesystem="co" /> <sourcefield table="costage_st_adressen" name="st_land_nr" sourcesystem="co" />
<comment>Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr -costage_st_adressen.st_adresse_typ='H' </comment> <comment>Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr -costage_st_adressen.st_adresse_typ='H' </comment>
</column> </column>
<column name="po_stp_stp_version_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="SPO-Version" >
<sourcefield table="costage_st_studien_spoversionen" name="po_stp_stp_version_kb" sourcesystem="co" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column>
<column name="summe" type ="INTEGER" size ="2" default ="" notnull ="false" description="Summe" />
<column name="kz_rueck_beur_ein_tsg" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Rückmeldestatus (amtlich) TSG" />
<column name="hzb_land_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Staat"/> <column name="hzb_land_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Staat"/>
<column name="hzb_land_sub_r_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Ort"/> <column name="hzb_land_sub_r_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Ort"/>
<column name="hzb_art_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Art"/> <column name="hzb_art_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Art"/>
<column name="hzb_jahr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Jahr"/> <column name="hzb_jahr" type ="INTEGER" size ="4" default ="" notnull ="false" description="HZB-Jahr"/>
<column name="hzb_datum" type ="DATE" size ="7" default ="" notnull ="false" description="HZB Datum "/> <column name="hzb_datum" type ="DATE" size ="7" default ="" notnull ="false" description="HZB Datum "/>
<column name="hzb_note" type ="DECIMAL" size ="(14,7)" default ="" notnull ="false" description="HZB-Note"/> <column name="hzb_note" type ="DECIMAL" size ="(14,7)" default ="" notnull ="false" description="HZB-Note"/>
<!--studiengang-->
<column name="studiengangs_identifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (ESG/MSG)" />
<column name="studiengangs_identifikator_tsg" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (TSG)" />
<column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des ESG/MSG" />
<column name="st_studiengang_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des TSG" ><comment>nur bei TSG</comment></column>
<column name="studiengangs_typ_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="Leistungstyp Studienabschnitt" ><comment>TSG/ESG/MSG</comment></column>
<column name="primaerflag" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Primärfach" />
<column name="studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Nr.)" />
<column name="fach_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Fach (Nr.)" />
<column name="unikey" type ="CHAR" size ="10" default ="" notnull ="false" description="Hochschulnummer" />
<column name="tsg_generated" type ="SMALLINT" size ="2" default ="0" notnull ="false" description="Automatisch generierter Datensatz" ><comment>Wenn TSG vor MSG beendet wird, werden TSG-Sätze generiert</comment></column>
<column name="po_stp_stp_version_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="SPO-Version" >
<sourcefield table="costage_st_studien_spoversionen" name="po_stp_stp_version_kb" sourcesystem="co" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column>
<column name="po_regelstudienzeit" type ="INTEGER" size ="10" default ="" notnull ="false" description="Regelstudienzeit SPO-Version" > <column name="po_regelstudienzeit" type ="INTEGER" size ="10" default ="" notnull ="false" description="Regelstudienzeit SPO-Version" >
<sourcefield table="costage_st_studien_spoversionen" name="po_regelstudienzeit" sourcesystem="co" /> <sourcefield table="costage_st_studien_spoversionen" name="po_regelstudienzeit" sourcesystem="co" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment> <comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column> </column>
<column name="stufrm" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienform"/>
<!--studienverlauf-->
<column name="semester" type ="INTEGER" size ="8" default ="" notnull ="true" description="Semester" />
<column name="fachsemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester" />
<column name="hssem" type ="INTEGER" size ="4" default ="" notnull ="false" description="Hochschulsemester" />
<column name="anfdat" type ="DATE" size ="4" default ="" notnull ="false" description="Beginndatum"/>
<column name="ruebeudat" type ="DATE" size ="4" default ="" notnull ="false" description="Rückmeldedatum"/>
<column name="endedat" type ="DATE" size ="4" default ="" notnull ="false" description="Datum der Exmatr."/>
<column name="endedat_tsg" type ="DATE" size ="4" default ="" notnull ="false" description="Datum der Abmeldung (TSG)"/> <column name="endedat_tsg" type ="DATE" size ="4" default ="" notnull ="false" description="Datum der Abmeldung (TSG)"/>
<column name="studiengangs_identifikator_msg" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (MSG)" /> <column name="praxissemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Praxissemester" />
<column name="abm_art_s_msg" type ="CHAR" size ="10" default ="" notnull ="false" description="Art Abmeldung (studienbezogen) MSG" > <column name="klinsem" type ="INTEGER" size ="4" default ="" notnull ="false" description="Klinische Semester" />
<column name="st_studium_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studium des ESG/MSG (ID)" />
<column name="st_studium_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studium des TSG (ID)" />
<!--Studienstatus-->
<column name="st_studienstatus_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studienstatus (ID)" />
<column name="statustyp" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienstatus"><comment>ESG oder, bei TSG, der Status des MSG</comment></column>
<column name="statustyp_tsg" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienstatus TSG" />
<column name="kz_rueck_beur_ein" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Rückmeldestatus (amtlich)" />
<column name="kz_rueck_beur_ein_tsg" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Rückmeldestatus (amtlich) TSG" />
<column name="abm_art_p" type ="CHAR" size ="10" default ="" notnull ="false" description="Art Abmeldung (personbezogen)" >
<sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" />
<comment>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'</comment>
</column>
<column name="abm_art_s" type ="CHAR" size ="10" default ="" notnull ="false" description="Art Abmeldung (studienbezogen) ESG/MSG" >
<sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" /> <sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" />
<comment>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'</comment> <comment>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'</comment>
</column> </column>
<!--<column name="abm_datum_p" type ="DATE" size ="10" default ="" notnull ="false" description="Datum der Abmeldung (personbezogen)" > <column name="abm_art_s_tsg" type ="CHAR" size ="10" default ="" notnull ="false" description="Art Abmeldung (studienbezogen) TSG" >
<sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" /> <sourcefield table="costage_st_personen_abmeldungen" name="st_abm_art_kurzbezeichnung" sourcesystem="co" />
<comment>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_personen_abmeldungen.person_flag='J'</comment> <comment>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'</comment>
</column>--> </column>
<column name="praxissemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Praxissemester" /> <column name="urlaub_art" type ="INTEGER" size ="10" default ="" notnull ="false" description="Art der Beurlaubung (amtlich)" >
<column name="klinsem" type ="INTEGER" size ="4" default ="" notnull ="false" description="Klinische Semester" /> <sourcefield table="costage_st_urlaube" name="st_urlaub_typ_nr" sourcesystem="co" />
<column name="st_studium_nr_msg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studium des MSG (ID)" /> <comment>Lookup via: st_studium_nr/st_sem_nr - costage_st_urlaube.st_studium_nr/st_sem_nr </comment>
</column>
<column name="summe" type ="INTEGER" size ="2" default ="" notnull ="false" description="Summe" />
</columns> </columns>
<indexes> <indexes>
@ -612,40 +613,47 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</table> </table>
<!-- neue Views in 0.3 --> <!-- neue Views in 0.3 -->
<table name="costage_st_pruef_aggr" thema="Prüfungen und Leistungen" caption="Prüfungen (CO)" typ="Hilfstabelle" releaseUnload="empty"> <table name="costage_st_pruef_aggr" thema="Prüfungen und Leistungen" caption="Prüfungen (CO)" typ="Hilfstabelle" releaseUnload="empty">
<columns><column name="st_studium_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studium (ID)" /> <columns>
<!--Studierendendaten-->
<column name="st_studstamm_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studierendenstammdaten (ID)" /> <column name="st_studstamm_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studierendenstammdaten (ID)" />
<column name="matrikelnummer" type ="INTEGER" size ="8" default ="" notnull ="false" description="Matrikelnummer" /> <column name="matrikelnummer" type ="INTEGER" size ="8" default ="" notnull ="false" description="Matrikelnummer" />
<column name="semester" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester" ><comment>des Prüfungsdatums</comment></column> <!--Studiengang-->
<column name="semester_veranst" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester der Veranstaltung" /> <column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) ESG/MSG" />
<column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID)" /> <column name="st_studiengang_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des TSG" ><comment>nur bei TSG</comment></column>
<column name="st_studiengang_nr_msg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des MSG" ><comment>nur bei TSG</comment></column>
<column name="unikey" type ="CHAR" size ="10" default ="" notnull ="false" description="Hochschulnummer" /> <column name="unikey" type ="CHAR" size ="10" default ="" notnull ="false" description="Hochschulnummer" />
<column name="studienidentifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studienidentifikator"/> <column name="studienidentifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studienidentifikator"/>
<column name="studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Nr.)" currentlyUsed="false" /> <column name="studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Nr.)" currentlyUsed="false" />
<column name="fach_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Fach (Nr.)" /> <column name="fach_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Fach (Nr.)" />
<column name="fachsemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester" /> <column name="po_stp_stp_version_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="SPO-Version" >
<column name="leistung_nr" type ="INTEGER" size ="4" default ="" notnull ="true" description="Laufnummer der Leistung" /> <sourcefield table="costage_st_studien_spoversionen" name="po_stp_stp_version_kb" sourcesystem="co" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column>
<!--Studienverlauf-->
<column name="st_studium_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studium (ID)" />
<column name="semester" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester" ><comment>des Prüfungsdatums</comment></column>
<column name="semester_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester TSG" />
<column name="semester_veranst" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester der Veranstaltung" />
<column name="fachsemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester (ESG,MSG)" />
<column name="fachsemester_tsg" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester (TSG)" />
<column name="abschnitt" type ="INTEGER" size ="4" default ="" notnull ="false" description="Studienabschnitt"><comment>Hauptprüfung/TSAB</comment></column>
<!--Leistungsdaten-->
<column name="leistungstyp_nr" type ="INTEGER" size ="4" default ="" notnull ="true" description="Leistungstyp" /> <column name="leistungstyp_nr" type ="INTEGER" size ="4" default ="" notnull ="true" description="Leistungstyp" />
<column name="leistungsdetailtyp_kb" type ="VARCHAR" size ="10" default ="" notnull ="false" description="Leistungsdetailtyp" /> <column name="leistungsdetailtyp_kb" type ="VARCHAR" size ="10" default ="" notnull ="false" description="Leistungsdetailtyp" />
<column name="pnr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Prüfungselement Nr." currentlyUsed="false"/> <column name="pnr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Prüfungselement Nr." currentlyUsed="false"/>
<column name="abschnitt" type ="INTEGER" size ="4" default ="" notnull ="false" description="Studienabschnitt"><comment>Hauptprüfung/TSAB</comment></column>
<column name="stp_sp_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Prüfungsordnung Nr."><comment>Prüfungsordnung Nr.</comment></column> <column name="stp_sp_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Prüfungsordnung Nr."><comment>Prüfungsordnung Nr.</comment></column>
<column name="note" type ="FLOAT" size ="4" default ="" notnull ="false" description="Note"/> <column name="note" type ="FLOAT" size ="4" default ="" notnull ="false" description="Note (ESG,MSG)"/>
<column name="note_tsg" type ="FLOAT" size ="4" default ="" notnull ="false" description="Note (TSG)"/>
<column name="credits" type ="FLOAT" size ="4" default ="" notnull ="false" description="Credits" /> <column name="credits" type ="FLOAT" size ="4" default ="" notnull ="false" description="Credits" />
<column name="leistungsdatum" type ="DATE" size ="7" default ="" notnull ="false" description="Prüfungsdatum"/> <column name="leistungsdatum" type ="DATE" size ="7" default ="" notnull ="false" description="Prüfungsdatum"/>
<column name="leistungsdatum_tsg" type ="DATE" size ="7" default ="" notnull ="false" description="Prüfungsdatum TSG"/>
<column name="anerkannt_flag" type ="CHAR" size ="1" default ="" notnull ="false" description="Anerkannt"><comment>J/N</comment></column> <column name="anerkannt_flag" type ="CHAR" size ="1" default ="" notnull ="false" description="Anerkannt"><comment>J/N</comment></column>
<column name="leistungsstatus_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Redaktionsstatus" currentlyUsed="false" ><comment>gültig/In Bearbeitung </comment></column> <column name="leistungsstatus_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Redaktionsstatus" currentlyUsed="false" ><comment>gültig/In Bearbeitung </comment></column>
<column name="leistungsstatus_map_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="Prüfungsstatus"/> <column name="leistungsstatus_map_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="Prüfungsstatus ESG/MSG"/>
<column name="leistung_nr_msg" type ="INTEGER" size ="4" default ="" notnull ="false" description="Eindeutige Laufnummer MSG" /> <column name="leistungsstatus_map_kb_tsg" type ="CHAR" size ="10" default ="" notnull ="false" description="Prüfungsstatus TSG"/>
<column name="leistungsdatum_msg" type ="DATE" size ="7" default ="" notnull ="false" description="Prüfungsdatum MSG"/> <column name="leistung_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Eindeutige Leistungsnummer ESG/MSG" />
<column name="semester_msg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester MSG" /> <column name="leistung_nr_tsg" type ="INTEGER" size ="4" default ="" notnull ="false" description="Eindeutige Leistungsnummer TSG" />
<column name="summe" type ="INTEGER" size ="2" default ="" notnull ="false" description="Summe" /> <column name="summe" type ="INTEGER" size ="2" default ="" notnull ="false" description="Summe" />
<column name="po_stp_stp_version_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="SPO-Version" >
<sourcefield table="costage_st_studien_spoversionen" name="po_stp_stp_version_kb" sourcesystem="co" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column>
<column name="leistungsstatus_map_kb_msg" type ="CHAR" size ="10" default ="" notnull ="false" description="Prüfungsstatus MSG"/>
<column name="note_msg" type ="FLOAT" size ="4" default ="" notnull ="false" description="Note MSG"/>
</columns> </columns>
<indexes> <indexes>
<index name="ix_costage_st_pruef_aggr1" unique="false"> <index name="ix_costage_st_pruef_aggr1" unique="false">

123
src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql

@ -14,12 +14,14 @@ L.st_studium_nr,
S.st_studstamm_nr, S.st_studstamm_nr,
L.matrikelnummer::integer as matrikelnummer, L.matrikelnummer::integer as matrikelnummer,
null::integer as st_studiengang_nr, null::integer as st_studiengang_nr,
null::integer as st_studiengang_nr_tsg,
null::integer as studiengang_nr, null::integer as studiengang_nr,
null::integer as fach_nr, null::integer as fach_nr,
null::integer as st_studienstatus_nr, null::integer as st_studienstatus_nr,
null::integer as semester, null::integer as semester,
E.semester_tid as semester_veranst, E.semester_tid as semester_veranst,
null::integer as fachsemester, null::integer as fachsemester,
null::integer as fachsemester_tsg,
null::varchar(255) as unikey, null::varchar(255) as unikey,
L.leistung_nr, L.leistung_nr,
L.leistungstyp_nr, L.leistungstyp_nr,
@ -59,12 +61,16 @@ null::integer as leistung_nr_msg,
null::integer as st_studiengang_nr_msg, null::integer as st_studiengang_nr_msg,
null::date as leistungsdatum_msg, null::date as leistungsdatum_msg,
null::integer as semester_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 into temp tmp_pruef
FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S
where E.semester_id=L.veranstaltung_semester where E.semester_id=L.veranstaltung_semester
and T.leistungstyp_nr=L.leistungstyp_nr and T.leistungstyp_nr=L.leistungstyp_nr
and S.matrikelnummer=L.matrikelnummer and S.matrikelnummer=L.matrikelnummer
and S.matrikelnummer in (select ST.matrikelnummer
from costage_st_studierendenstammdaten ST
where ${COSTAGE_STUDENT_FILTER})
-- TSAB/AB: -- TSAB/AB:
and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung
and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung 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, S.st_studstamm_nr,
L.matrikelnummer::integer as matrikelnummer, L.matrikelnummer::integer as matrikelnummer,
null::integer as st_studiengang_nr, null::integer as st_studiengang_nr,
null::integer as st_studiengang_nr_tsg,
null::integer as studiengang_nr, null::integer as studiengang_nr,
null::integer as fach_nr, null::integer as fach_nr,
null::integer as st_studienstatus_nr, null::integer as st_studienstatus_nr,
E.semester_tid as semester, E.semester_tid as semester,
null::integer as semester_veranst, null::integer as semester_veranst,
null::integer as fachsemester, null::integer as fachsemester,
null::integer AS fachsemester_tsg,
null::varchar(255) as unikey, null::varchar(255) as unikey,
L.leistung_nr, L.leistung_nr,
L.leistungstyp_nr, L.leistungstyp_nr,
@ -129,12 +137,16 @@ null::integer as leistung_nr_msg,
null::integer as st_studiengang_nr_msg, null::integer as st_studiengang_nr_msg,
null::date as leistungsdatum_msg, null::date as leistungsdatum_msg,
null::integer as semester_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 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 where L.leistungsdatum between E.semester_anfang and E.semester_ende
and L.veranstaltung_semester is null and L.veranstaltung_semester is null
and T.leistungstyp_nr=L.leistungstyp_nr and T.leistungstyp_nr=L.leistungstyp_nr
and S.matrikelnummer=L.matrikelnummer and S.matrikelnummer=L.matrikelnummer
and S.matrikelnummer in (select ST.matrikelnummer
from costage_st_studierendenstammdaten ST
where ${COSTAGE_STUDENT_FILTER})
-- TSAB/AB: -- TSAB/AB:
and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung
and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung 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 from costage_st_studien S
where S.st_studium_nr=tmp_pruef.st_studium_nr where S.st_studium_nr=tmp_pruef.st_studium_nr
and S.st_studstamm_nr=tmp_pruef.st_studstamm_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: --Fachsemester aus Sem. des Prüfungsdatums holen:
update tmp_pruef set update tmp_pruef set
fachsemester = S.fachsemester 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.st_studium_nr=tmp_pruef.st_studium_nr
and S.matrikelnummer=tmp_pruef.matrikelnummer 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: --Prüfung kann nach letztem eingeschr. Semester sein, daher zuerst letztes Sem. ermitteln:
select S.st_studium_nr, select S.st_studium_nr,
@ -183,15 +211,32 @@ update tmp_pruef set
st_studienstatus_nr=S.st_studienstatus_nr, st_studienstatus_nr=S.st_studienstatus_nr,
--fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester --fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester
studiengang_nr=S.studiengang_nr, 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, fach_nr=S.fach_nr,
unikey=S.unikey, unikey=S.unikey
st_studiengang_nr_msg=S.st_studiengang_nr_msg 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 from tmp_max_sem M, costage_st_studien_aggr S
where S.matrikelnummer=M.matrikelnummer where S.matrikelnummer=M.matrikelnummer
and S.st_studium_nr=M.st_studium_nr and S.st_studium_nr=M.st_studium_nr
and S.semester=M.semester and S.semester=M.semester
and S.st_studium_nr=tmp_pruef.st_studium_nr and S.st_studium_nr=tmp_pruef.st_studium_nr
and S.matrikelnummer=tmp_pruef.matrikelnummer and S.matrikelnummer=tmp_pruef.matrikelnummer
and leistungsdetailtyp_kb !='TSAB'
; ;
drop table tmp_max_sem; drop table tmp_max_sem;
@ -210,7 +255,7 @@ semester_msg=T.semester,
leistungsstatus_map_kb_msg=T.leistungsstatus_map_kb, 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) 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 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 tmp_pruef.leistungsdetailtyp_kb ='TSAB'
and T.matrikelnummer=tmp_pruef.matrikelnummer 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: --Fachsemester bei MSG gibt es in CO nicht. Daher die Regel:
--die Fachsemesterzahl sollte die höchste FS-Zahl aus allen TSG enthalten: --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 into temp tmp_fachsem_msg
from tmp_pruef from tmp_pruef
where leistungsdetailtyp_kb='TSAB' where leistungsdetailtyp_kb='TSAB'
and st_studiengang_nr_msg is not null and st_studiengang_nr is not null
group by 1,2; group by 1,2;
update tmp_pruef set fachsemester=T.fachsem_max update tmp_pruef set fachsemester=T.fachsem_max
from tmp_fachsem_msg T from tmp_fachsem_msg T
where T.matrikelnummer=tmp_pruef.matrikelnummer 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 T.semester_max <=tmp_pruef.semester
and tmp_pruef.leistungsdetailtyp_kb='BAKN' and tmp_pruef.leistungsdetailtyp_kb='BAKN'
; ;
@ -259,21 +304,23 @@ and tmp_pruef.unikey is null
delete from costage_st_pruef_aggr 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, insert into costage_st_pruef_aggr(st_studium_nr,
st_studstamm_nr, st_studstamm_nr,
matrikelnummer, matrikelnummer,
semester, semester,
semester_tsg,
semester_veranst, semester_veranst,
st_studiengang_nr, st_studiengang_nr,
st_studiengang_nr_msg, st_studiengang_nr_tsg,
studiengang_nr, studiengang_nr,
fach_nr, fach_nr,
unikey, unikey,
studienidentifikator, studienidentifikator,
fachsemester, fachsemester,
leistung_nr, fachsemester_tsg,
leistungstyp_nr, leistungstyp_nr,
leistungsdetailtyp_kb, leistungsdetailtyp_kb,
pnr, pnr,
@ -281,51 +328,67 @@ insert into costage_st_pruef_aggr(st_studium_nr,
stp_sp_nr, stp_sp_nr,
po_stp_stp_version_kb, po_stp_stp_version_kb,
note, note,
note_msg, note_tsg,
credits, credits,
leistungsdatum,
anerkannt_flag, anerkannt_flag,
leistungsstatus_nr, leistungsstatus_nr,
leistungsstatus_map_kb, leistungsstatus_map_kb,
leistungsstatus_map_kb_msg, leistungsstatus_map_kb_tsg,
leistung_nr_msg, leistung_nr,
leistungsdatum_msg, leistung_nr_tsg,
semester_msg, leistungsdatum,
leistungsdatum_tsg,
summe) summe)
select select
st_studium_nr, st_studium_nr,
st_studstamm_nr, st_studstamm_nr,
matrikelnummer, 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, semester_veranst,
st_studiengang_nr, st_studiengang_nr,
st_studiengang_nr_msg, st_studiengang_nr_tsg,
studiengang_nr, studiengang_nr,
fach_nr, fach_nr,
unikey, unikey,
substring(studienidentifikator from 1 for 255), substring(studienidentifikator from 1 for 255),
fachsemester, fachsemester,
leistung_nr, fachsemester_tsg,
leistungstyp_nr, leistungstyp_nr,
leistungsdetailtyp_kb, leistungsdetailtyp_kb,
pnr, pnr,
abschnitt, abschnitt,
stp_sp_nr, stp_sp_nr,
po_stp_stp_version_kb, 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, (case when leistungsdetailtyp_kb='TSAB' then note_msg
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, credits,
leistungsdatum,
anerkannt_flag, anerkannt_flag,
leistungsstatus_nr, leistungsstatus_nr,
leistungsstatus_map_kb, (case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb_msg
leistungsstatus_map_kb_msg, else leistungsstatus_map_kb end) as leistungsstatus_map_kb,
leistung_nr_msg, (case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb
leistungsdatum_msg, else null::char(10) end) as leistungsstatus_map_kb_tsg,
semester_msg, (case when leistungsdetailtyp_kb='TSAB' then leistung_nr_msg
count(*) 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 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_pruef;
drop table tmp_pruef2; drop table tmp_pruef2;

71
src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql

@ -34,11 +34,8 @@ S.ca12_staat,
S.second_nationality, S.second_nationality,
SG.fachkennzeichen, SG.fachkennzeichen,
ST.studienform_statistik_code, 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::varchar(255) as studiengangs_identifikator_msg,
null::integer as st_studiengang_nr_msg_primaerflag, 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::char(10) as hrst,
null::integer as fachsemester, null::integer as fachsemester,
null::integer as praxissemester, 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( insert into costage_st_studien_aggr(
st_studium_nr, st_studium_nr,
st_studium_nr_msg, st_studium_nr_tsg,
st_studstamm_nr, st_studstamm_nr,
matrikelnummer, matrikelnummer,
st_studiengang_nr, st_studiengang_nr,
st_studiengang_nr_msg, st_studiengang_nr_tsg,
st_studienstatus_nr, st_studienstatus_nr,
statustyp, statustyp,
statustyp_tsg, statustyp_tsg,
tsg_generated, tsg_generated,
studiengangs_typ_kb,
hrst, hrst,
semester, semester,
fachsemester, fachsemester,
@ -926,23 +924,29 @@ st_studium_nr_msg,
hzb_datum, hzb_datum,
hzb_note, hzb_note,
abm_art_s, abm_art_s,
abm_art_s_msg, abm_art_s_tsg,
po_stp_stp_version_kb, po_stp_stp_version_kb,
po_regelstudienzeit, po_regelstudienzeit,
studiengangs_identifikator_msg, studiengangs_identifikator,
studiengangs_identifikator_tsg,
summe summe
) )
select st_studium_nr, select (case when studiengangs_typ_kb='TSG' then st_studium_nr_msg
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, st_studstamm_nr,
matrikelnummer, matrikelnummer,
st_studiengang_nr, (case when studiengangs_typ_kb='TSG' then st_studiengang_nr_msg
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, st_studienstatus_nr,
studienstatustyp, studienstatustyp,
statustyp_tsg, statustyp_tsg,
tsg_generated, tsg_generated,
studiengangs_typ_kb,
hrst, hrst,
semester, semester,
fachsemester, fachsemester,
@ -981,11 +985,16 @@ st_studium_nr_msg,
hzb_jahr, hzb_jahr,
hzb_datum, hzb_datum,
hzb_note, hzb_note,
abm_art_s, (case when studiengangs_typ_kb='TSG' then abm_art_s_msg
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_stp_stp_version_kb,
po_regelstudienzeit, 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 1 as summe
from tmp_studien3 from tmp_studien3
where kz_rueck_beur_ein is not null where kz_rueck_beur_ein is not null
@ -995,15 +1004,16 @@ st_studium_nr_msg,
-- from above to accomodate ranking in studiengangNummer field -- from above to accomodate ranking in studiengangNummer field
insert into costage_st_studien_aggr( insert into costage_st_studien_aggr(
st_studium_nr, st_studium_nr,
st_studium_nr_msg, st_studium_nr_tsg,
st_studstamm_nr, st_studstamm_nr,
matrikelnummer, matrikelnummer,
st_studiengang_nr, st_studiengang_nr,
st_studiengang_nr_msg, st_studiengang_nr_tsg,
st_studienstatus_nr, st_studienstatus_nr,
statustyp, statustyp,
statustyp_tsg, statustyp_tsg,
tsg_generated, tsg_generated,
studiengangs_typ_kb,
hrst, hrst,
semester, semester,
fachsemester, fachsemester,
@ -1028,23 +1038,29 @@ st_studium_nr_msg,
hzb_datum, hzb_datum,
hzb_note, hzb_note,
abm_art_s, abm_art_s,
abm_art_s_msg, abm_art_s_tsg,
po_stp_stp_version_kb, po_stp_stp_version_kb,
po_regelstudienzeit, po_regelstudienzeit,
studiengangs_identifikator_msg, studiengangs_identifikator,
studiengangs_identifikator_tsg,
summe summe
) )
select st_studium_nr, select (case when studiengangs_typ_kb='TSG' then st_studium_nr_msg
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, st_studstamm_nr,
matrikelnummer, matrikelnummer,
st_studiengang_nr, (case when studiengangs_typ_kb='TSG' then null::integer
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, st_studienstatus_nr,
studienstatustyp, studienstatustyp,
statustyp_tsg, statustyp_tsg,
tsg_generated, tsg_generated,
studiengangs_typ_kb,
hrst, hrst,
semester, semester,
fachsemester, fachsemester,
@ -1084,11 +1100,16 @@ cast (NULL as int) as studiengang_nr2,
hzb_jahr, hzb_jahr,
hzb_datum, hzb_datum,
hzb_note, hzb_note,
abm_art_s, (case when studiengangs_typ_kb='TSG' then abm_art_s_msg
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_stp_stp_version_kb,
po_regelstudienzeit, 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 1 as summe
from tmp_studien3 from tmp_studien3
where kz_rueck_beur_ein is null where kz_rueck_beur_ein is null

47
src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml

@ -236,18 +236,14 @@ null::char(1) as field_of_study,
primaerflag as primaerfach, primaerflag as primaerfach,
unikey , unikey ,
po_regelstudienzeit ,-- individual_number_of_semesters 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 hssem_valid,
null::Char(10) as k_field_of_study_subj_id, null::Char(10) as k_field_of_study_subj_id,
F.kz_rueck_beur_ein_tsg, F.kz_rueck_beur_ein_tsg,
endedat_tsg, endedat_tsg,
(case when G.studiengangs_typ_kb='TSG' then abm_art_s_msg abm_art_s as abmeldegrund,
else abm_art_s end) as abmeldegrund, abm_art_s_tsg as abmeldegrund_tsg,
(case when G.studiengangs_typ_kb='TSG' then abm_art_s G.studiengangs_identifikator as degree_program_uniquename
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
FROM costage_st_studiengaenge G, costage_st_studien_aggr F FROM costage_st_studiengaenge G, costage_st_studien_aggr F
WHERE G.st_studiengang_nr=F.st_studiengang_nr WHERE G.st_studiengang_nr=F.st_studiengang_nr
@ -299,23 +295,22 @@ P.matrikelnummer,
P.studiengang_nr, P.studiengang_nr,
P.fach_nr, P.fach_nr,
G.abschluss, G.abschluss,
(case when P.leistungsdetailtyp_kb='TSAB' then P.semester_msg (case when leistungsdetailtyp_kb='TSAB' then P.semester_tsg
else P.semester end) as semester_msg, else P.semester end) as semester,
(case when P.leistungsdetailtyp_kb='TSAB' then P.leistungsdatum_msg P.leistungsdatum,
else P.leistungsdatum end) as leistungsdatum_msg,
G.skz_key as stg, G.skz_key as stg,
null::integer as vert, null::integer as vert,
null::integer as schwp, null::integer as schwp,
string_not_null(G.fachkennzeichen), string_not_null(G.fachkennzeichen),
(case when P.leistungsdetailtyp_kb='TSAB' then P.note_msg P.note,
else P.note end) as note_msg,
null::char(7), --pruefungsamt_nr null::char(7), --pruefungsamt_nr
P.abschnitt as pnr, P.abschnitt as pnr,
P.po_stp_stp_version_kb as pversion, 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, P.leistungsstatus_map_kb as pstatus,
(case when leistungsdetailtyp_kb!='TSAB' then P.fachsemester else null::integer end) as fachsemester, P.fachsemester,
P.leistungsdetailtyp_kb as part, 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::integer as pversuch,
null::char(7)as ppruef1, null::char(7)as ppruef1,
null::char(7) as ppruef2, null::char(7) as ppruef2,
@ -331,17 +326,17 @@ null::CHAR(1), --stuart
G.stufrm, G.stufrm,
null::CHAR(1), --stutyp null::CHAR(1), --stutyp
st_studium_nr as degree_program_id, st_studium_nr as degree_program_id,
(case when leistungsdetailtyp_kb='TSAB' then semester else null::integer end) as sem_der_pruefung_exa, semester_tsg,
(case when leistungsdetailtyp_kb='TSAB' then leistungsdatum else null::date end) as d_abg_pruefung_exa, leistungsdatum_tsg,
(case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb else null::char(10) end) as pstatus_tsg, leistungsstatus_map_kb_tsg as pstatus_tsg,
(case when leistungsdetailtyp_kb='TSAB' then note else null::float end) as note_tsg, note_tsg,
(case when leistungsdetailtyp_kb='TSAB' then fachsemester else null::integer end) as fach_sem_zahl_tsg fachsemester_tsg as fach_sem_zahl_tsg
FROM costage_st_pruef_aggr P, costage_st_studiengaenge G FROM costage_st_pruef_aggr P, costage_st_studiengaenge G
where G.st_studiengang_nr=P.st_studiengang_nr where G.st_studiengang_nr=P.st_studiengang_nr
and ($EXTERNAL_SUBJECTS ='true' and ($EXTERNAL_SUBJECTS ='true'
or P.unikey=(select H.hs_nr::char(10) from hochschulinfo H) 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;
<extraction-sql sourcesystem="co" database="" version=""> <extraction-sql sourcesystem="co" database="" version="">
<![CDATA[ select <![CDATA[ select
matrikelnummer as mtknr, matrikelnummer as mtknr,
leistung_nr as labnr, leistung_nr_tsg as labnr,
null::char(1) as artzuordnung, null::char(1) as artzuordnung,
null::char(1) as pordnrzu, null::char(1) as pordnrzu,
leistung_nr_msg as labnrzu, leistung_nr as labnrzu,
null::char(1) as bonus, null::char(1) as bonus,
null::char(1) as malus null::char(1) as malus
from costage_st_pruef_aggr from costage_st_pruef_aggr
where leistung_nr_msg != leistung_nr where leistung_nr_tsg != leistung_nr
--AND semester >= $start_pruef_sem --AND semester >= $start_pruef_sem
; ;
]]> ]]>

Loading…
Cancel
Save