Browse Source

Neue Maske Stammdaten NRW (Zeitreihe)

sxc_0.3_Release
Imo John 4 months ago
parent
commit
7bb51bacb2
  1. 66
      src-modules/module/sxc/masken/47110_felderinfo.unl
  2. 2
      src-modules/module/sxc/masken/47110_maske_system_bez.unl
  3. 3
      src-modules/module/sxc/masken/47110_masken_felder_bez.unl
  4. 973
      src-modules/module/sxc/masken/47110_maskeninfo.unl
  5. 2
      src-modules/module/sxc/masken/47110_sachgeb_maske_bez.unl

66
src-modules/module/sxc/masken/47110_felderinfo.unl

@ -1,26 +1,40 @@ @@ -1,26 +1,40 @@
47110^End Semester^5^0^0^150^100^1^integer^30^0^1^<<SQL>> select tid,druck from kenn_semester order by tid DESC;^ ^<<SQL>> select tid,druck from kenn_semester where today() between sem_beginn and sem_ende;^
47111^Stat. Kennzahl^80^0^0^150^150^6^char^30^0^1^<<SQL>> select apnr,druck from kenn_stichtagsart where aktiv='1'\
and (select apnr from konstanten where beschreibung='KENN_PROFIL') in (5,6)\
and 0!=(select count(*) from kenn_bestandsart_bland B, kenn_bestandsart K\
where B.bestandsart=K.apnr\
and K.stichtagsart_id=kenn_stichtagsart.apnr\
and B.bland ='SA')\
union\
select apnr,druck from kenn_stichtagsart where aktiv='1'\
and (select apnr from konstanten where beschreibung='KENN_PROFIL') in (1,2,3,4)\
and 0!=(select count(*) from kenn_bestandsart_bland B, kenn_bestandsart K\
where B.bestandsart=K.apnr\
and K.stichtagsart_id=kenn_stichtagsart.apnr\
and B.bland ='BW')\
order by 1,2\
;^ ^ ^
47112^End-Jahr^7^360^-1^100^50^1^integer^30^0^1^<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<<SQL>> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^
47113^nur zu berechnende Kennzahlen^110^0^0^150^50^1^char^30^0^999^<<SQL>> select '1','Ja' from xdummy union select '0','Nein' from xdummy;^ ^ ^
47114^Kennzahl Nr.^90^0^0^150^30^1^char^4^0^0^^ ^ ^
47115^Hochschule^1^0^0^150^200^5^char^30^0^12^<<SQL>> select tid, type, name,sortnr from sichten where art in('SXC_Hochschulen-Sicht') and aktiv=1 order by sortnr desc, name;^ ^ ^
47116^nur zu exportierende Kennzahlen^120^360^-1^100^50^1^char^30^0^999^<<SQL>> select '1','Ja' from xdummy union select '0' ,'Nein' from xdummy;^ ^ ^
47117^Filter bis Ebene^25^0^0^150^20^1^integer^30^0^0^^ ^1^
47118^Bericht^100^360^-1^100^200^1^char^30^1^1^<<SQL>> select 'MKWNRW_1','MKW NRW Hochschulkennzahlen';^ ^<<SQL>>select 'MKWNRW_1','MKW NRW Hochschulkennzahlen';^
47119^Start-Jahr^6^360^-1^100^50^1^integer^30^0^1^<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<<SQL>> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^
47120^Start Semester^4^0^0^150^100^1^integer^30^0^1^<<SQL>> select tid,druck from kenn_semester order by tid DESC;^ ^<<SQL>> select tid,druck from kenn_semester where today() between sem_beginn and sem_ende;^
47121^oder^30^0^0^120^200^1^char^30^0^13^^ ^ ^
47110^Studiengang^39^0^0^150^200^6^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art in ('MAN-STG-Kostenstellen-Sicht','MAN-Studiengang-Sicht') and aktiv=1 order by 3,2;^ ^ ^
47111^Kennzahl^100^0^0^150^200^2^char^255^1^1^<<SQL>> select C.id,trim(C.name) || ' - (' || C.id || ')'\
from sxc_katalog C\
where \
C.id in (select distinct katalog_id from sxc_zahl_wert where bestand_id=<<Bestand>>)\
order by id^ ^<<SQL>> select C.id,trim(C.name) || ' - (' || C.id || ')'\
from sxc_katalog C\
where \
C.id in (select distinct katalog_id from sxc_zahl_wert where bestand_id=<<Bestand>>)\
order by id limit 1^
47112^Lehr- und Forschungsbereich^3001^0^0^150^200^2^char^30^0^1^<<SQL>>select distinct lfb,lfb_str from k_astat_lfb_fg where lfb in (select target_value from sxc_mapping_bestand where object_type='Lehr- und Forschungsbereich') order by 2;^ ^ ^
47113^Start-Jahr^4^0^0^100^50^1^integer^30^1^1^<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<<SQL>> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^
47114^Startsemester^7^0^0^140^80^1^integer^30^0^999^<<SQL>> select tid, eintrag from man_semester order by tid DESC;^ ^ ^
47115^tablestylesheet^121^0^0^100^200^1^char^200^0^13^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=888881430^hidden^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=888881430 and S.ord=1^
47116^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^999^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sxc_zahl_wert'\
and R.systeminfo_id=200)\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sxc_zahl_wert'\
and R.systeminfo_id=200) and uniquename='sxc_zahl_wert_stammdaten_nrw';^
47117^Spalten^3001^0^0^150^190^10^char^30^0^999^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) \
and L.is_visible=1\
order by 2;^ ^ ^
47118^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^0^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
47119^Ausgabeformat^4001^0^0^100^150^1^char^200^0^999^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^ ^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML';^
47120^Leere Zeilen anzeigen^3100^0^0^140^100^1^integer^30^1^1^<<SQL>> select 1, 'Ja' \
union select 0, 'Nein'\
from xdummy;^ ^<<SQL>> select 0, 'Nein'\
from xdummy;^
47121^End-Jahr^5^0^0^100^50^1^integer^30^1^1^<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<<SQL>> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^
47122^Zeitraumtyp^110^0^0^100^150^1^char^30^1^1^<<SQL>> select 'S', 'Semester' from xdummy union select 'J', 'Jahr' from xdummy^hidden^<<SQL>> select 'S', 'Semester' from xdummy^
47123^Bestand^1^0^0^150^200^1^char^30^1^1^<<SQL>> select tid,name from sxc_bestand;^ ^<<SQL>> select tid,name from sxc_bestand order by tid;^
47124^Hochschule^1^0^0^150^200^5^char^30^0^12^<<SQL>> select tid, type, name,sortnr from sichten where art in('SXC_Hochschulen-Sicht') and aktiv=1 order by sortnr desc, name;^ ^ ^

2
src-modules/module/sxc/masken/47110_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
47110^109^
47110^200^

3
src-modules/module/sxc/masken/47110_masken_felder_bez.unl

@ -10,3 +10,6 @@ @@ -10,3 +10,6 @@
47110^47119^
47110^47120^
47110^47121^
47110^47122^
47110^47123^
47110^47124^

973
src-modules/module/sxc/masken/47110_maskeninfo.unl

@ -1,817 +1,202 @@ @@ -1,817 +1,202 @@
47110^Stammdaten NRW^--Freemarker Template\
47110^Stammdaten NRW (Zeitreihe)^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
\
-- ################\
-- # Erläuterung: #\
-- ################\
-- bezugsart:\
-- Q = Quartal\
-- S = Semester\
-- J = Jahr\
-- A = Akademisches Jahr BW\
-- B = Beginner SA (Studeinanfäger)\
-- P = Prüfungen SA (Absolventen) (war früher U)\
\
\
--######################################\
\
--start ergtabelle \
<sqlvars>\
<sqlvar name="kenn_katalog" type="hashsequence"><![CDATA[\
<#assign kennznr="<<Kennzahl Nr.>>"?replace("'","")?replace("*","%")+"%"/>\
\
select trim(K.id) as id,trim(R.gruppe_1) as gruppe_1,\
trim(R.gruppe_2) as gruppe_2,\
trim(K.name) as name,\
trim(K.quelltabelle) as quelltabelle,\
trim(K.quellfeld) as quellfeld,\
K.bedingung as bedingung,\
trim(K.stichtagsart) as stichtagsart,\
trim(K.bezugsart) as bezugsart,\
trim(K.zeitfeld) as zeitfeld,\
R.ebene,\
R.ord_nr,\
K.einheit,\
K.beschreibung\
FROM kenn_katalog K, kenn_katalog_rpt R\
where K.id=R.katalog_id\
and R.report_id=<<Bericht>>\
/* and R.gruppe_1 like ('${kennznr}') and <<Kennzahl Nr.>>!='muss sein, da der Feld optional ist' */\
/* and K.stichtagsart in (select druck from kenn_stichtagsart where aktiv='1' and apnr in (<<Stat. Kennzahl>>)) */\
--Sortierung nach ord_nr wichtig wg. Querabhängigkeiten\
order by 12;\
]]>\
</sqlvar>\
\
<sqlvar name="sem_akad_bw_von">\
select min(tid) from kenn_semester\
where 1=1\
/* and get_akad_jahr(tid,'A') &gt;= <<Start-Jahr>> */\
/* and get_akad_jahr(tid,'A') &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="sem_akad_bw_bis">\
select max(tid) from kenn_semester\
where 1=1\
/* and get_akad_jahr(tid,'A') &gt;= <<Start-Jahr>> */\
/* and get_akad_jahr(tid,'A') &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="jahr_akad_bw_von">\
select min(ord) from aggregierung\
where kategorie='KENN-Jahr'\
/* and ord &gt;= <<Start-Jahr>> */\
/* and ord &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="jahr_akad_bw_bis">\
select max(ord) from aggregierung\
where kategorie='KENN-Jahr'\
/* and ord &gt;= <<Start-Jahr>> */\
/* and ord &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="sem_akad_sa_anf_von">\
select min(tid) from kenn_semester\
where 1=1\
/* and akad_jahr_anf &gt;= <<Start-Jahr>> */\
/* and akad_jahr_anf &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="sem_akad_sa_anf_bis">\
select max(tid) from kenn_semester\
where 1=1\
/* and akad_jahr_anf &gt;= <<Start-Jahr>> */\
/* and akad_jahr_anf &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="sem_akad_sa_absolv_von">\
select min(tid) from kenn_semester\
where 1=1\
/* and akad_jahr_absolv &gt;= <<Start-Jahr>> */\
/* and akad_jahr_absolv &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="sem_akad_sa_absolv_bis">\
select max(tid) from kenn_semester\
where 1=1\
/* and akad_jahr_absolv &gt;= <<Start-Jahr>> */\
/* and akad_jahr_absolv &lt;= <<End-Jahr>> */;\
</sqlvar>\
<sqlvar name="jahre" type="hashsequence"><![CDATA[\
SELECT distinct ord as jahr_int,name as jahr_str FROM aggregierung \
where kategorie='KENN-Jahr'\
and ord>=<<Start-Jahr>>\
and ord<=<<End-Jahr>>\
order by 1;\
]]>\
</sqlvar>\
</sqlvars>\
\
<#assign lfb_feldinhalt="''" />\
/* <#assign lfb_feldinhalt= .vars["Externes Produkt"].allNeededKeys /> --<<Externes Produkt>> */\
\
--URL-Parameter für LFB-Detailmaske Sachsen:\
<#assign seit_jahr_param="" />\
<#if "<<Start-Jahr>>" != "">\
<#assign seit_jahr_param="&Start-Jahr=<<Start-Jahr>>" />\
</#if>\
<#assign bis_jahr_param="" />\
<#if "<<End-Jahr>>" != "">\
<#assign bis_jahr_param="&End-Jahr=<<End-Jahr>>" />\
</#if>\
<#assign hochschule_param="" />\
<#if "<<Hochschule>>" != "">\
/* <#assign hs="<<Hochschule>>" /> */\
<#assign hochschule_param="&Hochschule="+ hs?replace("'", "") />\
</#if>\
\
create temp table tmp_kennz\
(\
tid integer,\
hs_nr integer,\
katalog_id CHAR(100),\
hochschule_str nchar(255),\
stichtagsart nchar(255),\
beschreibung char(255),\
zeitraum_int integer,\
zeitraum_str char(255), \
bezugsart char(1),\
ebene smallint,\
ord_nr smallint,\
gruppe_1 char(40),\
gruppe_2 char(40),\
betrag decimal(14,2),\
einheit char(255), \
erlaeuterung varchar(255),\
nextmask varchar(250),\
nexttable varchar(250),\
jahr integer,\
semester integer\
) <@informixnolog/>;\
create temp table tmp_kennz3\
(tid integer,\
hs_nr integer,\
katalog_id CHAR(100),\
hochschule_str nchar(255),\
stichtagsart nchar(255),\
beschreibung char(255),\
zeitraum_int integer,\
zeitraum_str char(255), \
bezugsart char(1),\
ebene smallint,\
gruppe_1 char(40),\
gruppe_2 char(40),\
betrag decimal(14,2),\
einheit char(255),\
erlaeuterung varchar(255)\
) <@informixnolog/>;\
\
create temp table tmp_betrag1\
(hs_nr integer,\
zeitraum_int integer,\
betrag decimal(14,2)\
) <@informixnolog/>;\
\
create temp table tmp_betrag2\
(hs_nr integer,\
zeitraum_int integer,\
betrag decimal(14,2)\
) <@informixnolog/>;\
\
drop table if exists tmp_rpta_sxc_zahl_wert;\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
\
create temp table tmp_rpta_sxc_zahl_wert as\
select \
sxc_katalog.tid as sxc_katalog_tid,\
sxc_katalog.id as sxc_katalog_id,\
sxc_katalog.name as sxc_katalog_name,\
sxc_katalog.beschreibung as sxc_katalog_beschreibung,\
sxc_zahl_wert.tid as tid,\
sxc_zahl_wert.hs_nr as hs_nr,\
sxc_zahl_wert.katalog_id as katalog_id,\
sxc_zahl_wert.jahr as jahr,\
sxc_zahl_wert.sem as sem,\
sxc_zahl_wert.ch110_institut as ch110_institut,\
sxc_zahl_wert.bland as bland,\
sxc_zahl_wert.bestand_id as bestand_id,\
sxc_zahl_wert.wert as wert,\
sxc_zahl_wert.generic_dim1 as generic_dim1,\
sxc_zahl_wert.generic_dim2 as generic_dim2,\
null::varchar as dummy \
from \
sxc_zahl_wert\
left outer join sxc_katalog on (sxc_katalog.id=sxc_zahl_wert.katalog_id) \
where 1=1\
and sxc_zahl_wert.bestand_id=<<Bestand>>\
and sxc_zahl_wert.katalog_id in (<<Kennzahl>>)\
/* and sxc_zahl_wert.generic_dim1 in (select object_value from sxc_mapping_bestand where target_value in (<<Lehr- und Forschungsbereich>>)) */\
;\
\
\
\
select \
--zuerst die Basisdaten:\
hs_nr as tree_lowkey,\
null::integer as ebene,\
null::varchar(255) as hochschule,\
<#foreach jahr in jahre>\
case when jahr=${jahr.jahr_int} then wert else 0 end as sxc_zahl_wert_wert_${jahr.jahr_str},\
null::decimal(19,6) as sxc_zahl_wert_wert_${jahr.jahr_str}_sum,\
</#foreach>\
\
null::char(1) as dummycol\
into temp tmp_stud\
from tmp_rpta_sxc_zahl_wert\
where 1=1 \
and bestand_id = 1\
;\
\
--ergebnistabelle:\
select \
tree_lowkey,\
ebene,\
hochschule,\
<#foreach jahr in jahre>\
sum(sxc_zahl_wert_wert_${jahr.jahr_str}) as sxc_zahl_wert_wert_${jahr.jahr_str}_sum,\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
group by 1,2,3\
;\
\
<#macro bedingung zeitfeld bezugsart stichtagsart>\
<#if zeitfeld='null::integer' >\
(1=1)\
<#else>\
<#switch bezugsart>\
<#case "A">\
--Akad. Studienjahr ist etwas komplizierter\
--Def.: WS + darauf folgendes SS des im Zähler betrachteten Studienjahres\
<#if zeitfeld='jahr' >\
(\
1=1 \
/*and jahr in\
(SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='J'\
and K.stichtagsart='${stichtagsart}' and K.exportieren=<<nur zu exportierende Kennzahlen>> ) */\
/* and jahr in\
(SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='J'\
and K.stichtagsart='${stichtagsart}' and K.berechnen=<<nur zu berechnende Kennzahlen>> ) */\
)\
<#else>\
--Semester\
(\
1=1\
/* and ${zeitfeld} in\
(SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='S'\
and K.stichtagsart='${stichtagsart}' and K.exportieren=<<nur zu exportierende Kennzahlen>>) */\
/* and ${zeitfeld} in\
(SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='S'\
and K.stichtagsart='${stichtagsart}' and K.berechnen=<<nur zu berechnende Kennzahlen>> )*/\
--für Prozentwerte alle Aggregate summieren:\
select \
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
\
--Sichtaufbau:\
--Zuerst leere Zieltabelle anlegen:\
select \
tree_lowkey,\
ebene,\
hochschule,\
<#foreach jahr in jahre>\
sxc_zahl_wert_wert_${jahr.jahr_str},\
sxc_zahl_wert_wert_${jahr.jahr_str}_sum,\
</#foreach>\
null::integer as sortnr\
into temp tmp_stud3\
from tmp_stud\
where 1=0;\
\
)\
--maxEbene ermitteln:\
<#assign maxEbene=0 />\
<#foreach einElement in Hochschule.elements>\
<#if einElement.level &gt; maxEbene >\
<#assign maxEbene=einElement.level />\
</#if>\
<#break>\
</#foreach>\
\
<#default>\
1=1\
/* and ${zeitfeld} in (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='${bezugsart}'\
and K.stichtagsart='${stichtagsart}'\
and K.exportieren=<<nur zu exportierende Kennzahlen>>) */\
/* and ${zeitfeld} in (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='${bezugsart}'\
and K.stichtagsart='${stichtagsart}'\
and K.berechnen=<<nur zu berechnende Kennzahlen>>) */\
-- ##################################################\
-- ######## Start der Schleife ######################\
-- ##################################################\
--Schleife, über Fächer im ausgewählten Baum, Reihenfolge genau wie im Baum\
--diese Kommentare werden schon im 1. Schritt von generateSql gelöscht\
--für Entwicklungszwecke kann man tricksen\
\
<@addcomment "SCHLEIFE"/>\
\
</#switch>\
</#if>\
</#macro>\
\
\
--Erste Schleife für alle zu berechnenden Werte, wo quelltabelle gefüllt ist\
<#if kenn_katalog?has_content >\
<#foreach row_kennzahl in kenn_katalog>\
<#if row_kennzahl.id != "dummy" && row_kennzahl.id != "dummy1">\
--Variablen erheben\
<#assign quelltabelle= row_kennzahl.quelltabelle />\
<#assign quellfeld= row_kennzahl.quellfeld />\
<#assign filter= row_kennzahl.bedingung />\
<#assign stichtagsart= row_kennzahl.stichtagsart />\
<#assign bezugsart= row_kennzahl.bezugsart />\
<#assign zeitfeld= row_kennzahl.zeitfeld />\
<#assign ebene= row_kennzahl.ebene />\
<#assign ord_nr= row_kennzahl.ord_nr />\
<#assign gruppe_1= row_kennzahl.gruppe_1 />\
<#assign gruppe_2= row_kennzahl.gruppe_2 />\
<#assign einheit= row_kennzahl.einheit />\
<#assign beschreibung= row_kennzahl.beschreibung />\
\
\
<#assign zeit_bedingung="1=1" />\
\
<#switch bezugsart>\
<#case "Q">\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "jahr between <<Start-Jahr>> and <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" = "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "jahr <= <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" = "">\
<#assign zeit_bedingung= "jahr >= <<Start-Jahr>>" />\
</#if>\
<#break>\
<#case "S">\
<#if "<<Start Semester>>" != "" && "<<End Semester>>" != "">\
<#assign zeit_bedingung= zeitfeld + " between <<Start Semester>> and <<End Semester>>" />\
</#if>\
<#if "<<Start Semester>>" = "" && "<<End Semester>>" != "">\
<#assign zeit_bedingung= zeitfeld + " <= <<End Semester>>" />\
</#if>\
<#if "<<Start Semester>>" != "" && "<<End Semester>>" = "">\
<#assign zeit_bedingung= zeitfeld + " >= <<Start Semester>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') between <<Start-Jahr>> and <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" = "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') <= <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" = "">\
<#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') >= <<Start-Jahr>>" />\
</#if>\
<#break>\
<#case "J">\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= zeitfeld + " between <<Start-Jahr>> and <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" = "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= zeitfeld + " <= <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" = "">\
<#assign zeit_bedingung= zeitfeld + " >= <<Start-Jahr>>" />\
</#if>\
<#break>\
<#case "A">\
<#if zeitfeld="sem">\
<#if sem_akad_bw_von?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and " + zeitfeld + ">="+ sem_akad_bw_von />\
</#if>\
<#if sem_akad_bw_bis?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ sem_akad_bw_bis />\
</#if>\
</#if>\
<#if zeitfeld?index_of("jahr") &gt; -1 >\
<#if jahr_akad_bw_von?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and " + zeitfeld + ">="+ jahr_akad_bw_von />\
</#if>\
<#if jahr_akad_bw_bis?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ jahr_akad_bw_bis />\
</#if>\
</#if>\
<#break>\
<#case "B">\
<#if sem_akad_sa_anf_von?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and " + zeitfeld + ">="+ sem_akad_sa_anf_von />\
</#if>\
<#if sem_akad_sa_anf_bis?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ sem_akad_sa_anf_bis />\
</#if>\
<#break>\
<#case "P">\
<#if sem_akad_sa_absolv_von?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + " >="+ sem_akad_sa_absolv_von />\
</#if>\
<#if sem_akad_sa_absolv_bis?trim != "">\
<#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ sem_akad_sa_absolv_bis />\
</#if>\
<#assign sortnr=0>\
<#foreach einElement in Hochschule.elements>\
\
<#break>\
<#default>\
<#assign zeit_bedingung= "1=1" />\
</#switch>\
\
--Zuerst die Felder, die aus KENN-Tabellen generiert werden\
--Achtung: die folgenden Tabellennamen müssen auch in Maske 18000 eingetragen werden\
<#assign lfb_colname="" />\
<#if quelltabelle != "" >\
<#if quelltabelle=="kenn_sos_stg" || quelltabelle=="kenn_sos_lab" \
|| quelltabelle=="kenn_sos_stg" || quelltabelle=="kenn_flaeche"\
|| quelltabelle=="kenn_pbv_aggr" || quelltabelle=="kenn_konto_aggr"\
|| quelltabelle=="kenn_anlagen_aggr" || quelltabelle=="kenn_stupl">\
<#assign lfb_colname="extkotr" />\
</#if>\
<#if quelltabelle== "kenn_busa_aggr">\
<#assign lfb_colname="projnr" />\
</#if>\
<#if quelltabelle== "kenn_vtbu_aggr">\
<#assign lfb_colname="ziel_projnr" />\
</#if>\
<#if quelltabelle== "kenn_zahl_wert">\
<#if row_kennzahl.id == "FORSCH_HABILITATION_KOEPFE">\
<#assign lfb_colname="ch110_institut" />\
<#else>\
<#if row_kennzahl.id == "LEHR_UNBER_ANG" || row_kennzahl.id == "LEHRANG_LEHRAUFTRAEGE" >\
<#assign lfb_colname="(select min(substring(SG.key_ext from 1 for 10)) from kenn_inst_to_ext SG where SG.hs_nr=kenn_zahl_wert.hs_nr and SG.instnr=kenn_zahl_wert.ch110_institut)" />\
<#else>\
<#assign lfb_colname="(select min(SG.k_extkotr) from kenn_stug SG where SG.hs_nr=kenn_zahl_wert.hs_nr and SG.stug_key=kenn_zahl_wert.stugkey)" />\
</#if>\
</#if>\
</#if>\
<#if quelltabelle== "kenn_su_imp_stud" || quelltabelle== "kenn_auslastung" || quelltabelle== "kenn_proj_gege">\
<#assign lfb_colname="k_extkotr" />\
</#if>\
\
insert into tmp_kennz(\
hs_nr ,\
katalog_id,\
stichtagsart ,\
beschreibung ,\
zeitraum_int,\
bezugsart,\
<@addcomment "${einElement.name}"/> \
\
--zuerst Summenzeile:\
<#assign sortnr=sortnr+1>\
insert into tmp_stud3(\
tree_lowkey,\
ebene,\
ord_nr,\
gruppe_1,\
gruppe_2,\
betrag,\
einheit,\
erlaeuterung)\
hochschule,\
<#foreach jahr in jahre>\
sxc_zahl_wert_wert_${jahr.jahr_str},\
sxc_zahl_wert_wert_${jahr.jahr_str}_sum,\
</#foreach>\
sortnr)\
select\
'${einElement.key}'::char(10),\
${einElement.level}::smallint,\
'${einElement.name}'::char(200),\
<#foreach jahr in jahre>\
null,\
sum(sxc_zahl_wert_wert_${jahr.jahr_str}) as sxc_zahl_wert_wert_${jahr.jahr_str}_sum,\
</#foreach>\
--(${einElement.level}*10000) + ${sortnr} as sortnr\
${sortnr}*10000 as sortnr\
from tmp_stud\
where tree_lowkey in ${einElement.subkeys}\
\
select hs_nr,\
'${row_kennzahl.id}'::char(100),\
'${stichtagsart}'::nchar(255),\
'${row_kennzahl.name}' <#if bezugsart = "A" || bezugsart = "P" || bezugsart = "B" && zeitfeld?index_of("sem") &gt; -1 && quelltabelle != ""> || nvl(' (' || (select trim(min(kurz)) from kenn_semester where tid=${quelltabelle}.${zeitfeld}) || ')','') </#if>,\
<#if (bezugsart = "A" || bezugsart = "P" || bezugsart = "B") && zeitfeld?index_of("sem") &gt; -1>\
--akad. Jahr automatisch ermitteln\
get_akad_jahr(${zeitfeld},'${bezugsart}'),\
--val(substring('' || ${zeitfeld} from 1 for 4)),\
<#else>\
${zeitfeld},\
</#if>\
'${bezugsart}'::char(1),\
${ebene}::smallint,\
${ord_nr}::smallint,\
'${gruppe_1}'::char(40),\
'${gruppe_2}'::char(40),\
${quellfeld},\
'${einheit}'::varchar(255),\
'${beschreibung}'::varchar(255)\
from xdummy left outer join ${quelltabelle} on ( \
<@bedingung zeitfeld="${zeitfeld}" bezugsart="${bezugsart}" stichtagsart="${stichtagsart}"/>\
${filter}\
and ${zeit_bedingung}\
and LPAD(hs_nr::TEXT, 4, '0') in <@printkeys .vars["Hochschule"].allNeededKeys /> \
;\
</#foreach>\
\
<#if lfb_feldinhalt != "''" && lfb_colname != "" >\
and ${lfb_colname} in ${lfb_feldinhalt}\
</#if>\
)\
--nicht doppelt einfügen\
where 0=(select count(*) from tmp_kennz K where K.katalog_id= '${row_kennzahl.id}' and (K.gruppe_1='${gruppe_1}' or K.gruppe_1 is null or trim(K.gruppe_1)=''))\
group by 1,2,3,4,5,6;\
</#if>\
</#if> --wenn nicht "dummy"\
</#foreach>\
</#if>\
<@selectintotmp select="*" source="tmp_kennz" target="tmp_kennz_basis">\
</@selectintotmp> <@informixnolog/>;\
\
\
--nun die berechneten Kennzahlen\
<#list 1..5 as i>\
<#if kenn_katalog?has_content >\
<#foreach row_kennzahl in kenn_katalog>\
<#if row_kennzahl.id != "dummy">\
--Variablen erheben\
<#assign quelltabelle= row_kennzahl.quelltabelle />\
<#assign quellfeld= row_kennzahl.quellfeld />\
<#assign filter= row_kennzahl.bedingung />\
<#assign stichtagsart= row_kennzahl.stichtagsart />\
<#assign bezugsart= row_kennzahl.bezugsart />\
<#assign zeitfeld= row_kennzahl.zeitfeld />\
<#assign ebene= row_kennzahl.ebene />\
<#assign ord_nr= row_kennzahl.ord_nr />\
<#assign gruppe_1= row_kennzahl.gruppe_1 />\
<#assign gruppe_2= row_kennzahl.gruppe_2 />\
<#assign einheit= row_kennzahl.einheit />\
<#assign beschreibung= row_kennzahl.beschreibung />\
\
\
\
<#switch bezugsart>\
<#case "Q">\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "jahr between <<Start-Jahr>> and <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" = "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "jahr <= <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" = "">\
<#assign zeit_bedingung= "jahr >= <<Start-Jahr>>" />\
</#if>\
<#break>\
<#case "S">\
<#if "<<Start Semester>>" != "" && "<<End Semester>>" != "">\
<#assign zeit_bedingung= zeitfeld + " between <<Start Semester>> and <<End Semester>>" />\
</#if>\
<#if "<<Start Semester>>" = "" && "<<End Semester>>" != "">\
<#assign zeit_bedingung= zeitfeld + " <= <<End Semester>>" />\
</#if>\
<#if "<<Start Semester>>" != "" && "<<End Semester>>" = "">\
<#assign zeit_bedingung= zeitfeld + " >= <<Start Semester>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') between <<Start-Jahr>> and <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" = "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') <= <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" = "">\
<#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') >= <<Start-Jahr>>" />\
</#if>\
<#break>\
<#case "J">\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= zeitfeld + " between <<Start-Jahr>> and <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" = "" && "<<End-Jahr>>" != "">\
<#assign zeit_bedingung= zeitfeld + " <= <<End-Jahr>>" />\
</#if>\
<#if "<<Start-Jahr>>" != "" && "<<End-Jahr>>" = "">\
<#assign zeit_bedingung= zeitfeld + " >= <<Start-Jahr>>" />\
</#if>\
<#break>\
<#case "A">\
<#assign zeit_bedingung= zeitfeld +" between "+sem_akad_bw_von+" and "+sem_akad_bw_bis />\
<#break>\
<#case "B">\
<#assign zeit_bedingung= zeitfeld +" between "+sem_akad_sa_anf_von+" and "+sem_akad_sa_anf_bis />\
<#break>\
<#case "P">\
<#assign zeit_bedingung= zeitfeld +" between "+sem_akad_sa_absolv_von+" and "+sem_akad_sa_absolv_bis />\
<#break>\
<#default>\
<#assign zeit_bedingung= "1=1" />\
</#switch>\
\
\
--Jetzt die berechneten Felder:\
<#if quelltabelle = "" >\
\
--Bei berechneten Feldern steht in Quelltabelle nichts, dafür die Formel in Feldname\
<#assign rsnum=1 />\
\
<#if quellfeld?index_of("/") != -1 || quellfeld?index_of("*") != -1>\
<#if quellfeld?index_of("/") != -1>\
<#assign operator="/" />\
</#if>\
<#if quellfeld?index_of("*") != -1>\
<#assign operator="*" />\
</#if>\
<#list quellfeld?split(operator) as rs>\
<#if rsnum = 1>\
<#assign betrag1= rs />\
</#if>\
<#if rsnum = 2>\
<#assign betrag2= rs />\
</#if>\
<#assign rsnum= rsnum+1 />\
</#list>\
insert into tmp_betrag1(\
hs_nr ,\
zeitraum_int,\
betrag\
)\
select hs_nr,\
zeitraum_int,\
--sicherstellen dass keien Duplikate reinkommen, wenn eine Kennzahl mehrmals benutzt wird:\
min(betrag)\
from tmp_kennz \
where katalog_id='${betrag1}'\
group by 1,2;\
<#if betrag2?starts_with("2") || betrag2?starts_with("4") >\
--wenn betrag2 keine Variable, sondern eine Zahl ist (z.B. für AVG /2)\
--dann wird nur die 2 übernommen.\
insert into tmp_betrag2(\
hs_nr ,\
zeitraum_int,\
betrag\
)\
select hs_nr,\
zeitraum_int,\
${betrag2}\
from tmp_kennz \
where katalog_id='${betrag1}'; \
<#else>\
insert into tmp_betrag2(\
hs_nr ,\
zeitraum_int,\
betrag )\
select hs_nr,\
zeitraum_int,\
min(betrag)\
from tmp_kennz \
where katalog_id='${betrag2}'\
group by 1,2; \
</#if>\
insert into tmp_kennz3(\
hs_nr ,\
stichtagsart ,\
beschreibung ,\
zeitraum_int,\
bezugsart,\
ebene,\
gruppe_1,\
gruppe_2,\
betrag,\
einheit,\
erlaeuterung)\
select Z.hs_nr,\
'${stichtagsart}'::nchar(255),\
'${row_kennzahl.name}'::char(255) ,\
Z.zeitraum_int,\
'${bezugsart}'::char(1),\
${ebene},\
'${gruppe_1}',\
'${gruppe_2}',\
Z.betrag ${operator} N.betrag,\
'{einheit}',\
'{erlaeuterung}'\
from tmp_betrag1 Z, tmp_betrag2 N \
where 1=1\
<#if filter?trim = "">\
and (Z.zeitraum_int=N.zeitraum_int\
or (Z.zeitraum_int is null and N.zeitraum_int is null))\
<#else>\
--Wenn eine Kennzahl aus zwei nicht zusammenpassenden Zeiträumen gebildet wird,\
--(z.B. WS/HHJ) muss im Katalog das Feld bedingung gefüllt sein\
${filter}\
</#if>\
<#if operator="/">\
--keine Division durch 0\
and N.betrag != 0\
</#if>\
and Z.hs_nr=N.hs_nr;\
</#if>\
<#if quellfeld?index_of("+") != -1 >\
--Summe\
<#assign operator="+" />\
insert into tmp_kennz3(\
hs_nr ,\
stichtagsart ,\
beschreibung ,\
zeitraum_int,\
bezugsart,\
ebene,\
gruppe_1,\
gruppe_2,\
betrag,\
einheit,\
erlaeuterung) \
select hs_nr,\
'${stichtagsart}'::nchar(255),\
'${row_kennzahl.name}'::char(255) ,\
zeitraum_int,\
'${bezugsart}'::char(1),\
${ebene}::integer,\
'${gruppe_1}'::char(40),\
'${gruppe_2}'::char(40),\
sum(betrag),\
'${einheit}',\
'${beschreibung}'\
from xdummy left outer join tmp_kennz on \
( katalog_id in (\
<#list quellfeld?split(operator) as rs>\
'${rs?trim}',\
</#list>\
'')\
and hs_nr is not null --nur wenn überhaupt ein Wert drin ist\
-- bei Akademischen Jahr soll keine Addition statt finden, wenn eins der beiden Semester keine Zahlen enthält. Das Ergebnis aus der Summe wäre irreführend.\
<#if row_kennzahl.bezugsart = 'A'>\
<#list quellfeld?split(operator) as rs>\
and 0 < (select count(*) from tmp_kennz_basis BS where BS.katalog_id = '${rs}' and BS.zeitraum_int=tmp_kennz.zeitraum_int and BS.betrag is not null)\
</#list>\
</#if>\
${row_kennzahl.bedingung} )\
group by 1,2,3,4,5,6,7; \
</#if>\
\
insert into tmp_kennz(\
hs_nr ,\
katalog_id,\
stichtagsart ,\
beschreibung ,\
zeitraum_int,\
bezugsart,\
ebene,\
ord_nr,\
gruppe_1,\
gruppe_2,\
betrag,\
einheit,\
erlaeuterung)\
select\
hs_nr ,\
'${row_kennzahl.id}'::char(100),\
'${stichtagsart}'::nchar(255),\
'${row_kennzahl.name}'::char(255) ,\
zeitraum_int,\
bezugsart,\
${ebene}::smallint,\
${ord_nr}::smallint,\
'${gruppe_1}'::char(40),\
'${gruppe_2}'::char(40),\
betrag,\
'${einheit}' ,\
'${beschreibung}' \
<#if i=5>\
--nur im letzten Durchgang ein left outer join, um sicherzugehen dass eine Zeile\
--angezeigt wird, auch wenn der Wert fehlt.\
from xdummy left outer join tmp_kennz3 on (1=1)\
<#else>\
from tmp_kennz3\
</#if>\
--nicht doppelt einfügen, wg. 5er Schleife:\
where 0=(select count(*) from tmp_kennz K\
where K.katalog_id= '${row_kennzahl.id}'\
and (K.gruppe_1='${gruppe_1}' or K.gruppe_1 is null or trim(K.gruppe_1)='')\
);\
\
delete from tmp_betrag1;\
delete from tmp_betrag2;\
delete from tmp_kennz3;\
</#if>\
</#if> --wenn nicht dummy\
drop table tmp_stud2;\
select * into tmp_stud2\
from tmp_stud3;\
drop table tmp_stud3;\
--Ende Sicht\
\
select \
ebene as ebene,\
hochschule as hochschule,\
<#foreach jahr in jahre>\
case when sxc_zahl_wert_wert_${jahr.jahr_str}_sum=0 then null else sxc_zahl_wert_wert_${jahr.jahr_str}_sum end\
<#if jahr?has_next>,</#if>\
</#foreach> \
from tmp_stud2\
where 1=1 \
<#if <<Leere Zeilen anzeigen>> = 0>\
and (<#foreach jahr in jahre>\
sxc_zahl_wert_wert_${jahr.jahr_str}_sum != 0\
<#if jahr?has_next>or</#if>\
</#foreach>)\
</#if>\
order by sortnr\
;\
\
drop table if exists tmp_rpta_sxc_zahl_wert;\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt; drop table if exists tmp_stud3;^--Freemarker Template\
XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=55\
Column CID=0 heading_text="Ebene" center_heading explanation="Ebene"\
row_selectable heading_platform readonly\
width=10 text_size=60\
Column CID=0 heading_text="Hochschule" center_heading explanation="Ebene"\
row_selectable heading_platform readonly\
width=10 text_size=60\
<#foreach jahr in jahre>\
Column CID=0 heading_text="${jahr.jahr_str}" center_heading explanation="${jahr.jahr_str}"\
row_selectable heading_platform readonly\
width=10 text_size=60\
</#foreach>\
</#if>\
</#list>\
\
-- Wenn eine Kennzahl ausgewählt wird, sollen alle Ebenen angezeigt werden: Ebenen Filter wird ignoriert.\
<#if "<<Stat. Kennzahl>>" = "">\
/* delete from tmp_kennz where ebene > <<Filter bis Ebene>>; */\
</#if>\
\
/* delete from tmp_kennz where substring(gruppe_1 from 1 for 2) != <<Kennzahl Nr.>>; */\
\
update tmp_kennz set hochschule_str=(select name from sxc_hochschulen where hs_nr =LPAD(tmp_kennz.hs_nr::TEXT, 4, '0'));\
update tmp_kennz set zeitraum_str=(select min(druck) from kenn_semester where tid=tmp_kennz.zeitraum_int)\
where bezugsart in ('S','4');\
update tmp_kennz set zeitraum_str=(select name FROM aggregierung where kategorie='COB-Jahr' \
and ord=tmp_kennz.zeitraum_int)\
where bezugsart in ('J','A');\
update tmp_kennz set zeitraum_str=(select min(druck) from kenn_quartale where apnr=tmp_kennz.zeitraum_int)\
where bezugsart='Q';\
update tmp_kennz set zeitraum_str=zeitraum_int where zeitraum_str is null;\
\
update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=5' \
where stichtagsart='Kostenrechnung' \
and katalog_id in ('KOSTEN_ERLOESE_Q');\
\
update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=906' \
where stichtagsart='Kostenrechnung' \
and katalog_id in ('KOSTEN_PERSONAL_Q');\
update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=6' \
where stichtagsart='Kostenrechnung' \
and katalog_id in ('KOSTEN_SACH_Q');\
update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=7' \
where stichtagsart='Kostenrechnung' \
and katalog_id in ('KOSTEN_WEITERE_Q');\
update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=66' \
where stichtagsart='Kostenrechnung' \
and katalog_id in ('KOSTEN_ABSCHR_Q');\
update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=902' \
where stichtagsart='Kostenrechnung' \
and katalog_id in ('KOSTEN_KALK_MIETE_Q');\
\
--update tmp_kennz set nextmask='18600&Hochschule=' || hs_nr || '&cachingcontrol=clearMask' where stichtagsart='Kostenrechnung' and katalog_id in ('KOSTEN_LEHRE_Q','KOSTEN_FORSCHUNG_Q','KOSTEN_DIENST_Q');\
update tmp_kennz set nextmask='18600&Hochschule=' || hs_nr || '&Zeitraum=' || zeitraum_int || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) where stichtagsart='Kostenrechnung' and katalog_id in ('KOSTEN_LEHRE_SEK_Q');\
\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&bis Hochschulsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1HS_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=H' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_HF_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=N' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_NF_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=H' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_HF_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=N' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_NF_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&in der RSZ=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&in der RSZ=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&in der RSZ=1' || '&Fachkennz.=H' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_HF_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&in der RSZ=1' || '&Fachkennz.=N' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_NF_FAELLE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=2' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_W_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_M_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_D_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=6' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_BI_KOEPFE');\
update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=7' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_BA_KOEPFE');\
\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_HF_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=N' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_NF_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=2' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=2' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=2' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_HF_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=1' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_HF_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=2' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_HF_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=1' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_HF_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=2' || '&Fachkennz.=N' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_NF_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=1' || '&Fachkennz.=N' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_NF_FAELLE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Staatsangeh%F6rigkeit="000"' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_D_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=6' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_BI_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=7' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_BA_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Staatsangeh%F6rigkeit=Alle%20ohne%20Deutschland' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_A_KOEPFE');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&Promotion=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('PROMOTIONEN');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&Promotion=1' || '&Geschlecht=2' where stichtagsart='Prüfungsstatistik' and katalog_id in ('PROMOTIONEN_W');\
update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&Promotion=1' || '&Geschlecht=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('PROMOTIONEN_M');\
\
\
<@selectintotmp select="hs_nr,hochschule_str,stichtagsart,beschreibung,erlaeuterung,zeitraum_int,\
zeitraum_str,ebene, ord_nr,gruppe_1,gruppe_2, round(betrag,2) as betrag,einheit,nextmask,nexttable,'' as stichtagsart2" source="tmp_kennz" target="tmp_kennz4">\
order by gruppe_1,zeitraum_int,gruppe_2,ord_nr\
</@selectintotmp> <@informixnolog/>;\
\
\
/* <#if <<Mit Erläuterung>> = "0">\
update tmp_kennz4 set erlaeuterung = '';\
</#if> */\
\
<@selectintotmp select="hs_nr,hochschule_str,stichtagsart,stichtagsart2,beschreibung,erlaeuterung,zeitraum_int,\
zeitraum_str,ebene, ord_nr,gruppe_1,gruppe_2, round(betrag,2) as betrag,einheit,nextmask,nexttable" source="tmp_kennz4" target="tmp_kennz2">\
order by ord_nr,zeitraum_int,gruppe_1,gruppe_2\
</@selectintotmp> <@informixnolog/>;\
\
drop table tmp_kennz;\
drop table tmp_kennz3;\
drop table tmp_kennz4;\
drop table tmp_kennz_basis;\
drop table tmp_betrag1;\
drop table tmp_betrag2;\
\
select ebene,hochschule_str,stichtagsart,\
--stichtagsart2,\
trim(string_not_null(gruppe_1)) || trim(string_not_null(gruppe_2)) || ' ' || beschreibung,\
--erlaeuterung,\
zeitraum_str,\
round(betrag,2),\
--einheit,\
nextmask,nexttable from tmp_kennz2\
;^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=35\
Column CID=0 heading_text="Ebene" center_heading explanation="@@@kenn_ebene_stud@@@" \
row_selectable col_selectable heading_platform readonly\
width=10 text_size=10\
Column CID=0 heading_text="Hochschule" center_heading explanation="@@@kenn_hochschule@@@" \
row_selectable col_selectable heading_platform readonly\
width=15 text_size=10\
Column CID=1 heading_text="Statistische\\nKennzahl" center_heading explanation="@@@kenn_stat_kennzahl@@@"\
row_selectable col_selectable heading_platform readonly\
width=15 text_size=100\
Column CID=2 heading_text="Beschreibung" center_heading explanation="@@@kenn_beschreibung@@@"\
row_selectable col_selectable heading_platform readonly\
width=50\
Column CID=3 heading_text="Zeitraum" center_heading explanation="@@@kenn_zeitraum@@@"\
row_selectable col_selectable heading_platform readonly\
width=20\
Column CID=3 heading_text="Wert" center_heading explanation="@@@kenn_wert@@@"\
row_selectable col_selectable heading_platform readonly\
width=20\
Column CID=3 heading_text="Details\\nMaske" center_heading explanation="Details für diese Kennzahl"\
row_selectable col_selectable heading_platform readonly\
width=15\
Column CID=3 heading_text="Details\\nTabelle" center_heading explanation="Details für diese Kennzahl"\
row_selectable col_selectable heading_platform readonly\
width=15\
@@@^ ^ ^Gesamtüberblick der stat. Kennzahlen nach Hochschule und Art der Kennzahl.^drop table tmp_kennz2;^^1^600^400^^1^<<SQL>> select 'Achtung: Beim Kennzahlen-Bericht wird das Maskenfeld Stat. Kennzahl ignoriert, ggf. würden die Kennzahlen sonst nicht vollständig berechnet.' from xdummy where <<Bericht>>='KENN_BW' and (1=0 /* or <<Stat. Kennzahl>> != ''*/);^
@@@^ ^ ^Übersicht über vorberechnete Kennzahlen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^1^600^360^^0^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/sxc/masken/47110_sachgeb_maske_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
109^47110^
360^47110^

Loading…
Cancel
Save