Browse Source

Neuer Kernmodul-View dim_semester

RELEASE_kern5.3
Daniel Quathamer 7 hours ago
parent
commit
1eb99220ea
  1. 46
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/dim_semester.view
  2. 31960
      superx/WEB-INF/conf/edustore/db/install/conf/kern.html
  3. 77
      superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
  4. 8
      superx/WEB-INF/conf/edustore/db/install/conf/module_drop_views.sql
  5. 1
      superx/WEB-INF/conf/edustore/db/install/conf/module_grant.x
  6. 1
      superx/WEB-INF/conf/edustore/db/install/conf/module_revoke.x
  7. 286
      superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_fuellen.sql
  8. 8
      superx/WEB-INF/conf/edustore/db/install/conf/sx_tables_fuellen.sql
  9. 73
      superx/WEB-INF/conf/edustore/db/install/kern_install_pg.sql
  10. 162
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_views_pg.sql
  11. 23
      superx/WEB-INF/kern_dbforms-config_pg.xml

46
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/dim_semester.view

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;

31960
superx/WEB-INF/conf/edustore/db/install/conf/kern.html

File diff suppressed because one or more lines are too long

77
superx/WEB-INF/conf/edustore/db/install/conf/kern.xml

@ -8493,19 +8493,17 @@ where T.name in (select distinct fact_table from dimension) @@ -8493,19 +8493,17 @@ where T.name in (select distinct fact_table from dimension)
</columns>
<sql dbsystem="POSTGRES"><![CDATA[
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
]]></sql>
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
]]></sql>
<sql dbsystem="INFORMIX"><![CDATA[
SELECT
apnr,
@ -8648,7 +8646,7 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -8648,7 +8646,7 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
FROM dimension_bp d WHERE d.apnr = 'bluep_kotr')]]></sql>
</view>
<view name="dim_kreis" version="0.5" caption="Landkreis"
<view name="dim_kreis" version="0.5" caption="Landkreis"
thema="Studierende" typ="Schlüsseltabelle" releaseUnload="demo">
<description>Landkreise</description>
<columns>
@ -8682,7 +8680,56 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -8682,7 +8680,56 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz')
]]></sql>
</view>
</views>
<view name="dim_semester" version="5.3" caption="Semester" thema="Stammdaten verwalten" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type ="INTEGER" size ="255" default ="" notnull ="false" description="Semester (Schlüssel)" />
<column name="eintrag" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Semester (Drucktext)"/>
<column name="eintrag_kurz" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Semester (Kurztext)"/>
<column name="sem_beginn" type ="DATE" size ="4" default ="" notnull ="false" description="Semesteranfang"/>
<column name="sem_ende" type ="DATE" size ="4" default ="" notnull ="false" description="Semesterende"/>
<column name="semestertyp" type ="INTEGER" size ="255" default ="" notnull ="false" description="Semester (Kurztext)"/>
<column name="vorsem" type ="INTEGER" size ="255" default ="" notnull ="false" description="Vorsemester (Schlüssel)" />
<column name="folgesem" type ="INTEGER" size ="255" default ="" notnull ="false" description="Folgesemester (Schlüssel)" />
<column name="folgesem_sem_beginn" type ="DATE" size ="4" default ="" notnull ="false" description="Folgesemester Semesteranfang"/>
<column name="ist_zukunft" type ="SMALLINT" size ="255" default ="0" notnull ="false" description="Ist zukünftig?" ><comment>1=Ja,2=nein</comment></column>
<column name="akad_jahr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Akad. Jahr"><comment>Def. STBA: WiSe + nachfolgendes SoSe (z.B. 2006 = 20062 + 20071)</comment></column>
<column name="akad_jahr_absolv" type ="INTEGER" size ="4" default ="" notnull ="false" description="Akad. Jahr"><comment>Def. Sachsen Absolv.: vorheriges WiSe + SoSe (z.B. 2006 = 20052 + 20061)</comment></column>
<column name="akad_jahr_anf" type ="INTEGER" size ="4" default ="" notnull ="false" description="Akad. Jahr"><comment>Def. Sachsen Anfäger: SA Studienanfänger: SoSe + WiSe (z.B. 2006 = 20061 + 20062)</comment></column>
</columns>
<sql dbsystem=""><![CDATA[
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
]]></sql>
</view>
</views>
<data-integrity>
<relation from="hochschulen" to="hochschulinfo" delete="FALSE"

8
superx/WEB-INF/conf/edustore/db/install/conf/module_drop_views.sql

@ -49,6 +49,9 @@ select sp_table_exists('dim_kotr') from xdummy; @@ -49,6 +49,9 @@ select sp_table_exists('dim_kotr') from xdummy;
<sqlvar name="dim_kreis_view_exists">
select sp_table_exists('dim_kreis') from xdummy;
</sqlvar>
<sqlvar name="dim_semester_view_exists">
select sp_table_exists('dim_semester') from xdummy;
</sqlvar>
</sqlvars>
@ -127,3 +130,8 @@ drop view dim_kotr; @@ -127,3 +130,8 @@ drop view dim_kotr;
drop view dim_kreis;
</#if>
<#if dim_semester_view_exists ==1>
drop view dim_semester;
</#if>

1
superx/WEB-INF/conf/edustore/db/install/conf/module_grant.x

@ -521,6 +521,7 @@ DOQUERY "grant $RIGHT on dim_abschluss to $GRANTEE;" @@ -521,6 +521,7 @@ DOQUERY "grant $RIGHT on dim_abschluss to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_kost to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_kotr to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_kreis to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_semester to $GRANTEE;"
if [ "$DATABASE" == "POSTGRES" ]
then

1
superx/WEB-INF/conf/edustore/db/install/conf/module_revoke.x

@ -503,6 +503,7 @@ DOQUERY "revoke $RIGHT on dim_abschluss from $GRANTEE;" @@ -503,6 +503,7 @@ DOQUERY "revoke $RIGHT on dim_abschluss from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_kost from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_kotr from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_kreis from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_semester from $GRANTEE;"
if [ "$DATABASE" == "POSTGRES" ]
then

286
superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_fuellen.sql

@ -23071,6 +23071,292 @@ values('dim_kreis', @@ -23071,6 +23071,292 @@ values('dim_kreis',
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'tid',
'Semester (Schlüssel)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'eintrag',
'Semester (Drucktext)',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'eintrag_kurz',
'Semester (Kurztext)',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'sem_beginn',
'Semesteranfang',
'',
'DATE',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'sem_ende',
'Semesterende',
'',
'DATE',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'semestertyp',
'Semester (Kurztext)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'vorsem',
'Vorsemester (Schlüssel)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'folgesem',
'Folgesemester (Schlüssel)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'folgesem_sem_beginn',
'Folgesemester Semesteranfang',
'',
'DATE',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'ist_zukunft',
'Ist zukünftig?',
'1=Ja,2=nein',
'SMALLINT',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'akad_jahr',
'Akad. Jahr',
'Def. STBA: WiSe + nachfolgendes SoSe (z.B. 2006 = 20062 + 20071)',
'INTEGER',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'akad_jahr_absolv',
'Akad. Jahr',
'Def. Sachsen Absolv.: vorheriges WiSe + SoSe (z.B. 2006 = 20052 + 20061)',
'INTEGER',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'akad_jahr_anf',
'Akad. Jahr',
'Def. Sachsen Anfäger: SA Studienanfänger: SoSe + WiSe (z.B. 2006 = 20061 + 20062)',
'INTEGER',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,

8
superx/WEB-INF/conf/edustore/db/install/conf/sx_tables_fuellen.sql

@ -1127,6 +1127,14 @@ values('dim_kreis','Landkreis','Landkreise', @@ -1127,6 +1127,14 @@ values('dim_kreis','Landkreis','Landkreise',
'Studierende',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('dim_semester','Semester','',
'Schlüsseltabelle',
9,
9,
'Stammdaten verwalten',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('dim_staat','Nationalität','Staaten ',
'Schlüsseltabelle',

73
superx/WEB-INF/conf/edustore/db/install/kern_install_pg.sql

@ -4815,19 +4815,17 @@ kontinent, @@ -4815,19 +4815,17 @@ kontinent,
inl_ausl_kurz,
inl_ausl_lang) as
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
;
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
;
select now(), 'Erzeuge View dim_stg';
@ -4940,6 +4938,55 @@ bland_astat) as @@ -4940,6 +4938,55 @@ bland_astat) as
WHERE
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz')
;
select now(), 'Erzeuge View dim_semester';
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;
--Funktion / Prozedur sp_user_themen
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_user_themen_pg.sql
--Funktion / Prozedur sp_user_orga

162
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_views_pg.sql

@ -18,7 +18,8 @@ select relname,relname as tabelle from pg_class where relname::varchar(200) in ( @@ -18,7 +18,8 @@ select relname,relname as tabelle from pg_class where relname::varchar(200) in (
'dim_abschluss',
'dim_kost',
'dim_kotr',
'dim_kreis') UNION
'dim_kreis',
'dim_semester') UNION
SELECT N.nspname||'.'||C.relname as relname, N.nspname||'.'||C.relname as tabelle
FROM pg_class C, pg_namespace N
WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups',
@ -35,7 +36,8 @@ WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups', @@ -35,7 +36,8 @@ WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups',
'dim_abschluss',
'dim_kost',
'dim_kotr',
'dim_kreis'
'dim_kreis',
'dim_semester'
);</sqlvar>
</sqlvars>
@ -437,19 +439,17 @@ kontinent, @@ -437,19 +439,17 @@ kontinent,
inl_ausl_kurz,
inl_ausl_lang) as
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
;
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
;
</#if>
@ -615,6 +615,65 @@ bland_astat) as @@ -615,6 +615,65 @@ bland_astat) as
</#if>
<#if views?seq_contains("dim_semester") >
select now(), 'view dim_semester exists - fine';
<#else>
select now(), 'Erzeuge View dim_semester';
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;
</#if>
<#else>
@ -911,19 +970,17 @@ kontinent, @@ -911,19 +970,17 @@ kontinent,
inl_ausl_kurz,
inl_ausl_lang) as
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
;
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
;
select now(), 'Erzeuge View dim_stg';
@ -1037,4 +1094,53 @@ bland_astat) as @@ -1037,4 +1094,53 @@ bland_astat) as
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz')
;
select now(), 'Erzeuge View dim_semester';
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;
</#if>

23
superx/WEB-INF/kern_dbforms-config_pg.xml

@ -1983,6 +1983,29 @@ @@ -1983,6 +1983,29 @@
<field name="bland_kurz" description="Abkz. Bundesland" fieldType="varchar" size="" isKey="" sortable=""/>
<field name="bland_astat" description="Amtl. Schlüssel Bundesland" fieldType="varchar" size="" isKey="" sortable=""/>
</table>
<table name="dim_semester">
<field name="tid" description="Semester (Schlüssel)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="eintrag" description="Semester (Drucktext)" fieldType="varchar" size="255" isKey="" sortable=""/>
<field name="eintrag_kurz" description="Semester (Kurztext)" fieldType="varchar" size="255" isKey="" sortable=""/>
<field name="sem_beginn" description="Semesteranfang" fieldType="date" size="4" isKey="" sortable=""/>
<field name="sem_ende" description="Semesterende" fieldType="date" size="4" isKey="" sortable=""/>
<field name="semestertyp" description="Semester (Kurztext)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="vorsem" description="Vorsemester (Schlüssel)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="folgesem" description="Folgesemester (Schlüssel)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="folgesem_sem_beginn" description="Folgesemester Semesteranfang" fieldType="date" size="4" isKey="" sortable=""/>
<field name="ist_zukunft" description="Ist zukünftig?" fieldType="int" size="6" isKey="" defaultValue="0" sortable="">
<comment>1=Ja,2=nein</comment>
</field>
<field name="akad_jahr" description="Akad. Jahr" fieldType="int" size="6" isKey="" sortable="">
<comment>Def. STBA: WiSe + nachfolgendes SoSe (z.B. 2006 = 20062 + 20071)</comment>
</field>
<field name="akad_jahr_absolv" description="Akad. Jahr" fieldType="int" size="6" isKey="" sortable="">
<comment>Def. Sachsen Absolv.: vorheriges WiSe + SoSe (z.B. 2006 = 20052 + 20061)</comment>
</field>
<field name="akad_jahr_anf" description="Akad. Jahr" fieldType="int" size="6" isKey="" sortable="">
<comment>Def. Sachsen Anfäger: SA Studienanfänger: SoSe + WiSe (z.B. 2006 = 20061 + 20062)</comment>
</field>
</table>
<table name="dim_staat">
<field name="apnr" description="Laufnummer des Staates" fieldType="int" size="6" isKey="" sortable=""/>
<field name="druck" description="Staat" fieldType="char" size="10" isKey="" sortable=""/>

Loading…
Cancel
Save