Browse Source

Schließung zum Semesterende abfangen, HH-Sem. inkrementell laden #16

basisressourcen
Daniel Quathamer 10 months ago
parent
commit
e1711b81a9
  1. 35
      src-modules/module/costage/conf/costage.xml
  2. 14
      src-modules/module/costage/datentabellen/trans_costage_st_hochschulsemester.sql
  3. 17
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
  4. 4
      src-modules/module/costage/rohdaten/COSTAGE_ENV.sam
  5. 6
      src-modules/module/costage/rohdaten/costage_unload.xml
  6. 40
      src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml
  7. 3
      src-modules/module/costage/schluesseltabellen/trans_costage_st_studiengaenge.sql

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

@ -313,9 +313,9 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -313,9 +313,9 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<column name="studientyp_kb" type ="VARCHAR" size ="10" default ="" notnull ="false" description="Studientyp KB"/>
<column name="stp_stp_nr" type ="INTEGER" size ="10" default ="" notnull ="false" description="" currentlyUsed="false"/>
<column name="stuart" type ="CHAR" size ="10" default ="" notnull ="false" description="" currentlyUsed="false"/>
<column name="stufrm" type ="CHAR" size ="10" default ="" notnull ="false" description="" currentlyUsed="false"/>
<column name="pversion" type ="VARCHAR" size ="255" default ="" notnull ="false" description="P-Version"/>
<column name="rsz" type ="INTEGER" size ="10" default ="" notnull ="false" description="Regelstudienzeit"/>
<column name="stufrm" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienform" />
<column name="pversion" type ="VARCHAR" size ="255" default ="" notnull ="false" description="P-Version" currentlyUsed="false"/>
<column name="rsz" type ="INTEGER" size ="10" default ="" notnull ="false" description="Regelstudienzeit" currentlyUsed="false"/>
<column name="skz_key" type ="CHAR" size ="10" default ="" notnull ="false" description="Studienfach (CO) Schlüssel" />
<column name="skz_name" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studienfach (CO) Name"/>
<column name="unikey" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Hochschule"/>
@ -564,7 +564,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -564,7 +564,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</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_adressen.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 name="summe" type ="INTEGER" size ="2" default ="" notnull ="false" description="Summe" />
@ -575,6 +575,10 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -575,6 +575,10 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<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_note" type ="DECIMAL" size ="(14,7)" default ="" notnull ="false" description="HZB-Note"/>
<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" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column>
</columns>
<indexes>
@ -1357,6 +1361,23 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -1357,6 +1361,23 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</rs></privileges>
</table>
<table name="costage_st_hochschulsemester_neu" thema="Studierende und Gebühren" caption="Studierende Hochschulsemester (CO)" typ="Ladetabelle" releaseUnload="empty">
<columns><column name="st_studstamm_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
<column name="st_sem_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
<column name="anzahl_hochschulsemester" type ="INTEGER" size ="4" default ="" notnull ="false" />
</columns>
<indexes></indexes>
<primaryKeys><rs>
</rs></primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges><rs>
</rs></privileges>
</table>
<table name="costage_leistungen_status_typen" thema="Prüfungen und Leistungen" caption="Leistungsstati Typen (CO)" typ="Schlüsseltabelle" releaseUnload="empty">
<columns>
<column name="leistungsstatus_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
@ -1706,6 +1727,9 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema> @@ -1706,6 +1727,9 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema>
<relation-column from="apnr" to="kz_rueck_beur_ein_tsg" />
<relation-column from="key" to="9001" />
</relation>
<relation from="costage_st_studienformen" to="costage_st_studien_aggr" delete="FALSE" displayType="select" visibleFields="name" uniquenameField="" format="%s">
<relation-column from="statistik_code" to="studienform_statistik_code" />
</relation>
<!--costage_st_pruef_aggr-->
<relation from="costage_st_semester" to="costage_st_pruef_aggr" delete="FALSE"
@ -1869,7 +1893,7 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema> @@ -1869,7 +1893,7 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_st_abmeldungsarten"><file path="$COSTAGE_LOAD_PFAD/unl/costage_st_abmeldungsarten.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_st_personen_abmeldungen"><file path="$COSTAGE_LOAD_PFAD/unl/costage_st_personen_abmeldungen.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_st_ersthochschulen"><file path="$COSTAGE_LOAD_PFAD/unl/costage_st_ersthochschulen.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_st_hochschulsemester"><file path="$COSTAGE_LOAD_PFAD/unl/costage_st_hochschulsemester.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_st_hochschulsemester_neu"><file path="$COSTAGE_LOAD_PFAD/unl/costage_st_hochschulsemester.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_leistungen"><file path="$COSTAGE_LOAD_PFAD/unl/costage_leistungen.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_leistungen_detail_typen"><file path="$COSTAGE_LOAD_PFAD/unl/costage_leistungen_detail_typen.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_leistungen_typen"><file path="$COSTAGE_LOAD_PFAD/unl/costage_leistungen_typen.unl"/></loadtable>
@ -1894,6 +1918,7 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema> @@ -1894,6 +1918,7 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema>
<nativeaction sql="" scriptfile="$COSTAGE_PFAD/schluesseltabellen/costage_dim_studiengang_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$COSTAGE_PFAD/datentabellen/trans_costage_lehrveranstaltungen.sql" database=""/>
<nativeaction sql="" scriptfile="$COSTAGE_PFAD/datentabellen/trans_costage_lv_teilnehmende.sql" database=""/>
<nativeaction sql="" scriptfile="$COSTAGE_PFAD/datentabellen/trans_costage_st_hochschulsemester.sql" database=""/>
</action>
</etl-step>

14
src-modules/module/costage/datentabellen/trans_costage_st_hochschulsemester.sql

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
delete from costage_st_hochschulsemester
where st_sem_nr in (select distinct st_sem_nr
from costage_st_hochschulsemester_neu);
insert into costage_st_hochschulsemester(st_studstamm_nr,
st_sem_nr,
anzahl_hochschulsemester)
select st_studstamm_nr,
st_sem_nr,
anzahl_hochschulsemester
from costage_st_hochschulsemester_neu;

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

@ -58,7 +58,7 @@ null::integer as hzb_land_sub_r_nr , @@ -58,7 +58,7 @@ null::integer as hzb_land_sub_r_nr ,
null::integer as hzb_jahr,
null::date as hzb_datum ,
null::decimal(14,7) as hzb_note,
rank () over (partition by SM.st_sem_nr, S.st_studstamm_nr, SG.studiengangs_identifikator order by SA.gueltig_ab desc) as status_historie
rank () over (partition by SM.st_sem_nr, S.st_studstamm_nr, SG.studiengangs_identifikator order by (case when SA.gueltig_ab =SM.semester_ende then date_val('01.01.1900') else SA.gueltig_ab end) desc) as status_historie
into temp tmp_studien
FROM costage_st_studierendenstammdaten S,
costage_st_studien ST,
@ -123,6 +123,7 @@ create index tmp_ix2 on tmp_studien(st_studstamm_nr); @@ -123,6 +123,7 @@ create index tmp_ix2 on tmp_studien(st_studstamm_nr);
create index tmp_ix3 on tmp_studien(studiengangs_typ_kb);
create index tmp_ix4 on tmp_studien(st_sem_nr);
create index tmp_ix5 on tmp_studien(status_historie);
create index tmp_ix6 on tmp_studien(primaerflag_studien);
--Primärflag ermitteln:
--1. Prio: aus px_st_studien_v:
@ -149,7 +150,7 @@ from tmp_studien T, costage_st_hauptstudien H @@ -149,7 +150,7 @@ from tmp_studien T, costage_st_hauptstudien H
and T.studiengangs_typ_kb in ('ESG','TSG')
and T.primaerflag_studien=0
;
--Studiengänge ohne Primärflag:
--Studiengänge ohne Primärflag TODO langsam:
insert into tmp_studien2
select T.*,
0::integer as primaerflag,
@ -485,15 +486,17 @@ and T.st_studiengang_nr_msg=tmp_studien2.st_studiengang_nr_msg @@ -485,15 +486,17 @@ and T.st_studiengang_nr_msg=tmp_studien2.st_studiengang_nr_msg
--SPO-Version (letzte im jew. Semester) ermitteln:
select T.*,null::char(10) as po_stp_stp_version_kb,
null::integer as po_regelstudienzeit,
max(SPO.gueltig_ab) as spo_max_gueltig_ab
into temp tmp_studien3
from tmp_studien2 T left outer join costage_st_studien_spoversionen SPO
on (SPO.st_studium_nr=T.st_studium_nr
and SPO.gueltig_ab < T.semester_ende)
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50
;
update tmp_studien3 set po_stp_stp_version_kb= SPO.po_stp_stp_version_kb
update tmp_studien3 set po_stp_stp_version_kb= SPO.po_stp_stp_version_kb,
po_regelstudienzeit=SPO.po_regelstudienzeit
from costage_st_studien_spoversionen SPO
where SPO.st_studium_nr=tmp_studien3.st_studium_nr
and tmp_studien3.spo_max_gueltig_ab =SPO.gueltig_ab;
@ -546,6 +549,7 @@ st_studium_nr, @@ -546,6 +549,7 @@ st_studium_nr,
hzb_datum,
hzb_note,
po_stp_stp_version_kb,
po_regelstudienzeit,
summe
)
@ -591,6 +595,7 @@ select st_studium_nr, @@ -591,6 +595,7 @@ select st_studium_nr,
hzb_datum,
hzb_note,
po_stp_stp_version_kb,
po_regelstudienzeit,
1 as summe
from tmp_studien3
where kz_rueck_beur_ein is not null
@ -629,6 +634,7 @@ st_studium_nr, @@ -629,6 +634,7 @@ st_studium_nr,
hzb_datum,
hzb_note,
po_stp_stp_version_kb,
po_regelstudienzeit,
summe
)
@ -675,10 +681,9 @@ cast (NULL as int) as studiengang_nr2, @@ -675,10 +681,9 @@ cast (NULL as int) as studiengang_nr2,
hzb_datum,
hzb_note,
po_stp_stp_version_kb,
po_regelstudienzeit,
1 as summe
from tmp_studien3
--where semester = 20202
-- and matrikelnummer = '5847370'
where kz_rueck_beur_ein is null
;

4
src-modules/module/costage/rohdaten/COSTAGE_ENV.sam

@ -21,6 +21,10 @@ COSTAGE_start_bw_sem=20001 @@ -21,6 +21,10 @@ COSTAGE_start_bw_sem=20001
export COSTAGE_start_bw_sem
COSTAGE_start_leistungen_sem=20001
export COSTAGE_start_leistungen_sem
COSTAGE_start_lv_sem=20001
export COSTAGE_start_lv_sem
COSTAGE_start_hssem=20001
export COSTAGE_start_hssem
##Pfad für Entladedaten:
#COSTAGE_LOAD_PFAD=.

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

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
<param name="COSTAGE_start_bw_sem" defaultValue="19911" description="Startsemester Bewerbungen"><comment>Ab welchem Semester sollen Bewerbungen entladen werden? z.B. 20011 für SS 2001</comment></param>
<param name="COSTAGE_start_leistungen_sem" defaultValue="19911" description="Startsemester Prüfungen"><comment>Ab welchem Semester sollen Leistungen entladen werden? z.B. 20011 für SS 2001</comment></param>
<param name="COSTAGE_start_lv_sem" defaultValue="19911" description="Startsemester Lehrveranstaltungen"><comment>Ab welchem Semester sollen Lehrveranstaltungen entladen werden? z.B. 20011 für SS 2001</comment></param>
<param name="COSTAGE_start_hssem" defaultValue="19911" description="Startsemester Hochschulsemester"><comment>Ab welchem Semester sollen Hochschulsemester entladen werden? z.B. 20011 für SS 2001</comment></param>
</parameters>
<sourcesystems>
<sourcesystem name="co" description="CampusOnline-Datenbank" default="true"/>
@ -651,7 +652,7 @@ SELECT H.st_studstamm_nr, @@ -651,7 +652,7 @@ SELECT H.st_studstamm_nr,
FROM px_st_hochschulsemester_v H,px_st_semester_v S
where S.st_sem_nr=H.st_sem_nr
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_hssem
and current_date+365 > S.semester_anfang
and extract(year from S.semester_anfang) > 2000
;
@ -698,7 +699,8 @@ SELECT leistung_nr, @@ -698,7 +699,8 @@ SELECT leistung_nr,
anerkannt_flag,
zusatzleistung_flag,
leistungsstatus_nr,
leistungsstatus_map_kb
leistungsstatus_map_kb,
abs_fach_st_studium_nr
FROM sx_leistungen_v
--da das Semester bei Leistungen nicht immer gefuellt ist bzw. der Datum der Leistung nach dem Studium sein kann, hier keine Where Bedingung aufs Startsemester
;

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

@ -168,7 +168,7 @@ SELECT distinct matrikelnummer, @@ -168,7 +168,7 @@ SELECT distinct matrikelnummer,
L.statistik_code as hzbkfzkz,
(select R.statistik_code from costage_land_subregionen R where R.land_sub_reg_nr = H.hzb_land_sub_r_nr) as hzbkfz,
H.hzb_datum as hzbdatum,
substring(replace(replace(H.hzb_note,',',''),'.','') from 1 for 10) as hzbnote,
null::char(1) as hzbnote, --substring(replace(replace(H.hzb_note,',',''),'.','') from 1 for 10) as hzbnote,
null::char(1) as ersthzbart,
null::char(1) as ersthzbjahr,
null::char(1) as ersthzbkfzkz,
@ -210,7 +210,7 @@ null::integer as klinsem, @@ -210,7 +210,7 @@ null::integer as klinsem,
F.hssem,
'' ,--stuart,
'' ,--stutyp,
G.stufrm,
F.stufrm,
'' ,--stort,
F.ruebeudat,
null::char(1) ,--semgewicht,
@ -229,7 +229,7 @@ null::char(1) , --Art der Promotion @@ -229,7 +229,7 @@ null::char(1) , --Art der Promotion
null::char(1) as field_of_study,
primaerflag as primaerfach,
unikey ,
null::numeric(9,6) ,-- individual_number_of_semesters
po_regelstudienzeit ,-- individual_number_of_semesters
F.st_studium_nr as degree_program_id ,
null::char(10) as hssem_valid,
F.kz_rueck_beur_ein_tsg
@ -567,24 +567,24 @@ null as sortorder @@ -567,24 +567,24 @@ null as sortorder
SELECT distinct
612,
-1,
studienform_statistik_code,
studienform_statistik_code as ktxt,
studienform_name,
studienform_name,
studienform_statistik_code as astat,
statistik_code,
kurzbezeichnung as ktxt,
name,
name,
statistik_code as astat,
'',
studienform_statistik_code ,
statistik_code ,
'',
'',
null::date as gueltig_von,
null::date as gueltig_bis,
studienform_statistik_code , --sourcesystem_id
'', --hiskey_id
statistik_code , --sourcesystem_id
''|| nr, --hiskey_id
'' , --struktur_c
null as lid,
null as parent_lid,
null as sortorder
FROM costage_st_studien
FROM costage_st_studienformen
union
SELECT distinct
613,
@ -860,15 +860,15 @@ select * from k_stg where 1=0; @@ -860,15 +860,15 @@ select * from k_stg where 1=0;
</extraction-sql>
</unload-job>
<unload-job id="k_abstgv" extraction-table="" extraction-script="" transfer-unload-file="unl/k_abstgv.unl" database="" version="">
<comment>Studiengänge aus SOS. </comment>
<comment>Studiengänge aus CO. </comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
SELECT substring(G.studiengangs_identifikator from 1 for 10) ,--abstgv,
SELECT distinct substring(G.studiengangs_identifikator from 1 for 10) ,--abstgv,
'A' as aikz,
'' ,--ktxt,
substring(G.studiengangs_bezeichnung from 1 for 25) as dtxt,
substring(G.studiengangs_bezeichnung from 1 for 255) as ltxt,
val(G.pversion),
coalesce(A.po_stp_stp_version_kb,G.pversion) as pversion,
null::integer ,--frist1,
null::integer ,--frist2,
null::integer ,--frist3,
@ -898,17 +898,17 @@ SELECT substring(G.studiengangs_identifikator from 1 for 10) ,--abstgv, @@ -898,17 +898,17 @@ SELECT substring(G.studiengangs_identifikator from 1 for 10) ,--abstgv,
null::integer,--stuart,
null::integer,--stufrm,
null::integer,--abstitel,
st_studiengang_nr as abstgvnr,
G.st_studiengang_nr as abstgvnr,
null::integer,--efh,
G.rsz, --regelstz,
coalesce(A.po_regelstudienzeit,G.rsz), --regelstz,
null::integer,-- email_part,
null::integer,--login_part,
null::date as sem_gueltigbis,
null::integer -- ects
FROM costage_st_studiengaenge G, cifx K
where K.key=30
FROM costage_st_studiengaenge G, cifx K, costage_st_studien_aggr A
where A.st_studiengang_nr=G.st_studiengang_nr
and K.key=30
and K.apnr=G.skz_key
;
]]>
</extraction-sql>
</unload-job>

3
src-modules/module/costage/schluesseltabellen/trans_costage_st_studiengaenge.sql

@ -46,5 +46,6 @@ rsz=P.po_regelstudienzeit @@ -46,5 +46,6 @@ rsz=P.po_regelstudienzeit
from costage_st_studien_spoversionen P, costage_st_studien S
where S.st_studium_nr = P.st_studium_nr
and S.st_studiengang_nr=costage_st_studiengaenge.st_studiengang_nr
and P.stp_stp_nr=costage_st_studiengaenge.stp_stp_nr;
--paßt nicht zusammen: and P.stp_stp_nr=costage_st_studiengaenge.stp_stp_nr
;

Loading…
Cancel
Save