Browse Source

Neue Konstante COSTAGE_TSG_GENERATE auswerten #10

COStage_0.3_Release
Daniel Quathamer 2 years ago
parent
commit
40c2c23774
  1. 4
      src-modules/module/costage/conf/costage.xml
  2. 155
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
  3. 4
      src-modules/module/costage/rohdaten/costage_unload.xml
  4. 132
      src-modules/module/costage/rohdaten/sos_v1_unload.x
  5. 190
      src-modules/module/costage/rohdaten/sos_v1_unload.xml
  6. 127
      src-modules/module/costage/schluesseltabellen/konstanten_fuellen.sql

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

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="costage" version="0.3b" sachgebiet_id="310" <module name="costage" version="0.3b" sachgebiet_id="310"
sachgebiet="CO Basisdaten" systeminfo_id="310" sachgebiet="CO Basisdaten" systeminfo_id="310"
system="CO Basisdaten" thema="CO Basisdaten" thema_parent="Studierende, Prüfungen"> system="CO Basisdaten" thema="CO Basisdaten" thema_parent="Studierende, Prüfungen">
@ -658,9 +657,10 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<table name="costage_land_subregionen" thema="Bewerbungen" caption="Regionen (CO)" typ="Datentabelle" releaseUnload="empty"> <table name="costage_land_subregionen" thema="Bewerbungen" caption="Regionen (CO)" typ="Datentabelle" releaseUnload="empty">
<columns><column name="nr" type ="INTEGER" size ="4" default ="" notnull ="true" /> <columns><column name="land_sub_reg_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
<column name="name" type ="VARCHAR" size ="100" default ="" notnull ="true" /> <column name="name" type ="VARCHAR" size ="100" default ="" notnull ="true" />
<column name="statistik_code" type ="VARCHAR" size ="5" default ="" notnull ="false" /> <column name="statistik_code" type ="VARCHAR" size ="5" default ="" notnull ="false" />
<column name="land_kfz_kennzeichen_subregion" type ="VARCHAR" size ="10" default ="" notnull ="false" />
<column name="st_land_reg_nr" type ="INTEGER" size ="4" default ="" notnull ="true" /> <column name="st_land_reg_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
</columns> </columns>
<indexes></indexes> <indexes></indexes>

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

@ -67,6 +67,7 @@ and ${COSTAGE_STUDENT_FILTER}
--group by 1,2,3,4,5,6,7,8,9,10,11,12,13 --group by 1,2,3,4,5,6,7,8,9,10,11,12,13
; ;
update tmp_studien update tmp_studien
set hrst=H.hoererstatus_kb set hrst=H.hoererstatus_kb
from costage_st_hoererstatus H from costage_st_hoererstatus H
@ -123,44 +124,56 @@ and ST.st_studstamm_nr=tmp_studien2.st_studstamm_nr
and M.st_studiengang_nr_tsg=tmp_studien2.st_studiengang_nr and M.st_studiengang_nr_tsg=tmp_studien2.st_studiengang_nr
and tmp_studien2.studiengangs_typ_kb ='TSG' and tmp_studien2.studiengangs_typ_kb ='TSG'
; ;
update tmp_studien2 set studienstatustyp=null;
<#if K_COSTAGE_TSG_GENERATE == 1>
--Ermittlung status bei TSG aus MSG: --Start- und Endsemester aller MSG pro Student:
update tmp_studien2 set studienstatustyp=T.studienstatustyp drop table if exists tmp_studien_msg;
select T.st_studiengang_nr as st_studiengang_nr_msg,
T.st_studstamm_nr,
min(T.semester) as startsemester,
max(T.semester) as endsemester
into temp tmp_studien_msg
from tmp_studien T from tmp_studien T
where T.st_studiengang_nr=tmp_studien2.st_studiengang_nr_msg where T.studienstatustyp in ('B','E','I','X') --nur tatsächlich eingeschrieben
and T.st_studstamm_nr=tmp_studien2.st_studstamm_nr and T.studiengangs_typ_kb ='MSG'--enthält die MSG
and T.st_sem_nr=tmp_studien2.st_sem_nr
and T.status_historie=1 and T.status_historie=1
and tmp_studien2.studiengangs_typ_kb ='TSG' group by 1,2
; ;
--Verknüpfung mit TSG über alle möglichen Semester:
drop table if exists tmp_studien_msg_tsg;
drop table if exists tmp_fehlend; select distinct
M.st_studiengang_nr_msg,
--fehlende TSG nachtragen: T.st_studiengang_nr as st_studiengang_nr_tsg,
select T.st_studium_nr, M.st_studstamm_nr,
T.studienstatustyp, E.semester_tid as semester,
T.st_studienstatus_nr, E.st_sem_nr,
T.st_studiengang_nr_msg, M.startsemester,
T.st_sem_nr, M.endsemester
T.st_studstamm_nr, into temp tmp_studien_msg_tsg
T.beginn_datum, from tmp_studien_msg M, tmp_studien2 T,costage_st_semester E
T.gueltig_ab where M.st_studiengang_nr_msg=T.st_studiengang_nr_msg
into temp tmp_fehlend and M.st_studstamm_nr=T.st_studstamm_nr
from tmp_studien T and T.semester between M.startsemester and M.endsemester
left outer join tmp_studien2 T2 and E.semester_tid between M.startsemester and M.endsemester
on (T2.st_studiengang_nr_msg=T.st_studiengang_nr and T.studiengangs_typ_kb ='TSG'
;
--nun fehlende Datensätze ermitteln:
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
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.st_studstamm_nr=T.st_studstamm_nr
and T2.studiengangs_typ_kb ='TSG' and T2.studiengangs_typ_kb ='TSG'
and T.st_sem_nr=T2.st_sem_nr) --and T2.st_studium_nr=T.st_studium_nr
where T2.st_studstamm_nr is null and T.semester=T2.semester)
and T.studienstatustyp in ('B','E','I') --nur tatsächlich eingeschrieben where T2.st_studstamm_nr is null
--and T.st_sem_nr=180
; ;
--fehlende Semester nachtragen:
insert into tmp_studien2(semester, insert into tmp_studien2(semester,
st_absz_nr, st_absz_nr,
st_skz_nr, st_skz_nr,
@ -171,10 +184,10 @@ st_studium_nr,
st_studstamm_nr, st_studstamm_nr,
st_studiengang_nr, st_studiengang_nr,
studiengangs_typ_kb, studiengangs_typ_kb,
studienstatustyp, --studienstatustyp,
st_studienstatus_nr, --st_studienstatus_nr,
beginn_datum, --beginn_datum,
gueltig_ab, --gueltig_ab,
matrikelnummer, matrikelnummer,
geschlecht, geschlecht,
ca12_staat, ca12_staat,
@ -190,20 +203,21 @@ tsg_generated,
primaerflag, primaerflag,
hzb_art, hzb_art,
fachsemester) fachsemester)
select E.semester_tid,
select M.semester,
st_absz_nr, st_absz_nr,
S.st_skz_nr, S.st_skz_nr,
S.studiengangs_identifikator, S.studiengangs_identifikator,
S.studiengangs_bezeichnung, S.studiengangs_bezeichnung,
T.st_sem_nr, M.st_sem_nr,
S.st_studium_nr, S.st_studium_nr,
S.st_studstamm_nr, S.st_studstamm_nr,
S.st_studiengang_nr, S.st_studiengang_nr,
S.studiengangs_typ_kb, S.studiengangs_typ_kb,
T.studienstatustyp, --M.studienstatustyp_msg,
T.st_studienstatus_nr, --M.st_studienstatus_nr_msg,
T.beginn_datum, --M.beginn_datum,
T.gueltig_ab, --M.gueltig_ab,
S.matrikelnummer, S.matrikelnummer,
S.geschlecht, S.geschlecht,
S.ca12_staat, S.ca12_staat,
@ -214,19 +228,45 @@ S.st_studiengang_nr_msg,
S.st_studiengang_nr_tsg, S.st_studiengang_nr_tsg,
S.hrst, S.hrst,
S.hssem, S.hssem,
null::char(10) as statustyp_tsg, null::char(10) as statustyp_tsg,
1 as tsg_generated, 1 as tsg_generated,
S.primaerflag, S.primaerflag,
S.hzb_art, S.hzb_art,
max(S.fachsemester) max(S.fachsemester)
from tmp_fehlend T, tmp_studien2 S,costage_st_semester E from tmp_studien_msg_tsg_fehlend M, tmp_studien2 S --,costage_st_semester E
where T.st_studiengang_nr_msg=S.st_studiengang_nr_msg where M.st_studiengang_nr_msg=S.st_studiengang_nr_msg
and T.st_studstamm_nr=S.st_studstamm_nr and M.st_studiengang_nr_tsg=S.st_studiengang_nr
and M.st_studstamm_nr=S.st_studstamm_nr
and S.studiengangs_typ_kb ='TSG' and S.studiengangs_typ_kb ='TSG'
and T.st_sem_nr != S.st_sem_nr and M.semester != S.semester
and E.st_sem_nr=T.st_sem_nr --and E.st_sem_nr=M.st_sem_nr
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 --and S.st_studiengang_nr_msg=34454
--and S.studiengangs_bezeichnung='Bildungswissenschaften'
--and M.semester=20211
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
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
and S.status_historie=1
; ;
--statustyp_stg nachladen: --statustyp_stg nachladen:
update tmp_studien2 set statustyp_tsg=S.statustyp_tsg update tmp_studien2 set statustyp_tsg=S.statustyp_tsg
from tmp_studien S from tmp_studien S
@ -241,8 +281,6 @@ and tmp_studien2.fachsemester=S.fachsemester
drop table tmp_studien; drop table tmp_studien;
--Ermittlung fach_nr: --Ermittlung fach_nr:
update tmp_studien2 set fach_nr=M.studienfach_sortierung update tmp_studien2 set fach_nr=M.studienfach_sortierung
from costage_st_studiengaenge_mtsg M from costage_st_studiengaenge_mtsg M
@ -267,10 +305,20 @@ from cifx where key=400
and apnr=tmp_studien2.studienstatustyp and apnr=tmp_studien2.studienstatustyp
); );
-- update tmp_studien2 set kz_rueck_beur_ein=(select val(astat)
-- from cifx where key=400
-- and apnr=tmp_studien2.statustyp_tsg
-- )
-- where kz_rueck_beur_ein is null;
update tmp_studien2 update tmp_studien2
set hssem=1 where kz_rueck_beur_ein=1; set hssem=H.anzahl_hochschulsemester
from costage_st_hochschulsemester H
where H.st_studstamm_nr=tmp_studien2.st_studstamm_nr
and H.st_sem_nr=tmp_studien2.st_sem_nr
; ;
update tmp_studien2 set studiengang_nr=1 where primaerflag=1; update tmp_studien2 set studiengang_nr=1 where primaerflag=1;
--Wenn Studium mit Primärflag ein TSG ist, wird die studiengang_nr auf alle anderen TSG des MSG ausgedehnt: --Wenn Studium mit Primärflag ein TSG ist, wird die studiengang_nr auf alle anderen TSG des MSG ausgedehnt:
@ -375,7 +423,11 @@ select st_studium_nr,
dense_rank () over (partition by semester, st_studstamm_nr,studiengang_nr dense_rank () over (partition by semester, st_studstamm_nr,studiengang_nr
order by primaerflag desc,fach_nr) order by primaerflag desc,fach_nr)
end) as fach_nr, end) as fach_nr,
unikey, --TODO probieren:
-- ROW_NUMBER() over (partition by semester, st_studstamm_nr,studiengang_nr
-- order by primaerflag desc,fach_nr)
-- end)+1 as fach_nr,
unikey,
beginn_datum as anfdat, beginn_datum as anfdat,
(case when studienstatustyp not in ('Z','X') then null::date (case when studienstatustyp not in ('Z','X') then null::date
else gueltig_ab end) as ruebeudat, else gueltig_ab end) as ruebeudat,
@ -530,7 +582,4 @@ and A.st_adresse_typ='H'
drop table tmp_studien2; drop table tmp_studien2;
drop table tmp_primaer_msg; drop table tmp_primaer_msg;
drop table temp_tmp_studien2; drop table temp_tmp_studien2;
drop table tmp_fehlend;

4
src-modules/module/costage/rohdaten/costage_unload.xml

@ -490,6 +490,7 @@ FROM px_bw_zulassungsarten_v
SELECT nr, SELECT nr,
name, name,
statistik_code, statistik_code,
land_kfz_kennzeichen_subregion,
st_land_reg_nr st_land_reg_nr
FROM px_land_subregionen_v FROM px_land_subregionen_v
; ;
@ -621,13 +622,12 @@ FROM px_st_ersthochschulen_v
SELECT H.st_studstamm_nr, SELECT H.st_studstamm_nr,
H.st_sem_nr, H.st_sem_nr,
H.anzahl_hochschulsemester H.anzahl_hochschulsemester
FROM px_st_hochschulsemester_v H,px_st_semester_v S FROM sx_st_hochschulsemester_v H,px_st_semester_v S
where S.st_sem_nr=H.st_sem_nr where S.st_sem_nr=H.st_sem_nr
and H.anzahl_hochschulsemester >0 and H.anzahl_hochschulsemester >0
and to_number('20' || replace(replace(S.semester_id,'S','1'),'W','2')) >= $COSTAGE_start_st_sem and to_number('20' || replace(replace(S.semester_id,'S','1'),'W','2')) >= $COSTAGE_start_st_sem
and current_date+365 > S.semester_anfang and current_date+365 > S.semester_anfang
and extract(year from S.semester_anfang) > 2000 and extract(year from S.semester_anfang) > 2000
and 1=0
; ;
]]> ]]>

132
src-modules/module/costage/rohdaten/sos_v1_unload.x

@ -0,0 +1,132 @@
#!/bin/bash
#Extraction Script for SuperX.
#Bitte nicht ändern, diese Datei ist automatisch generiert.
SRC_PFAD=$SOS_LOAD_PFAD
if [ "$SRC_PFAD" = "" ]
then
SRC_PFAD=.
fi
. ./$SRC_PFAD/SOS_ENV
if [ "$outFormat" = "" ]
then
outFormat=txt
fi
DATUM=`cat $SRC_PFAD/superx.datum`
ERR=sos_v1_unload.err
HEUTE=`date +'%d.%m.%Y'`
echo "Letztes Update-Datum: " $DATUM >$ERR
echo "DATABASE: $DATABASE" >>$ERR
echo "VERSION: $VERSION" >>$ERR
echo "SX_CLIENT: $SX_CLIENT" >>$ERR
echo "1.2b^"$HEUTE"^" >$SRC_PFAD/unl/superx_unload_version.unl
cd $SRC_PFAD >>$ERR 2>&1
CP=".:$JDBC_CLASSPATH:$XML_CLASSPATH"
cat /dev/null >unload_params.txt
if [ "$SOS_UNL_COMPLETE" = "" ]
then
SOS_UNL_COMPLETE="true"
export SOS_UNL_COMPLETE
fi
echo "Parameter SOS_UNL_COMPLETE: $SOS_UNL_COMPLETE" >>$ERR
echo "\$SOS_UNL_COMPLETE=$SOS_UNL_COMPLETE" >>unload_params.txt
if [ "$VERSION" = "" ]
then
VERSION="13"
export VERSION
fi
echo "Parameter VERSION: $VERSION" >>$ERR
echo "\$VERSION=$VERSION" >>unload_params.txt
if [ "$start_stud_sem" = "" ]
then
start_stud_sem="19911"
export start_stud_sem
fi
echo "Parameter start_stud_sem: $start_stud_sem" >>$ERR
echo "\$start_stud_sem=$start_stud_sem" >>unload_params.txt
if [ "$start_pruef_sem" = "" ]
then
start_pruef_sem="19911"
export start_pruef_sem
fi
echo "Parameter start_pruef_sem: $start_pruef_sem" >>$ERR
echo "\$start_pruef_sem=$start_pruef_sem" >>unload_params.txt
if [ "$SOS_UNL_ANON" = "" ]
then
SOS_UNL_ANON="false"
export SOS_UNL_ANON
fi
echo "Parameter SOS_UNL_ANON: $SOS_UNL_ANON" >>$ERR
echo "\$SOS_UNL_ANON=$SOS_UNL_ANON" >>unload_params.txt
if [ "$POS_PNR" = "" ]
then
POS_PNR="0"
export POS_PNR
fi
echo "Parameter POS_PNR: $POS_PNR" >>$ERR
echo "\$POS_PNR=$POS_PNR" >>unload_params.txt
if [ "$LAB_FILTER" = "" ]
then
LAB_FILTER=" AND (lab.panerk is null or lab.panerk != 'J') "
export LAB_FILTER
fi
echo "Parameter LAB_FILTER: $LAB_FILTER" >>$ERR
echo "\$LAB_FILTER=$LAB_FILTER" >>unload_params.txt
if [ "$STUDENT_FILTER" = "" ]
then
STUDENT_FILTER=" AND 1=1 "
export STUDENT_FILTER
fi
echo "Parameter STUDENT_FILTER: $STUDENT_FILTER" >>$ERR
echo "\$STUDENT_FILTER=$STUDENT_FILTER" >>unload_params.txt
if [ "$STUDENT_SOSPOS_FILTER" = "" ]
then
STUDENT_SOSPOS_FILTER=" AND 1=1 "
export STUDENT_SOSPOS_FILTER
fi
echo "Parameter STUDENT_SOSPOS_FILTER: $STUDENT_SOSPOS_FILTER" >>$ERR
echo "\$STUDENT_SOSPOS_FILTER=$STUDENT_SOSPOS_FILTER" >>unload_params.txt
echo "Parameter SOURCESYSTEM: $SOURCESYSTEM" >>$ERR
echo "\$SOURCESYSTEM=$SOURCESYSTEM" >>unload_params.txt
#jdbc zum Entladen
if [ "$SX_CLIENT" = "jdbc" ]
then
java $JAVA_OPTS -cp $CP de.superx.bin.SxExtractor -logger:$LOGGER_PROPERTIES -dbproperties:$DB_PROPERTIES -xml:sos_v1_unload.xml -outFormat:$outFormat -delim:$DBDELIMITER -header:$header -database:$DATABASE -version:$VERSION -unload_params:unload_params.txt >>$ERR 2>&1
echo "Unload v1 beendet"
exit 0
fi

190
src-modules/module/costage/rohdaten/sos_v1_unload.xml

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<superx-unload version="4.0">
<module id="sos" version="1.2b" systeminfo_id="7">SOS-Modul</module>
<parameters>
<param name="SOS_UNL_COMPLETE" defaultValue="true" description="Komplett entladen"><comment>Sollen alle Datensätze entladen werden, oder nur die geänderten?(true,false).</comment></param>
<param name="VERSION" defaultValue="13" description="Datenbank-Version"><comment>SOSPOS-Version, möglich sind 6,7,8,9,10,11,12,13. Bei HISinOne wird sie automatisch gesetzt.</comment></param>
<param name="start_stud_sem" defaultValue="19911" description="Startsemester Studierende"><comment>Ab welchem Semester sollen Studierende entladen werden? z.B. 20011 für SS 2001</comment></param>
<param name="start_pruef_sem" defaultValue="19911" description="Startsemester Prüfungen"><comment>Ab welchem Semester sollen Prüfungen entladen werden? z.B. 20021 für SS 2002</comment></param>
<param name="SOS_UNL_ANON" defaultValue="false" description="Pseudonymisierung"><comment>Matrikelnummern pseudonymisieren (true, false). Muss bei Datenquelle HISinOne auf "false" gesetzt sein.</comment></param>
<param name="POS_PNR" defaultValue="0" ><comment>Welche Prüfungsnummern (Vor- Hauptprüfungen) sollen entladen werden? Wird bei Datenquelle HISinOne nicht ausgewertet.</comment></param>
<param name="LAB_FILTER" defaultValue=" AND (lab.panerk is null or lab.panerk != 'J') " ><comment>Weiterer Filter für Einzelprüfungen. Standardmäßig werden anerkannte Prüfungen nicht entladen. Wird bei Datenquelle HISinOne nicht ausgewertet.</comment></param>
<param name="STUDENT_FILTER" defaultValue=" AND 1=1 " ><comment>Filter für Studierende, um z.B. Teststudenten nicht zu entladen (nur HISinOne).</comment></param>
<param name="STUDENT_SOSPOS_FILTER" defaultValue=" AND 1=1 " ><comment>Filter für Studierende, um z.B. Teststudenten nicht zu entladen (nur sospos/co).</comment></param>
</parameters>
<sourcesystems>
<sourcesystem name="co" description="CampusOnline-Datenbank" />
</sourcesystems>
<unload-job id="preparation2" extraction-table="" extraction-script="" database="" transfer-unload-file="" >
<comment> wichtige Konstanten aus SOS entladen, z.B. HISSOS-Version.</comment>
<!-- Ab der INFORMIX IDS 117 entfällt die database-Spezifika: -->
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
create table superx_sos (mtknr integer, mtknr_ldsg integer);
]]>
</extraction-sql>
</unload-job>
<unload-job id="preparation5" extraction-table="" extraction-script="" database="" transfer-unload-file="" >
<comment> wichtige Konstanten aus SOS entladen, z.B. HISSOS-Version.</comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
insert into superx_sos(mtknr, mtknr_ldsg)
SELECT DISTINCT S.mtknr,S.mtknr
from sos S
where S.semester >= $start_stud_sem
;
]]>
</extraction-sql>
</unload-job>
<unload-job id="sos_studenten" extraction-table="" extraction-script="" transfer-unload-file="unl/sos_studenten_v1.unl" >
<comment><comment>Studi-Sätze aus SOS. Die KFZ-Kennzeichen werden erst in SuperX umgeschlüsselt.</comment></comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
select superx_sos.mtknr_ldsg,
gebdat,
'',--gebort,
(CASE WHEN geschl='M' THEN '1'
when geschl='W' then '2'
else ''
end) as geschl,
exmdat,
status,
semester,
'' ,--poplz,
'' ,--poort,
immdat,
'' ,--beugrund as gdbu,
exmgrund as gdex,
staat,
'' as bland,
'' ,--hssem,
'' ,--urlsem,
hmkfzkz,
hmkfz,
semkfzkz,
semkfz,
hzbart,
hzbjahr,
hzbkfzkz,
hzbkfz,
hzbdatum,
hzbnote ,
'' ,--hssemgewicht,
'' as urlsemgewicht,
erhskfz,
'' ,--erhsart,
erhssembrd,
erstsemhs,
'' ,--sperrart1,
'' ,--sperrart2,
'' ,--staatkez,
'' ,--ersthzbkfz,
'' ,--ersthzbkfzkz ,
'',--ersthzbart
'',-- second_nationality,
'',-- practicalsemester,
'',-- kollegsemester,
'',-- discontinuation_sem_zahl,
'',-- studyrelatedjob,
'',-- studyrelatedinternship,
'',-- interruptiontype,
erhskfz,-- study_before_place_of_study,
'', -- study_before_country_of_study
'', --date AS org_role_valid_from,
'', -- date AS org_role_valid_to
'' AS sema,
'' AS gebasoll,
'' AS geba,
'' AS geba_sws,
'' AS ersthzbjahr,
'' AS ersthzbnote
FROM superx_sos,sos
where
sos.mtknr = superx_sos.mtknr
and sos.semester >= $start_stud_sem
;
]]>
</extraction-sql>
</unload-job>
<unload-job id="sos_faecher" extraction-table="" extraction-script="" transfer-unload-file="unl/sos_faecher_v1.unl" >
<comment>stg-Sätze aus sos</comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
SELECT
S.mtknr_ldsg,
abschl,
stg,
'' ,--vert,
'' ,--schwp,
kzfa,
'' ,--fb,
pversion,
F.semester,
substr(F.stgnr,1,1),
substr(F.stgnr,length(F.stgnr),1),
F.status,
F.beugrund as gdbu,
F.endegrd as gdex,
F.stgsem,
F.hrst,
F.klinsem,
F.hssem,
'' ,--stuart,
'' ,--stutyp,
stufrm,
'' ,--stort,
F.ruebeudat,
'' ,--semgewicht,
'' ,--stggewicht,
'' ,--stgsemgewicht,
'' as hssemgewicht,
'' as urlsemgewicht,
'' ,--kohsem,
'' ,--lfdnr,
F.endedat,
F.anfdat,
'', --lepsem
'',-- -- district.astat nur h1
'',-- -- country.astat nur h1
'' , --Art der Promotion
'' as field_of_study,
primaerfach,
unikey,
null as individual_number_of_semesters, --individual RSZ
null as degree_program_id --Studiengang-ID
FROM stg F, superx_sos S
WHERE F.mtknr = S.mtknr
and F.status is not null
AND F.semester >= $start_stud_sem
;
]]>
</extraction-sql>
</unload-job>
<unload-job id="finalize1" extraction-table="" extraction-script="" transfer-unload-file="" database="" version="">
<comment>Beendigung</comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
drop table superx_sos;
]]>
</extraction-sql>
</unload-job>
</superx-unload>

127
src-modules/module/costage/schluesseltabellen/konstanten_fuellen.sql

@ -0,0 +1,127 @@
--freemarker template
<#if SQLdialect='Postgres'>
<#assign texttype="text" />
<#else>
EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T');
<#assign texttype="lvarchar" />
</#if>
<#assign newline="'
'" />
create table tmp_konstanten
(
tid serial,
apnr integer,
beschreibung char(255),
defaultvalue integer,
description ${texttype},
systeminfo_id integer,
doku_link varchar(255),
read_only integer,
wertebereich varchar(250),
ab_version varchar(10),
gruppe varchar(255),
sachgebiete_id integer
);
insert into tmp_konstanten(apnr,
beschreibung,
defaultvalue,
description,
systeminfo_id,
doku_link,
read_only,
wertebereich,
ab_version,
gruppe,
sachgebiete_id)
values (1,
'COSTAGE_TSG_GENERATE',
1,
'Teilstudiengänge Status aus MSG ausdehnen',
310,
'',--doku link
0,
'1,Ja'|| ${newline} || '0,Nein',
'>0.3',
'Datenquelle, Entladestartzeitpunkt, -umfang',
310);
--vorhandene Schlüssel Metadaten updaten:
<#if SQLdialect='Postgres'>
--Postgres Dialekt:
update konstanten set defaultvalue=T.defaultvalue,
description=T.description,
systeminfo_id=T.systeminfo_id ,
doku_link=T.doku_link,
read_only=T.read_only ,
wertebereich=T.wertebereich,
ab_version=T.ab_version,
gruppe=T.gruppe ,
sachgebiete_id=T.sachgebiete_id
from tmp_konstanten T
where T.beschreibung=konstanten.beschreibung;
<#else>
--Informix Dialekt:
update konstanten set (defaultvalue,
description,
systeminfo_id,
doku_link,
read_only,
wertebereich,
ab_version,
gruppe,
sachgebiete_id)
= ((select
defaultvalue,
description,
systeminfo_id,
doku_link,
read_only,
wertebereich,
ab_version,
gruppe,
sachgebiete_id
from tmp_konstanten T
where T.beschreibung=konstanten.beschreibung));
</#if>
delete from tmp_konstanten where beschreibung in (select beschreibung from konstanten);
insert into konstanten( apnr ,beschreibung,
defaultvalue,
description,
systeminfo_id,
doku_link,
read_only,
wertebereich,
ab_version,
gruppe,
sachgebiete_id )
select K.apnr ,
K.beschreibung,
K.defaultvalue,
K.description,
K.systeminfo_id,
K.doku_link,
K.read_only,
K.wertebereich,
K.ab_version,
K.gruppe,
K.sachgebiete_id
from tmp_konstanten K,
tmp_hilf H;
drop table tmp_konstanten;
Loading…
Cancel
Save