You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
817 lines
35 KiB
817 lines
35 KiB
47110^Stammdaten NRW^--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') >= <<Start-Jahr>> */\ |
|
/* and get_akad_jahr(tid,'A') <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="sem_akad_bw_bis">\ |
|
select max(tid) from kenn_semester\ |
|
where 1=1\ |
|
/* and get_akad_jahr(tid,'A') >= <<Start-Jahr>> */\ |
|
/* and get_akad_jahr(tid,'A') <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="jahr_akad_bw_von">\ |
|
select min(ord) from aggregierung\ |
|
where kategorie='KENN-Jahr'\ |
|
/* and ord >= <<Start-Jahr>> */\ |
|
/* and ord <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="jahr_akad_bw_bis">\ |
|
select max(ord) from aggregierung\ |
|
where kategorie='KENN-Jahr'\ |
|
/* and ord >= <<Start-Jahr>> */\ |
|
/* and ord <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="sem_akad_sa_anf_von">\ |
|
select min(tid) from kenn_semester\ |
|
where 1=1\ |
|
/* and akad_jahr_anf >= <<Start-Jahr>> */\ |
|
/* and akad_jahr_anf <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="sem_akad_sa_anf_bis">\ |
|
select max(tid) from kenn_semester\ |
|
where 1=1\ |
|
/* and akad_jahr_anf >= <<Start-Jahr>> */\ |
|
/* and akad_jahr_anf <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="sem_akad_sa_absolv_von">\ |
|
select min(tid) from kenn_semester\ |
|
where 1=1\ |
|
/* and akad_jahr_absolv >= <<Start-Jahr>> */\ |
|
/* and akad_jahr_absolv <= <<End-Jahr>> */;\ |
|
</sqlvar>\ |
|
<sqlvar name="sem_akad_sa_absolv_bis">\ |
|
select max(tid) from kenn_semester\ |
|
where 1=1\ |
|
/* and akad_jahr_absolv >= <<Start-Jahr>> */\ |
|
/* and akad_jahr_absolv <= <<End-Jahr>> */;\ |
|
</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/>;\ |
|
\ |
|
\ |
|
\ |
|
\ |
|
<#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>> )*/\ |
|
\ |
|
)\ |
|
</#if>\ |
|
<#break>\ |
|
\ |
|
<#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>>) */\ |
|
\ |
|
\ |
|
</#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") > -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>\ |
|
\ |
|
<#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,\ |
|
ebene,\ |
|
ord_nr,\ |
|
gruppe_1,\ |
|
gruppe_2,\ |
|
betrag,\ |
|
einheit,\ |
|
erlaeuterung)\ |
|
\ |
|
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") > -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") > -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 /> \ |
|
\ |
|
<#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\ |
|
</#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>> != ''*/);^
|
|
|