diff --git a/src-modules/module/costage/conf/costage.xml b/src-modules/module/costage/conf/costage.xml
index ac4be6c..c22ad2e 100644
--- a/src-modules/module/costage/conf/costage.xml
+++ b/src-modules/module/costage/conf/costage.xml
@@ -129,6 +129,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
+
+
@@ -144,6 +146,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
+
@@ -458,11 +461,11 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
Lookup via: st_studstamm_nr - costage_bw_bewerbungen.st_studstamm_nr - costage_bw_bewerbungen.nr - costage_bw_bewerb_hzb.bw_bewrbng_nr - costage_bw_bewerb_hzb.st_land_nr - costage_st_laender.land_nr
-
+
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'
@@ -1333,6 +1336,7 @@ gueltig_bis DATE
+
@@ -1371,7 +1375,7 @@ gueltig_bis DATE
-
+
diff --git a/src-modules/module/costage/costage_update.x b/src-modules/module/costage/costage_update.x
new file mode 100755
index 0000000..4c19dcf
--- /dev/null
+++ b/src-modules/module/costage/costage_update.x
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+#Arbeitsverzeichnis fuer crontab
+PFAD=$2
+if [ "$PFAD" != "" ]
+then
+
+cd $PFAD
+
+fi
+#Umgebung einlesen:
+if [ "$COSTAGE_PFAD" = "" ]
+then
+echo "ACHTUNG: Die Umgebungsvariable COSTAGE_PFAD ist nicht gesetzt. Bitte prüfen Sie $SUPERX_DIR/db/bin/SQL_ENV"
+
+exit 1
+
+fi
+if [ "$COSTAGE_ERRORMAIL" != "" ]
+then
+ERRORMAIL=$COSTAGE_ERRORMAIL
+export ERRORMAIL
+fi
+if [ "$COSTAGE_LOGMAIL" != "" ]
+then
+LOGMAIL=$COSTAGE_LOGMAIL
+export LOGMAIL
+fi
+if [ "$COSTAGE_BACKUP" != "" ]
+then
+MODULE_BACKUP=$COSTAGE_BACKUP
+export MODULE_BACKUP
+fi
+#hier geht es los
+#runAndCheck.x path command (EXIT_ON_ERROR|CONT_ON_ERROR) (SEND_ERRORMAIL|NO_ERRORMAIL) (SEND_LOGMAIL|NO_LOGMAIL) [description] "
+echo "costage-Update startet" >$COSTAGE_ERRORDAT
+
+runAndCheck.x $COSTAGE_PFAD "module_etl.x costage $COSTAGE_PFAD $COSTAGE_LOAD_PFAD" EXIT_ON_ERROR SEND_ERRORMAIL SEND_LOGMAIL "COSTAGE update$MANDANTID"
+
+echo "---------------------------Beginn Prüfroutine-----------------------------------" >>$COSTAGE_ERRORDAT
+cat $COSTAGE_PFAD/L_COSTAGE_update$MANDANTID.log >>$COSTAGE_ERRORDAT
+
+pruefmail.x $COSTAGE_PFAD/L_costage_Test$MANDANTID.log $ERRORMAIL
+
+
+#Bei Fehlern Datum zurücksetzen:
+fgrep -s "not found" $COSTAGE_ERRORDAT
+FLAG1=$?
+fgrep -i -s "error" $COSTAGE_ERRORDAT
+FLAG2=$?
+fgrep -i -s "nicht gefunden" $COSTAGE_ERRORDAT
+FLAG3=$?
+fgrep -i -s "fehler" $COSTAGE_ERRORDAT
+FLAG4=$?
+
+if [ $FLAG1 -eq 0 -o $FLAG2 -eq 0 -o $FLAG3 -eq 0 -o $FLAG4 -eq 0 ]
+then
+ echo "Fehler beim COSTAGE-Update "
+ echo "---------------------------------------"
+ echo "Fehlerprotokoll in $COSTAGE_ERRORDAT"
+ echo "Das Datum wird zurückgesetzt. Kopieren Sie die Datei superx.datum ggf. auf den COSTAGE-Rechner"
+ echo "---------------------------------------"
+ cp $COSTAGE_LOAD_PFAD/superx.datum.alt $COSTAGE_LOAD_PFAD/superx.datum
+else
+ echo "COSTAGE-Update erfolgreich"
+fi
+
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 fbb7a68..4ed1931 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
@@ -92,6 +92,12 @@ where tmp_studien.st_studstamm_nr = BW.st_studstamm_nr
and BW.nr=H.bw_bewrbng_nr
;
+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);
+
select T.*,1::smallint as primaerflag
into temp tmp_studien2
@@ -116,7 +122,7 @@ on (H.st_studstamm_nr=T.st_studstamm_nr
---Ermittlung msg:
+--Ermittlung msg bei TSG:
update tmp_studien2 set st_studiengang_nr_msg=M.st_studiengang_nr_msg
from costage_st_studiengaenge_mtsg M, costage_st_studien ST
where ST.st_studiengang_nr=M.st_studiengang_nr_msg
@@ -125,6 +131,19 @@ and M.st_studiengang_nr_tsg=tmp_studien2.st_studiengang_nr
and tmp_studien2.studiengangs_typ_kb ='TSG'
;
+--statustyp bei TSG aus MSG nachladen:
+update tmp_studien2 set studienstatustyp=S.studienstatustyp
+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.studiengangs_typ_kb ='TSG'
+and tmp_studien2.st_sem_nr=S.st_sem_nr
+and S.status_historie=1
+
+;
+
+
<#if K_COSTAGE_TSG_GENERATE == 1>
--Start- und Endsemester aller MSG pro Student:
@@ -162,13 +181,12 @@ and T.studiengangs_typ_kb ='TSG'
drop table if exists tmp_studien_msg_tsg_fehlend;
select T.*
into temp tmp_studien_msg_tsg_fehlend
-from tmp_studien_msg_tsg T --enthält alle tsg
-left outer join tmp_studien2 T2 --enthält die TSG
+from tmp_studien_msg_tsg T --enthält alle möglichen TSG
+left outer join tmp_studien2 T2 --enthält die tatsächlich vorhandenen TSG
on (T2.st_studiengang_nr_msg=T.st_studiengang_nr_msg
and T2.st_studiengang_nr=T.st_studiengang_nr_tsg
and T2.st_studstamm_nr=T.st_studstamm_nr
and T2.studiengangs_typ_kb ='TSG'
---and T2.st_studium_nr=T.st_studium_nr
and T.semester=T2.semester)
where T2.st_studstamm_nr is null
;
@@ -226,7 +244,7 @@ S.fachkennzeichen,
S.studienform_statistik_code,
S.st_studiengang_nr_msg,
S.st_studiengang_nr_tsg,
-S.hrst,
+null::char(10) as hrst,--hrst kann im Studienverlauf wechseln, daher nachher vom MSG nachladen
S.hssem,
null::char(10) as statustyp_tsg,
1 as tsg_generated,
@@ -246,17 +264,9 @@ and M.semester != S.semester
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
;
-drop table tmp_studien_msg_tsg_fehlend;
-drop table tmp_studien_msg_tsg;
-drop table tmp_studien_msg;
-
-
-
-#if>
---------------------------------------------------------------------
-
---statustyp nachladen:
-update tmp_studien2 set studienstatustyp=S.studienstatustyp
+--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
@@ -278,6 +288,17 @@ and tmp_studien2.fachsemester=S.fachsemester
;
+drop table tmp_studien_msg_tsg_fehlend;
+drop table tmp_studien_msg_tsg;
+drop table tmp_studien_msg;
+
+
+
+#if>
+--------------------------------------------------------------------
+
+
+
drop table tmp_studien;
diff --git a/src-modules/module/costage/rohdaten/costage_unload.xml b/src-modules/module/costage/rohdaten/costage_unload.xml
index a377316..768d45c 100644
--- a/src-modules/module/costage/rohdaten/costage_unload.xml
+++ b/src-modules/module/costage/rohdaten/costage_unload.xml
@@ -132,7 +132,8 @@ SELECT st_land_nr,
statistik_code,
adresse,
hzb,
- null as staatsbuergerschaft
+ null as staatsbuergerschaft,
+ kfz_kennzeichen
FROM px_st_laender_v
;
@@ -147,7 +148,8 @@ FROM px_st_laender_v
SELECT st_land_reg_nr,
name,
statistik_code,
- st_land_nr
+ st_land_nr,
+ kfz_kennzeichen_region
FROM px_st_land_regionen_v
;
@@ -487,7 +489,7 @@ FROM px_bw_zulassungsarten_v