Compare commits

..

9 Commits

26 changed files with 1587 additions and 15 deletions

View File

@@ -0,0 +1,43 @@
24570^Ausgabetabelle^200^0^0^100^150^1^sql^30^1^1^<<SQL>> select 'stud_hs1','Studierende im 1. Hochschulsemester' from xdummy\
union select 'stud_rsz2','Studierende in RSZ +2 ' from xdummy\
union select 'absolv','Erfolgreiche Prüfungen' from xdummy\
order by 1^ ^<<SQL>> select 'stud_hs1','Studierende im 1. Hochschulsemester' from xdummy^
24571^Jahr von^1^300^-1^170^150^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^ ^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
24572^Spalten^400^0^0^100^200^1^sql^30^1^1^<<SQL>> select 'hs_nr','Hochschulen' from xdummy \
union select 'jahr','Jahr' from xdummy\
union select 'fgr','Fächergruppen' from xdummy \
union select 'abgrp','Abschlussgruppen' from xdummy \
order by 2;^ ^<<SQL>> select 'fgr','Fächergruppen' from xdummy^
24573^Abschluss^14^0^0^100^200^5^char^30^0^13^<<SQL>> select astat, dtxt from kenn_abschl_astat where struktur_c='Abschluss (amtlich)' order by 2;^ ^ ^
24574^Gewichtung^100^0^0^100^10^1^integer^30^0^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^ ^<<SQL>> select 0,'Nein' from xdummy^
24575^Spaltenvisualisierung^500^0^0^100^10^1^char^30^0^1^<<SQL>> select '_graph','Balken (horiz. linksb.)' from xdummy\
union select '_sparkbar','Balkendiagramm' from xdummy\
where 0 < (select count(*) from sx_stylesheets where filename='tabelle_html_viz.xsl')\
union select '_sparkline','Liniendiagramm' from xdummy\
where 0 < (select count(*) from sx_stylesheets where filename='tabelle_html_viz.xsl')^ ^ ^
24577^Staatsangehörigkeit^11^0^0^100^120^1^sql^30^0^1^<<SQL>> --Freemarker Template\
<sqlvars>\
<sqlvar name="sos_staat_eu_exists">\
select sp_table_exists('sos_staat_eu') from xdummy;\
</sqlvar>\
</sqlvars>\
select 'A','Alle ohne Deutschland' from xdummy\
union select 'I','Deutsch' from xdummy \
<#if sos_staat_eu_exists==1>\
union select 'EU','EU-Ausländer' from xdummy union select 'NEU','Nicht-EU-Ausländer' from xdummy\
</#if>\
order by 2;^ ^ ^
24578^Zeilen^300^300^-1^170^150^1^sql^30^1^1^<<SQL>>select 'hs_nr','Hochschulen' from xdummy \
union select 'jahr','Jahr' from xdummy\
union select 'fgr','Fächergruppen' from xdummy \
union select 'abgrp','Abschlussgruppen' from xdummy \
order by 2;^ ^<<SQL>> select 'hs_nr','Hochschulen' from xdummy ;^
24579^Hochschule^0^0^0^100^150^1^char^30^0^12^<<SQL>> select tid, type, name from sichten where art in('KENN-Kostenstellen-Sicht','KENN-Hochschulen-Sicht') order by sortnr, name;^ ^ ^
24581^Jahr bis^5^0^0^100^70^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^ ^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
24583^Geschlecht^13^300^-1^170^100^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM kenn_geschl order by 2^ ^ ^

View File

@@ -0,0 +1 @@
24570^109^

View File

@@ -0,0 +1,11 @@
24570^24570^
24570^24571^
24570^24572^
24570^24573^
24570^24574^
24570^24575^
24570^24577^
24570^24578^
24570^24579^
24570^24581^
24570^24583^

View File

@@ -0,0 +1,296 @@
24570^ZSL-Mittelverteilung (Teiltabelle)^--(c) 2023 Jutta Otten jutta.otten@verwaltung.uni-stuttgart.de & D.Quathamer\
--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
<sqlvars>\
<sqlvar name="jahr" type="hashsequence"><![CDATA[\
SELECT ord as key,name from aggregierung\
where kategorie='KENN-Jahr'\
/* and ord >= <<Jahr von>> */\
/* and ord <= <<Jahr bis>> */\
order by 1\
;\
]]>\
</sqlvar>\
<sqlvar name="hs_nr" type="hashsequence"><![CDATA[\
SELECT hs_nr as key,name from kenn_hochschulen\
where hs_nr::char(10) in <@printkeys .vars["Hochschule"].allNeededKeys />\
and traegerschaft='ST'\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="fgr" type="hashsequence"><![CDATA[\
SELECT apnr as key,drucktext as name from kenn_dim_fgr\
where fg_studierende is not null\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="abgrp" type="hashsequence"><![CDATA[\
SELECT 'BA'::char(2) as key,'Bachelor'::varchar(255) as name from xdummy\
union\
SELECT 'MA','Master' from xdummy\
union\
SELECT 'ST','Staatsexamen' from xdummy\
order by 1\
;\
]]>\
</sqlvar>\
</sqlvars>\
<#assign fact_table="kenn_stg_aggr_astat" />\
<#assign fact_filter="1=1" />\
<#assign semesterfeld="sem_rueck_beur_ein" />\
<#assign aggrfunction="sum(summe)" />\
<#assign aggrcoltype="integer" />\
\
<#assign graph_col_summe= "" />\
<#assign graph_col= "col" />\
/* <#assign graph_col=<<Spaltenvisualisierung>> /> */\
<#if graph_col=="_graph">\
<#assign graph_col_summe= "|" />\
</#if>\
\
<#if "<<Gewichtung>>"=="1">\
<#assign aggrcoltype="float" />\
<#assign aggrfunction="sum(summe::"+aggrcoltype+"*faktor)" />\
</#if>\
\
<#if "<<Ausgabetabelle>>" == "stud_hs1" >\
<#assign jahrfeld="akad_jahr_anf" />\
<#assign semesterfilter="substring('' || S.tid from 5 for 1) in ('1','2')" />\
<#assign fact_filter=fact_filter + " and kz_rueck_beur_ein < 4" /> -- ohne exmatr., ohne beurlaubten\
<#assign fact_filter=fact_filter + " and studiengang_nr = 1 and fach_nr = 1" /> -- Kopf mit 1. Studiengang, 1. Fach\
<#assign fact_filter=fact_filter + " and hssem = 1" /> -- 1. HS-Sem.\
<#elseif "<<Ausgabetabelle>>" == "stud_rsz2" >\
<#assign jahrfeld="val(substring('' || S.tid from 1 for 4))" />\
<#assign semesterfilter="substring('' || S.tid from 5 for 1)='2'" />\
<#assign fact_filter=fact_filter + " and kz_rueck_beur_ein < 4" /> -- ohne exmatr., ohne beurlaubten\
<#assign fact_filter=fact_filter + " and studiengang_nr = 1 and fach_nr = 1" /> -- Kopf mit 1. Studiengang, 1. Fach\
<#assign fact_filter=fact_filter + " and coalesce(fach_sem_zahl,0) < regel+3" /> -- in RSZ +2\
<#elseif "<<Ausgabetabelle>>" == "absolv" >\
<#assign fact_table="kenn_lab_aggr_astat" />\
<#assign jahrfeld="akad_jahr_absolv" />\
<#assign semesterfeld="sem_der_pruefung" />\
<#assign semesterfilter="substring('' || S.tid from 5 for 1) in ('1','2')" />\
<#assign fact_filter=fact_filter + " and studiengang_nr = 1 and fach_nr = 1" /> -- Kopf mit 1. Studiengang, 1. Fach?\
<#assign fact_filter=fact_filter + " and pruefung_ergebnis <> 2" /> -- nur erfolgreiche Prüfungen\
</#if>\
\
\
\
\
<#assign staat_filter="1=1" />\
<#if "<<Staatsangehörigkeit>>"="I">\
<#assign staat_filter="ca12_staat=0" />\
<#elseif "<<Staatsangehörigkeit>>"="A">\
<#assign staat_filter="ca12_staat!=0" />\
<#elseif "<<Staatsangehörigkeit>>"="EU">\
<#assign staat_filter="ca12_staat !=0 and 0 <(select count(*) from sos_staat_eu E where val(E.astat)=ca12_staat and "+semesterfeld+" between E.semester_von and E.semester_bis and EU='J') " />\
<#elseif "<<Staatsangehörigkeit>>"="NEU">\
<#assign staat_filter="0 <(select count(*) from sos_staat_eu E where val(E.astat)=ca12_staat and "+semesterfeld+" between E.semester_von and E.semester_bis and EU='N') " />\
</#if>\
\
<#assign fieldclause=jahrfeld+" as jahr,hs_nr,hzbart_astat,ca12_staat,fgr,abgrp,"+aggrfunction + " as summe" />\
<#assign fromclause="kenn_semester S, "+fact_table +" inner join kenn_zsl_ausgleich_kennungen Z on (concat (substring(stufrm from 1 for 1),abschluss)=Z.astat and kennung_<<Ausgabetabelle>>=1) " />\
\
<#assign whereclause="S.tid="+semesterfeld+" and " + semesterfilter+" and "+ fact_filter />\
<#assign whereclause=whereclause+ " and " + jahrfeld+ " >= <<Jahr von>>" />\
<#assign whereclause=whereclause+ " and " + jahrfeld+ " <= <<Jahr bis>>" />\
\
--Default: Schleife über Hochschule\
<#assign rowdim=<<Zeilen>> />\
<#assign rowfieldname="<<Zeilen>>" />\
<#assign coldim=<<Spalten>> />\
<#assign colfieldname="<<Spalten>>" />\
\
<#if rowfieldname!=colfieldname >\
\
--start Datentabelle\
<@selectintotmp \
select=fieldclause\
source=fromclause\
target="tmp_tabelle">\
-- nested in selectinto muss die where Bedingung u. ggfs. group by etc kommen\
where hs_nr::char(10) in <@printkeys .vars["Hochschule"].allNeededKeys />\
and ${whereclause}\
/* and abschluss in (<<Abschluss>>) */\
/* and hzbart=<<Hochschulzugangsber.>> */\
/* and geschlecht = <<Geschlecht>> */\
and ${staat_filter}\
group by 1,2,3,4,5,6\
</@selectintotmp>\
<@informixnolog/>;\
\
\
<#assign sortnr=1 />\
--Zuerst Summe:\
select 1::smallint as ebene ,\
${sortnr}::integer as sortnr,\
'Summe'::varchar(255) as levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
(case when ${colfieldname}='${col.key}' then sum(summe) else 0 end)::${aggrcoltype} as spalte${col.key},\
</#foreach>\
</#if>\
(case when hzbart_astat in ('39','67','17','47','59','79','76','31','51','96','94','95') \
and ca12_staat <> 0 then sum(summe) else 0 end)::${aggrcoltype} as summe_ba,\
(sum(summe))::${aggrcoltype} as summe\
into temp tmp_tabelle2\
FROM tmp_tabelle\
group by 1,2,3,${colfieldname},hzbart_astat,ca12_staat\
;\
\
--dann Levels:\
<#if rowdim?has_content>\
<#foreach row in rowdim>\
<#assign sortnr=sortnr+1 />\
insert into tmp_tabelle2\
select 2::smallint as ebene,\
${sortnr},\
'${row.name}' as levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
(case when ${colfieldname}='${col.key}' then sum(summe) else 0 end)::${aggrcoltype} as spalte${col.key},\
</#foreach>\
</#if>\
(case when hzbart_astat in ('39','67','17','47','59','79','76','31','51','96','94','95') \
and ca12_staat <> 0 then sum(summe) else 0 end)::${aggrcoltype} as summe_ba,\
sum(summe)\
FROM tmp_tabelle\
where ${rowfieldname}='${row.key}'\
group by 1,2,3,${colfieldname},hzbart_astat,ca12_staat\
;\
</#foreach>\
</#if>\
\
--Aufsummieren:\
select ebene ,\
sortnr,\
levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
sum(spalte${col.key})::${aggrcoltype} as spalte${col.key},\
</#foreach>\
</#if>\
sum(summe_ba)::${aggrcoltype} as summe_ba,\
sum(summe)::${aggrcoltype} as summe\
into temp tmp_tabelle3\
FROM tmp_tabelle2\
group by 1,2,3\
;\
\
drop table tmp_tabelle;\
drop table tmp_tabelle2;\
\
\
select <#if graph_col=="col">\
ebene,\
<#else>\
ebene as level, --bei Grafiken keine Ebenenanzeige\
</#if>\
<#if graph_col?starts_with("_spark")>\
levelname as _categorySpark,\
<#else>\
levelname,\
</#if>\
<#if coldim?has_content>\
<#foreach col in coldim>\
<#if graph_col=="col">\
spalte${col.key},\
<#elseif graph_col?starts_with("_spark")>\
spalte${col.key} as ${graph_col}${col.key},\
<#else>\
'' || spalte${col.key} || '|' || summe as ${graph_col}${col.key},\
</#if>\
</#foreach>\
</#if>\
<#if graph_col=="col">\
summe,\
summe_ba\
<#elseif graph_col?starts_with("_spark")>\
summe as ${graph_col}summe,\
summe_ba as ${graph_col}summe_ba\
<#else>\
summe,\
'' || summe_ba || '|' || summe as ${graph_col}summe_ba\
</#if>\
\
FROM tmp_tabelle3\
ORDER BY sortnr,1,2,3;\
<#else>\
--Zeilen und Spalten gleich:\
select null::integer into temp tmp_tabelle3\
from xdummy;\
select * from tmp_tabelle3;\
</#if>^--Freemarker Template\
<sqlvars>\
<sqlvar name="jahr" type="hashsequence"><![CDATA[\
SELECT ord,name,'Jahr'::varchar(255) as dimcaption\
from aggregierung\
where kategorie='KENN-Jahr'\
/* and ord >= <<Jahr von>> */\
/* and ord <= <<Jahr bis>> */\
order by 1\
;\
]]>\
</sqlvar>\
<sqlvar name="hs_nr" type="hashsequence"><![CDATA[\
SELECT hs_nr as key,name,'Hochschule'::varchar(255) as dimcaption\
from kenn_hochschulen\
where hs_nr::char(10) in <@printkeys .vars["Hochschule"].allNeededKeys />\
and traegerschaft='ST'\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="fgr" type="hashsequence"><![CDATA[\
SELECT apnr as key,drucktext as name,'Fächergruppe'::varchar(255) as dimcaption\
from kenn_dim_fgr\
where fg_studierende is not null\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="abgrp" type="hashsequence"><![CDATA[\
SELECT 'BA'::char(1) as key,'Bachelor'::varchar(255) as name,\
'Abschlussart'::varchar(255) as dimcaption \
from xdummy\
union\
SELECT 'MA','Master',\
'Abschlussart'::varchar(255) as dimcaption from xdummy\
union\
SELECT 'ST','Staatsexamen',\
'Abschlussart'::varchar(255) as dimcaption from xdummy\
order by 1\
;\
]]>\
</sqlvar>\
</sqlvars>\
<#assign coldim=<<Spalten>> />\
<#assign colfieldname="<<Spalten>>" />\
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=2 heading_text=" Ebene " center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=30\
Column CID=2 heading_text=" Name " center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=30\
<#if coldim?has_content>\
<#foreach col in coldim>\
Column CID=3 heading_text=" ${col.dimcaption}\\000${col.name}" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=30\
</#foreach>\
</#if>\
Column CID=3 heading_text="Gesamt" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=30\
Column CID=3 heading_text="Darunter\\n\
Bildungsausl." center_heading row_selectable col_selectable heading_platform readonly\
width=10 text_size=30\
@@@^Studienfach^Anzahl bzw. Anteil^Studierende oder Absolvent_innen nach Hochschule, Fächergruppe, Gewichtung^drop table tmp_tabelle3;^^1^850^600^^1^<<SQL>> select 'Bitte wählen Sie unterschiedliche Spalten/Zeilen' from xdummy where '<<Zeilen>>'='<<Spalten>>' union \
select 'Gewichtung mit folgenden Faktoren: Abschlüsse grundständiger Studiengänge ohne Staasexamen * 1 + Abschlüsse konsekutiver Master-Studiengänge * 0,5 + Abschlüsse Staatsexamen (inkl. Lehramt) * 1,5' from xdummy where '<<Gewichtung>>'='1'^

View File

@@ -0,0 +1 @@
0^24570^

View File

@@ -0,0 +1,24 @@
24601^Jahr von^1^300^-1^170^150^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^ ^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
24603^Abschluss^14^0^0^100^200^5^char^30^0^13^<<SQL>> select astat, dtxt from kenn_abschl_astat where struktur_c='Abschluss (amtlich)' order by 2;^ ^ ^
24604^Gewichtung^100^0^0^100^10^1^integer^30^0^13^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^ ^<<SQL>> select 0,'Nein' from xdummy^
24607^Staatsangehörigkeit^11^0^0^100^120^1^sql^30^0^1^<<SQL>> --Freemarker Template\
<sqlvars>\
<sqlvar name="sos_staat_eu_exists">\
select sp_table_exists('sos_staat_eu') from xdummy;\
</sqlvar>\
</sqlvars>\
select 'A','Alle ohne Deutschland' from xdummy\
union select 'I','Deutsch' from xdummy \
<#if sos_staat_eu_exists==1>\
union select 'EU','EU-Ausländer' from xdummy union select 'NEU','Nicht-EU-Ausländer' from xdummy\
</#if>\
order by 2;^ ^ ^
24609^Hochschule^0^0^0^100^150^1^char^30^0^12^<<SQL>> select tid, type, name from sichten where art in('KENN-Kostenstellen-Sicht','KENN-Hochschulen-Sicht') order by sortnr, name;^ ^ ^
24611^Jahr bis^5^0^0^100^70^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^ ^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
24613^Geschlecht^13^300^-1^170^100^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM kenn_geschl order by 2^ ^ ^

View File

@@ -0,0 +1 @@
24600^109^

View File

@@ -0,0 +1,7 @@
24600^24601^
24600^24603^
24600^24604^
24600^24607^
24600^24609^
24600^24611^
24600^24613^

View File

@@ -0,0 +1,3 @@
24600^ZSL-Mittelverteilung (Gesamtbericht)^--Wenn Freemarker eingesetzt wird, muss der folgende Kommentar (case insensitive) irgendwo in der Abfrage stehen\
--Freemarker Template^--Freemarker Template^Studienfach^Anzahl bzw. Anteil^Studierende oder Absolvent_innen nach Hochschule, Fächergruppe, Gewichtung^ ^^1^850^600^^1^<<SQL>> select 'Bitte wählen Sie unterschiedliche Spalten/Zeilen' from xdummy where '<<Zeilen>>'='<<Spalten>>' union \
select 'Gewichtung mit folgenden Faktoren: Abschlüsse grundständiger Studiengänge ohne Staasexamen * 1 + Abschlüsse konsekutiver Master-Studiengänge * 0,5 + Abschlüsse Staatsexamen (inkl. Lehramt) * 1,5' from xdummy where '<<Gewichtung>>'='1'^

View File

@@ -0,0 +1 @@
0^24600^

View File

@@ -0,0 +1,38 @@
32560^Ausgabetabelle^200^0^0^100^150^1^sql^30^1^1^<<SQL>> select 'stud_hs1','Studierende im 1. Hochschulsemester' from xdummy\
union select 'stud_rsz2','Studierende in RSZ +2 ' from xdummy\
union select 'absolv','Erfolgreiche Prüfungen' from xdummy\
order by 1^^<<SQL>> select 'stud_hs1','Studierende im 1. Hochschulsemester' from xdummy^
32561^Jahr von^1^300^-1^170^150^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
32562^Spalten^400^0^0^100^200^1^sql^30^1^1^<<SQL>> select 'hs_nr','Hochschulen' from xdummy \
union select 'jahr','Jahr' from xdummy\
union select 'fgr','Fächergruppen' from xdummy \
union select 'abgrp','Abschlussgruppen' from xdummy \
order by 2;^^<<SQL>> select 'fgr','Fächergruppen' from xdummy^
32563^Abschluss^14^0^0^100^200^5^char^30^0^13^<<SQL>> select astat, dtxt from kenn_abschl_astat where struktur_c='Abschluss (amtlich)' order by 2;^^^
32564^Gewichtung^100^0^0^100^10^1^integer^30^0^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^^<<SQL>> select 0,'Nein' from xdummy^
32567^Staatsangehörigkeit^11^0^0^100^120^1^sql^30^0^1^<<SQL>> --Freemarker Template\
<sqlvars>\
<sqlvar name="sos_staat_eu_exists">\
select sp_table_exists('sos_staat_eu') from xdummy;\
</sqlvar>\
</sqlvars>\
select 'A','Alle ohne Deutschland' from xdummy\
union select 'I','Deutsch' from xdummy \
<#if sos_staat_eu_exists==1>\
union select 'EU','EU-Ausländer' from xdummy union select 'NEU','Nicht-EU-Ausländer' from xdummy\
</#if>\
order by 2;^^^
32568^Zeilen^300^300^-1^170^150^1^sql^30^1^1^<<SQL>>select 'hs_nr','Hochschulen' from xdummy \
union select 'jahr','Jahr' from xdummy\
union select 'fgr','Fächergruppen' from xdummy \
union select 'abgrp','Abschlussgruppen' from xdummy \
order by 2;^^<<SQL>> select 'hs_nr','Hochschulen' from xdummy ;^
32569^Hochschule^0^0^0^100^150^1^char^30^0^12^<<SQL>> select tid, type, name from sichten where art in('KENN-Kostenstellen-Sicht','KENN-Hochschulen-Sicht') order by sortnr, name;^^^
32571^Jahr bis^5^0^0^100^70^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
32573^Geschlecht^13^300^-1^170^100^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM kenn_geschl order by 2^^^

View File

@@ -0,0 +1 @@
32560^109^

View File

@@ -0,0 +1,10 @@
32560^32560^
32560^32561^
32560^32562^
32560^32563^
32560^32564^
32560^32567^
32560^32568^
32560^32569^
32560^32571^
32560^32573^

View File

@@ -0,0 +1,265 @@
32560^ZSL-Mittelverteilung (Einzeltabelle)^--(c) 2023 Jutta Otten jutta.otten@verwaltung.uni-stuttgart.de & D.Quathamer\
--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
<sqlvars>\
<sqlvar name="jahr" type="hashsequence"><![CDATA[\
SELECT ord as key,name from aggregierung\
where kategorie='KENN-Jahr'\
/* and ord >= <<Jahr von>> */\
/* and ord <= <<Jahr bis>> */\
order by 1\
;\
]]>\
</sqlvar>\
<sqlvar name="hs_nr" type="hashsequence"><![CDATA[\
SELECT hs_nr as key,name from kenn_hochschulen\
where hs_nr::char(10) in <@printkeys .vars["Hochschule"].allNeededKeys />\
and traegerschaft='ST'\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="fgr" type="hashsequence"><![CDATA[\
SELECT apnr as key,drucktext as name from kenn_dim_fgr\
where fg_studierende is not null\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="abgrp" type="hashsequence"><![CDATA[\
SELECT 'BA'::char(2) as key,'Bachelor'::varchar(255) as name from xdummy\
union\
SELECT 'MA','Master' from xdummy\
union\
SELECT 'ST','Staatsexamen' from xdummy\
order by 1\
;\
]]>\
</sqlvar>\
</sqlvars>\
<#assign fact_table="kenn_stg_aggr_astat" />\
<#assign fact_filter="1=1" />\
<#assign semesterfeld="sem_rueck_beur_ein" />\
<#assign aggrfunction="sum(summe)" />\
<#assign aggrcoltype="integer" />\
\
<#if "<<Gewichtung>>"=="1">\
<#assign aggrcoltype="float" />\
<#assign aggrfunction="sum(summe::"+aggrcoltype+"*faktor)" />\
</#if>\
\
<#if "<<Ausgabetabelle>>" == "stud_hs1" >\
<#assign jahrfeld="akad_jahr_anf" />\
<#assign semesterfilter="substring('' || S.tid from 5 for 1) in ('1','2')" />\
<#assign fact_filter=fact_filter + " and kz_rueck_beur_ein < 4" /> -- ohne exmatr., ohne beurlaubten\
<#assign fact_filter=fact_filter + " and studiengang_nr = 1 and fach_nr = 1" /> -- Kopf mit 1. Studiengang, 1. Fach\
<#assign fact_filter=fact_filter + " and hssem = 1" /> -- 1. HS-Sem.\
<#elseif "<<Ausgabetabelle>>" == "stud_rsz2" >\
<#assign jahrfeld="val(substring('' || S.tid from 1 for 4))" />\
<#assign semesterfilter="substring('' || S.tid from 5 for 1)='2'" />\
<#assign fact_filter=fact_filter + " and kz_rueck_beur_ein < 4" /> -- ohne exmatr., ohne beurlaubten\
<#assign fact_filter=fact_filter + " and studiengang_nr = 1 and fach_nr = 1" /> -- Kopf mit 1. Studiengang, 1. Fach\
<#assign fact_filter=fact_filter + " and coalesce(fach_sem_zahl,0) < regel+3" /> -- in RSZ +2\
<#elseif "<<Ausgabetabelle>>" == "absolv" >\
<#assign fact_table="kenn_lab_aggr_astat" />\
<#assign jahrfeld="akad_jahr_absolv" />\
<#assign semesterfeld="sem_der_pruefung" />\
<#assign semesterfilter="substring('' || S.tid from 5 for 1) in ('1','2')" />\
<#assign fact_filter=fact_filter + " and studiengang_nr = 1 and fach_nr = 1" /> -- Kopf mit 1. Studiengang, 1. Fach?\
<#assign fact_filter=fact_filter + " and pruefung_ergebnis <> 2" /> -- nur erfolgreiche Prüfungen\
</#if>\
\
\
\
\
<#assign staat_filter="1=1" />\
<#if "<<Staatsangehörigkeit>>"="I">\
<#assign staat_filter="ca12_staat=0" />\
<#elseif "<<Staatsangehörigkeit>>"="A">\
<#assign staat_filter="ca12_staat!=0" />\
<#elseif "<<Staatsangehörigkeit>>"="EU">\
<#assign staat_filter="ca12_staat !=0 and 0 <(select count(*) from sos_staat_eu E where val(E.astat)=ca12_staat and "+semesterfeld+" between E.semester_von and E.semester_bis and EU='J') " />\
<#elseif "<<Staatsangehörigkeit>>"="NEU">\
<#assign staat_filter="0 <(select count(*) from sos_staat_eu E where val(E.astat)=ca12_staat and "+semesterfeld+" between E.semester_von and E.semester_bis and EU='N') " />\
</#if>\
\
<#assign fieldclause=jahrfeld+" as jahr,hs_nr,hzbart_astat,ca12_staat,fgr,abgrp,"+aggrfunction + " as summe" />\
<#assign fromclause="kenn_semester S, "+fact_table +" inner join kenn_zsl_ausgleich_kennungen Z on (concat (substring(stufrm from 1 for 1),abschluss)=Z.astat and kennung_<<Ausgabetabelle>>=1) " />\
\
<#assign whereclause="S.tid="+semesterfeld+" and " + semesterfilter+" and "+ fact_filter />\
<#assign whereclause=whereclause+ " and " + jahrfeld+ " >= <<Jahr von>>" />\
<#assign whereclause=whereclause+ " and " + jahrfeld+ " <= <<Jahr bis>>" />\
\
--Default: Schleife über Hochschule\
<#assign rowdim=<<Zeilen>> />\
<#assign rowfieldname="<<Zeilen>>" />\
<#assign coldim=<<Spalten>> />\
<#assign colfieldname="<<Spalten>>" />\
\
<#if rowfieldname!=colfieldname >\
\
--start Datentabelle\
<@selectintotmp \
select=fieldclause\
source=fromclause\
target="tmp_tabelle">\
-- nested in selectinto muss die where Bedingung u. ggfs. group by etc kommen\
where hs_nr::char(10) in <@printkeys .vars["Hochschule"].allNeededKeys />\
and ${whereclause}\
/* and abschluss in (<<Abschluss>>) */\
/* and hzbart=<<Hochschulzugangsber.>> */\
/* and geschlecht = <<Geschlecht>> */\
and ${staat_filter}\
group by 1,2,3,4,5,6\
</@selectintotmp>\
<@informixnolog/>;\
\
\
<#assign sortnr=1 />\
--Zuerst Summe:\
select 1::smallint as ebene ,\
${sortnr}::integer as sortnr,\
'Summe'::varchar(255) as levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
(case when ${colfieldname}='${col.key}' then sum(summe) else 0 end)::${aggrcoltype} as spalte${col.key},\
</#foreach>\
</#if>\
(case when hzbart_astat in ('39','67','17','47','59','79','76','31','51','96','94','95') \
and ca12_staat <> 0 then sum(summe) else 0 end)::${aggrcoltype} as summe_ba,\
(sum(summe))::${aggrcoltype} as summe\
into temp tmp_tabelle2\
FROM tmp_tabelle\
group by 1,2,3,${colfieldname},hzbart_astat,ca12_staat\
;\
\
--dann Levels:\
<#if rowdim?has_content>\
<#foreach row in rowdim>\
<#assign sortnr=sortnr+1 />\
insert into tmp_tabelle2\
select 2::smallint as ebene,\
${sortnr},\
'${row.name}' as levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
(case when ${colfieldname}='${col.key}' then sum(summe) else 0 end)::${aggrcoltype} as spalte${col.key},\
</#foreach>\
</#if>\
(case when hzbart_astat in ('39','67','17','47','59','79','76','31','51','96','94','95') \
and ca12_staat <> 0 then sum(summe) else 0 end)::${aggrcoltype} as summe_ba,\
sum(summe)\
FROM tmp_tabelle\
where ${rowfieldname}='${row.key}'\
group by 1,2,3,${colfieldname},hzbart_astat,ca12_staat\
;\
</#foreach>\
</#if>\
\
--Aufsummieren:\
select ebene ,\
sortnr,\
levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
sum(spalte${col.key})::${aggrcoltype} as spalte${col.key},\
</#foreach>\
</#if>\
sum(summe_ba)::${aggrcoltype} as summe_ba,\
sum(summe)::${aggrcoltype} as summe\
into temp tmp_tabelle3\
FROM tmp_tabelle2\
group by 1,2,3\
;\
\
drop table tmp_tabelle;\
drop table tmp_tabelle2;\
\
select ebene,\
levelname,\
<#if coldim?has_content>\
<#foreach col in coldim>\
spalte${col.key},\
</#foreach>\
</#if>\
summe,\
summe_ba\
FROM tmp_tabelle3\
ORDER BY sortnr,1,2,3;\
<#else>\
--Zeilen und Spalten gleich:\
select null::integer into temp tmp_tabelle3\
from xdummy;\
select * from tmp_tabelle3;\
</#if>^--Freemarker Template\
<sqlvars>\
<sqlvar name="jahr" type="hashsequence"><![CDATA[\
SELECT ord,name,'Jahr'::varchar(255) as dimcaption\
from aggregierung\
where kategorie='KENN-Jahr'\
/* and ord >= <<Jahr von>> */\
/* and ord <= <<Jahr bis>> */\
order by 1\
;\
]]>\
</sqlvar>\
<sqlvar name="hs_nr" type="hashsequence"><![CDATA[\
SELECT hs_nr as key,name,'Hochschule'::varchar(255) as dimcaption\
from kenn_hochschulen\
where hs_nr::char(10) in <@printkeys .vars["Hochschule"].allNeededKeys />\
and traegerschaft='ST'\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="fgr" type="hashsequence"><![CDATA[\
SELECT apnr as key,drucktext as name,'Fächergruppe'::varchar(255) as dimcaption\
from kenn_dim_fgr\
where fg_studierende is not null\
order by 2\
;\
]]>\
</sqlvar>\
<sqlvar name="abgrp" type="hashsequence"><![CDATA[\
SELECT 'BA'::char(1) as key,'Bachelor'::varchar(255) as name,\
'Abschlussart'::varchar(255) as dimcaption \
from xdummy\
union\
SELECT 'MA','Master',\
'Abschlussart'::varchar(255) as dimcaption from xdummy\
union\
SELECT 'ST','Staatsexamen',\
'Abschlussart'::varchar(255) as dimcaption from xdummy\
order by 1\
;\
]]>\
</sqlvar>\
</sqlvars>\
<#assign coldim=<<Spalten>> />\
<#assign colfieldname="<<Spalten>>" />\
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=2 heading_text=" Ebene " center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=30\
Column CID=2 heading_text=" Name " center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=30\
<#if coldim?has_content>\
<#foreach col in coldim>\
Column CID=3 heading_text=" ${col.dimcaption}\\000${col.name}" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=30\
</#foreach>\
</#if>\
Column CID=3 heading_text="Gesamt" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=30\
Column CID=3 heading_text="Darunter\\n\
Bildungsausl." center_heading row_selectable col_selectable heading_platform readonly\
width=10 text_size=30\
@@@^Studienfach^Anzahl bzw. Anteil^Studierende oder Absolvent_innen nach Hochschule, Fächergruppe, Gewichtung^drop table tmp_tabelle3;^studallg.dat^1^850^600^0^1^<<SQL>> select 'Bitte wählen Sie unterschiedliche Spalten/Zeilen' from xdummy where '<<Zeilen>>'='<<Spalten>>' union \
select 'Gewichtung mit folgenden Faktoren: Abschlüsse grundständiger Studiengänge ohne Staasexamen * 1 + Abschlüsse konsekutiver Master-Studiengänge * 0,5 + Abschlüsse Staatsexamen (inkl. Lehramt) * 1,5' from xdummy where '<<Gewichtung>>'='1'^

View File

@@ -0,0 +1 @@
0^32560^

View File

@@ -0,0 +1,24 @@
32581^Jahr von^1^300^-1^170^150^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
32583^Abschluss^14^0^0^100^200^5^char^30^0^13^<<SQL>> select astat, dtxt from kenn_abschl_astat where struktur_c='Abschluss (amtlich)' order by 2;^^^
32584^Gewichtung^100^0^0^100^10^1^integer^30^0^13^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^^<<SQL>> select 0,'Nein' from xdummy^
32587^Staatsangehörigkeit^11^0^0^100^120^1^sql^30^0^1^<<SQL>> --Freemarker Template\
<sqlvars>\
<sqlvar name="sos_staat_eu_exists">\
select sp_table_exists('sos_staat_eu') from xdummy;\
</sqlvar>\
</sqlvars>\
select 'A','Alle ohne Deutschland' from xdummy\
union select 'I','Deutsch' from xdummy \
<#if sos_staat_eu_exists==1>\
union select 'EU','EU-Ausländer' from xdummy union select 'NEU','Nicht-EU-Ausländer' from xdummy\
</#if>\
order by 2;^^^
32589^Hochschule^0^0^0^100^150^1^char^30^0^12^<<SQL>> select tid, type, name from sichten where art in('KENN-Kostenstellen-Sicht','KENN-Hochschulen-Sicht') order by sortnr, name;^^^
32591^Jahr bis^5^0^0^100^70^1^integer^30^0^1^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr'\
order by 1 desc^^<<SQL>> SELECT ord,name from aggregierung\
where kategorie='KENN-Jahr' and ord=year(today())-1^
32593^Geschlecht^13^300^-1^170^100^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM kenn_geschl order by 2^^^

View File

@@ -0,0 +1 @@
32580^109^

View File

@@ -0,0 +1,7 @@
32580^32581^
32580^32583^
32580^32584^
32580^32587^
32580^32589^
32580^32591^
32580^32593^

View File

@@ -0,0 +1,3 @@
32580^ZSL-Mittelverteilung (Gesamtbericht)^--Wenn Freemarker eingesetzt wird, muss der folgende Kommentar (case insensitive) irgendwo in der Abfrage stehen\
--Freemarker Template^--Freemarker Template^Studienfach^Anzahl bzw. Anteil^Studierende oder Absolvent_innen nach Hochschule, Fächergruppe, Gewichtung^ ^studallg.dat^1^850^600^0^1^<<SQL>> select 'Bitte wählen Sie unterschiedliche Spalten/Zeilen' from xdummy where '<<Zeilen>>'='<<Spalten>>' union \
select 'Gewichtung mit folgenden Faktoren: Abschlüsse grundständiger Studiengänge ohne Staasexamen * 1 + Abschlüsse konsekutiver Master-Studiengänge * 0,5 + Abschlüsse Staatsexamen (inkl. Lehramt) * 1,5' from xdummy where '<<Gewichtung>>'='1'^

View File

@@ -0,0 +1 @@
0^32580^

View File

@@ -0,0 +1,14 @@
#!/bin/bash
sx_auto_insert_mask 24570
sx_auto_insert_mask 24600
DOSQL kenn_zsl_ausgleich_kennungen_fuellen.sql
DOSQL makro_masken_fuellen.sql
DOSQL themenbaum_fuellen.sql
DOSQL sx_stylesheets_einfuegen.sql

View File

@@ -0,0 +1,451 @@
drop table if exists kenn_zsl_ausgleich_kennungen;
CREATE TABLE kenn_zsl_ausgleich_kennungen(
astat char (3),
studienart text,
kennung_stud_hs1 smallint,
kennung_stud_rsz2 smallint,
kennung_absolv smallint,
faktor float) ;
insert into kenn_zsl_ausgleich_kennungen (astat, studienart,kennung_stud_hs1,kennung_stud_rsz2,kennung_absolv, faktor) values
('101','Erststudium',1,1,1,1),
('102','Erststudium',1,1,1,1),
('103','Erststudium',1,0,0,0),
('104','Erststudium',1,1,1,1),
('105','Erststudium',1,1,1,1),
('107','Erststudium',1,0,0,0),
('108','Erststudium',1,1,1,1.5),
('109','Erststudium',1,1,1,1.5),
('110','Erststudium',1,1,1,1),
('111','Erststudium',1,1,1,1),
('112','Erststudium',1,1,1,1),
('113','Erststudium',1,1,1,1),
('114','Erststudium',1,1,1,1),
('115','Erststudium',1,1,1,1),
('116','Erststudium',1,1,1,1),
('117','Erststudium',1,1,1,1),
('118','Erststudium',1,1,1,1),
('119','Erststudium',1,1,1,1),
('120','Erststudium',1,1,1,1.5),
('121','Erststudium',1,1,1,1.5),
('122','Erststudium',1,1,1,1.5),
('123','Erststudium',1,1,1,1.5),
('124','Erststudium',1,1,1,1.5),
('125','Erststudium',1,1,1,1.5),
('126','Erststudium',1,1,1,1.5),
('127','Erststudium',1,1,1,1.5),
('128','Erststudium',1,1,1,1.5),
('129','Erststudium',1,1,1,1.5),
('131','Erststudium',1,1,1,1),
('132','Erststudium',1,1,1,1),
('133','Erststudium',1,1,1,1),
('134','Erststudium',1,1,1,1),
('135','Erststudium',1,1,1,1),
('136','Erststudium',1,1,1,1),
('137','Erststudium',1,1,1,1),
('138','Erststudium',1,1,1,1),
('139','Erststudium',1,1,1,1),
('140','Erststudium',1,1,1,1.5),
('141','Erststudium',1,1,1,1.5),
('142','Erststudium',1,1,1,1.5),
('143','Erststudium',1,1,1,1.5),
('144','Erststudium',1,1,1,1.5),
('145','Erststudium',1,1,1,1.5),
('146','Erststudium',1,1,1,1),
('147','Erststudium',1,1,1,1),
('148','Erststudium',1,1,1,1),
('151','Erststudium',1,1,1,1),
('153','Erststudium',1,1,1,1),
('154','Erststudium',1,1,1,1),
('156','Erststudium',1,1,1,1),
('159','Erststudium',1,0,0,0),
('168','Erststudium',1,1,1,1),
('170','Erststudium',1,1,1,1),
('171','Erststudium',1,0,0,0),
('172','Erststudium',1,0,0,0),
('173','Erststudium',1,0,0,0),
('174','Erststudium',1,1,1,1),
('175','Erststudium',1,1,1,1),
('177','Erststudium',1,1,1,1),
('179','Erststudium',1,0,0,0),
('180','Erststudium',1,1,1,1),
('181','Erststudium',1,1,1,1),
('182','Erststudium',1,1,1,1),
('183','Erststudium',1,1,1,1),
('184','Erststudium',1,1,1,1),
('186','Erststudium',1,0,0,0),
('187','Erststudium',1,0,0,0),
('193','Erststudium',1,1,1,1),
('194','Erststudium',1,0,0,0),
('195','Erststudium',1,0,0,0),
('196','Erststudium',1,0,0,0),
('198','Erststudium',1,1,1,1),
('201','Zweitstudium',1,1,1,1),
('202','Zweitstudium',1,1,1,1),
('203','Zweitstudium',1,0,0,0),
('204','Zweitstudium',1,1,1,1),
('205','Zweitstudium',1,1,1,1),
('208','Zweitstudium',1,1,1,1.5),
('209','Zweitstudium',1,1,1,1.5),
('210','Zweitstudium',1,1,1,1),
('211','Zweitstudium',1,1,1,1),
('212','Zweitstudium',1,1,1,1),
('213','Zweitstudium',1,1,1,1),
('214','Zweitstudium',1,1,1,1),
('215','Zweitstudium',1,1,1,1),
('216','Zweitstudium',1,1,1,1),
('218','Zweitstudium',1,1,1,1),
('219','Zweitstudium',1,1,1,1),
('220','Zweitstudium',1,1,1,1.5),
('221','Zweitstudium',1,1,1,1.5),
('222','Zweitstudium',1,1,1,1.5),
('223','Zweitstudium',1,1,1,1.5),
('224','Zweitstudium',1,1,1,1.5),
('225','Zweitstudium',1,1,1,1.5),
('226','Zweitstudium',1,1,1,1.5),
('227','Zweitstudium',1,1,1,1.5),
('228','Zweitstudium',1,1,1,1.5),
('229','Zweitstudium',1,1,1,1.5),
('230','Zweitstudium',1,1,1,0.5),
('231','Zweitstudium',1,1,1,1),
('232','Zweitstudium',1,1,1,1),
('233','Zweitstudium',1,1,1,1),
('234','Zweitstudium',1,1,1,1),
('235','Zweitstudium',1,1,1,1),
('236','Zweitstudium',1,1,1,1),
('237','Zweitstudium',1,1,1,1),
('238','Zweitstudium',1,1,1,1),
('239','Zweitstudium',1,1,1,1),
('240','Zweitstudium',1,1,1,1.5),
('241','Zweitstudium',1,1,1,1.5),
('242','Zweitstudium',1,1,1,1.5),
('243','Zweitstudium',1,1,1,1.5),
('244','Zweitstudium',1,1,1,1.5),
('245','Zweitstudium',1,1,1,1.5),
('246','Zweitstudium',1,1,1,1),
('247','Zweitstudium',1,1,1,1),
('248','Zweitstudium',1,1,1,1),
('249','Zweitstudium',1,1,1,0.5),
('250','Zweitstudium',1,1,1,0.5),
('251','Zweitstudium',1,1,1,1),
('252','Zweitstudium',1,1,1,0.5),
('253','Zweitstudium',1,1,1,1),
('254','Zweitstudium',1,1,1,1),
('255','Zweitstudium',1,1,1,0.5),
('256','Zweitstudium',1,1,1,1),
('257','Zweitstudium',1,1,1,0.5),
('258','Zweitstudium',1,1,1,0.5),
('259','Zweitstudium',1,0,0,0),
('260','Zweitstudium',1,1,1,0.5),
('261','Zweitstudium',1,1,1,0.5),
('262','Zweitstudium',1,1,1,0.5),
('263','Zweitstudium',1,1,1,0.5),
('264','Zweitstudium',1,1,1,0.5),
('265','Zweitstudium',1,1,1,0.5),
('266','Zweitstudium',1,1,1,0.5),
('267','Zweitstudium',1,1,1,0.5),
('268','Zweitstudium',1,1,1,1),
('269','Zweitstudium',1,1,1,0.5),
('270','Zweitstudium',1,1,1,1),
('271','Zweitstudium',1,0,0,0),
('272','Zweitstudium',1,0,0,0),
('273','Zweitstudium',1,0,0,0),
('274','Zweitstudium',1,1,1,1),
('275','Zweitstudium',1,1,1,1),
('276','Zweitstudium',1,0,0,0),
('277','Zweitstudium',1,1,1,1),
('278','Zweitstudium',1,1,1,0.5),
('279','Zweitstudium',1,0,0,0),
('280','Zweitstudium',1,1,1,1),
('281','Zweitstudium',1,1,1,1),
('282','Zweitstudium',1,1,1,1),
('283','Zweitstudium',1,1,1,1),
('284','Zweitstudium',1,1,1,1),
('288','Zweitstudium',1,1,1,0.5),
('289','Zweitstudium',1,1,1,0.5),
('290','Zweitstudium',1,1,1,0.5),
('293','Zweitstudium',1,1,1,1),
('294','Zweitstudium',1,0,0,0),
('295','Zweitstudium',1,0,0,0),
('296','Zweitstudium',1,0,0,0),
('298','Zweitstudium',1,1,1,1),
('299','Zweitstudium',1,1,1,0.5),
('301','Aufbaustudium',1,1,0,0),
('302','Aufbaustudium',1,1,0,0),
('303','Aufbaustudium',1,0,0,0),
('308','Aufbaustudium',1,1,0,0),
('311','Aufbaustudium',1,1,0,0),
('317','Aufbaustudium',1,1,0,0),
('323','Aufbaustudium',1,1,0,0),
('324','Aufbaustudium',1,1,0,0),
('325','Aufbaustudium',1,1,0,0),
('326','Aufbaustudium',1,1,0,0),
('329','Aufbaustudium',1,1,0,0),
('330','Aufbaustudium',1,1,1,0.5),
('331','Aufbaustudium',1,1,0,0),
('349','Aufbaustudium',1,1,1,0.5),
('350','Aufbaustudium',1,1,1,0.5),
('351','Aufbaustudium',1,1,0,0),
('352','Aufbaustudium',1,1,1,0.5),
('353','Aufbaustudium',1,1,0,0),
('354','Aufbaustudium',1,1,0,0),
('355','Aufbaustudium',1,1,1,0.5),
('357','Aufbaustudium',1,1,1,0.5),
('358','Aufbaustudium',1,1,1,0.5),
('359','Aufbaustudium',1,0,0,0),
('360','Aufbaustudium',1,1,1,0.5),
('361','Aufbaustudium',1,1,1,0.5),
('362','Aufbaustudium',1,1,1,0.5),
('363','Aufbaustudium',1,1,1,0.5),
('364','Aufbaustudium',1,1,1,0.5),
('365','Aufbaustudium',1,1,1,0.5),
('366','Aufbaustudium',1,1,1,0.5),
('367','Aufbaustudium',1,1,1,0.5),
('368','Aufbaustudium',1,1,0,0),
('369','Aufbaustudium',1,1,1,0.5),
('371','Aufbaustudium',1,0,0,0),
('372','Aufbaustudium',1,0,0,0),
('373','Aufbaustudium',1,0,0,0),
('375','Aufbaustudium',1,1,0,0),
('376','Aufbaustudium',1,0,0,0),
('378','Aufbaustudium',1,1,1,0.5),
('379','Aufbaustudium',1,0,0,0),
('380','Aufbaustudium',1,1,0,0),
('381','Aufbaustudium',1,1,0,0),
('388','Aufbaustudium',1,1,1,0.5),
('389','Aufbaustudium',1,1,1,0.5),
('390','Aufbaustudium',1,1,1,0.5),
('394','Aufbaustudium',1,0,0,0),
('395','Aufbaustudium',1,0,0,0),
('396','Aufbaustudium',1,0,0,0),
('399','Aufbaustudium',1,1,1,0.5),
('401','Zusatzstudium',1,1,0,0),
('402','Zusatzstudium',1,1,0,0),
('403','Zusatzstudium',1,0,0,0),
('405','Zusatzstudium',1,1,0,0),
('411','Zusatzstudium',1,1,0,0),
('412','Zusatzstudium',1,1,0,0),
('413','Zusatzstudium',1,1,0,0),
('415','Zusatzstudium',1,1,0,0),
('416','Zusatzstudium',1,1,0,0),
('418','Zusatzstudium',1,1,0,0),
('419','Zusatzstudium',1,1,0,0),
('420','Zusatzstudium',1,1,0,0),
('421','Zusatzstudium',1,1,0,0),
('422','Zusatzstudium',1,1,0,0),
('423','Zusatzstudium',1,1,0,0),
('424','Zusatzstudium',1,1,0,0),
('425','Zusatzstudium',1,1,0,0),
('426','Zusatzstudium',1,1,0,0),
('427','Zusatzstudium',1,1,0,0),
('428','Zusatzstudium',1,1,0,0),
('429','Zusatzstudium',1,1,0,0),
('430','Zusatzstudium',1,1,1,0.5),
('431','Zusatzstudium',1,1,0,0),
('432','Zusatzstudium',1,1,0,0),
('433','Zusatzstudium',1,1,0,0),
('434','Zusatzstudium',1,1,0,0),
('435','Zusatzstudium',1,1,0,0),
('436','Zusatzstudium',1,1,0,0),
('437','Zusatzstudium',1,1,0,0),
('438','Zusatzstudium',1,1,0,0),
('439','Zusatzstudium',1,1,0,0),
('440','Zusatzstudium',1,1,0,0),
('441','Zusatzstudium',1,1,0,0),
('442','Zusatzstudium',1,1,0,0),
('443','Zusatzstudium',1,1,0,0),
('444','Zusatzstudium',1,1,0,0),
('445','Zusatzstudium',1,1,0,0),
('446','Zusatzstudium',1,1,0,0),
('447','Zusatzstudium',1,1,0,0),
('448','Zusatzstudium',1,1,0,0),
('449','Zusatzstudium',1,1,1,0.5),
('450','Zusatzstudium',1,1,1,0.5),
('451','Zusatzstudium',1,1,0,0),
('452','Zusatzstudium',1,1,1,0.5),
('455','Zusatzstudium',1,1,1,0.5),
('457','Zusatzstudium',1,1,1,0.5),
('458','Zusatzstudium',1,1,1,0.5),
('459','Zusatzstudium',1,0,0,0),
('460','Zusatzstudium',1,1,1,0.5),
('461','Zusatzstudium',1,1,1,0.5),
('462','Zusatzstudium',1,1,1,0.5),
('463','Zusatzstudium',1,1,1,0.5),
('464','Zusatzstudium',1,1,1,0.5),
('465','Zusatzstudium',1,1,1,0.5),
('466','Zusatzstudium',1,1,1,0.5),
('467','Zusatzstudium',1,1,1,0.5),
('469','Zusatzstudium',1,1,1,0.5),
('472','Zusatzstudium',1,0,0,0),
('474','Zusatzstudium',1,1,0,0),
('475','Zusatzstudium',1,1,0,0),
('477','Zusatzstudium',1,1,0,0),
('478','Zusatzstudium',1,1,1,0.5),
('480','Zusatzstudium',1,1,0,0),
('482','Zusatzstudium',1,1,0,0),
('484','Zusatzstudium',1,1,0,0),
('488','Zusatzstudium',1,1,1,0.5),
('489','Zusatzstudium',1,1,1,0.5),
('490','Zusatzstudium',1,1,1,0.5),
('494','Zusatzstudium',1,0,0,0),
('495','Zusatzstudium',1,0,0,0),
('496','Zusatzstudium',1,0,0,0),
('498','Zusatzstudium',1,1,0,0),
('499','Zusatzstudium',1,1,1,0.5),
('506','Promotion',1,0,0,0),
('507','Promotionsstudium',1,0,0,0),
('591','Strukt. Promotionsstudium',1,0,0,0),
('592','Promotion nach Kurzstudium',1,0,0,0),
('596','Promotionsstudium',1,0,0,0),
('601','Weiterbildungsstudium',1,1,0,0),
('602','Weiterbildungsstudium',1,1,0,0),
('608','Weiterbildungsstudium',1,1,0,0),
('611','Weiterbildungsstudium',1,1,0,0),
('629','Weiterbildungsstudium',1,1,0,0),
('630','Weiterbildungsstudium',1,1,0,0),
('631','Weiterbildungsstudium',1,1,0,0),
('649','Weiterbildungsstudium',1,1,0,0),
('650','Weiterbildungsstudium',1,1,0,0),
('651','Weiterbildungsstudium',1,1,0,0),
('652','Weiterbildungsstudium',1,1,0,0),
('655','Weiterbildungsstudium',1,1,0,0),
('657','Weiterbildungsstudium',1,1,0,0),
('658','Weiterbildungsstudium',1,1,0,0),
('659','Weiterbildungsstudium',1,0,0,0),
('660','Weiterbildungsstudium',1,1,0,0),
('661','Weiterbildungsstudium',1,1,0,0),
('662','Weiterbildungsstudium',1,1,0,0),
('663','Weiterbildungsstudium',1,1,0,0),
('664','Weiterbildungsstudium',1,1,0,0),
('665','Weiterbildungsstudium',1,1,0,0),
('666','Weiterbildungsstudium',1,1,0,0),
('667','Weiterbildungsstudium',1,1,0,0),
('668','Weiterbildungsstudium',1,1,0,0),
('669','Weiterbildungsstudium',1,1,0,0),
('680','Weiterbildungsstudium',1,1,0,0),
('682','Weiterbildungsstudium',1,1,0,0),
('684','Weiterbildungsstudium',1,1,0,0),
('688','Weiterbildungsstudium',1,1,0,0),
('689','Weiterbildungsstudium',1,1,0,0),
('690','Weiterbildungsstudium',1,1,0,0),
('694','Weiterbildungsstudium',1,0,0,0),
('695','Weiterbildungsstudium',1,0,0,0),
('696','Weiterbildungsstudium',1,0,0,0),
('699','Weiterbildungsstudium',1,1,0,0),
('730','Konsekutives Masterstudium',1,1,1,0.5),
('749','Konsekutives Masterstudium',1,1,1,0.5),
('750','Konsekutives Masterstudium',1,1,1,0.5),
('752','Konsekutives Masterstudium',1,1,1,0.5),
('755','Konsekutives Masterstudium',1,1,1,0.5),
('757','Konsekutives Masterstudium',1,1,1,0.5),
('758','Konsekutives Masterstudium',1,1,1,0.5),
('760','Konsekutives Masterstudium',1,1,1,0.5),
('761','Konsekutives Masterstudium',1,1,1,0.5),
('762','Konsekutives Masterstudium',1,1,1,0.5),
('763','Konsekutives Masterstudium',1,1,1,0.5),
('764','Konsekutives Masterstudium',1,1,1,0.5),
('765','Konsekutives Masterstudium',1,1,1,0.5),
('766','Konsekutives Masterstudium',1,1,1,0.5),
('767','Konsekutives Masterstudium',1,1,1,0.5),
('769','Konsekutives Masterstudium',1,1,1,0.5),
('778','Konsekutives Masterstudium',1,1,1,0.5),
('788','Konsekutives Masterstudium',1,1,1,0.5),
('789','Konsekutives Masterstudium',1,1,1,0.5),
('790','Konsekutives Masterstudium',1,1,1,0.5),
('796','Konsekutives Masterstudium',1,0,0,0),
('799','Konsekutives Masterstudium',1,1,1,0.5),
('801','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('802','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('803','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('804','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('805','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('807','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('808','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('809','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('810','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('811','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('812','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('813','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('814','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('815','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('816','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('817','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('818','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('819','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('820','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('821','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('822','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('823','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('824','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('825','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('826','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('827','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('828','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('829','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('830','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('831','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('832','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('833','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('834','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('835','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('836','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('837','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('838','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('839','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('840','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('841','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('842','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('843','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('844','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('845','Weiterstudium, Prüfungswiederholung',1,1,1,1.5),
('846','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('847','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('848','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('849','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('850','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('851','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('852','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('853','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('854','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('855','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('856','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('857','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('858','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('859','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('860','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('861','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('862','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('863','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('864','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('865','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('866','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('867','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('868','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('869','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('870','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('871','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('872','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('873','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('874','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('875','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('876','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('877','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('878','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('879','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('880','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('881','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('882','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('883','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('884','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('888','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('889','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('890','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('893','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('894','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('895','Weiterstudium, Prüfungswiederholung',1,0,0,0),
('898','Weiterstudium, Prüfungswiederholung',1,1,1,1),
('899','Weiterstudium, Prüfungswiederholung',1,1,1,0.5),
('997','Kein Abschluss',1,0,0,0),
('401','Zusatzstudium',1,1,0,0),
('468','Zusatzstudium',1,1,1,1)
;

View File

@@ -0,0 +1,129 @@
--freemarker template
<#assign teiltabellen = [
{"maskeninfo_id1":"24600", "maskeninfo_id2":"24570","sortnr":"10"},
{"maskeninfo_id1":"24600", "maskeninfo_id2":"24570","sortnr":"20"},
{"maskeninfo_id1":"24600", "maskeninfo_id2":"24570","sortnr":"30"}
] />
<#assign teiltabellen_felder = [
{"macro":"24600", "sortnr":"10","feldname":"Ausgabetabelle","value":"stud_hs1"},
{"macro":"24600", "sortnr":"10","feldname":"Zeilen","value":"hs_nr"},
{"macro":"24600", "sortnr":"10","feldname":"Spalten","value":"fgr"},
{"macro":"24600", "sortnr":"20","feldname":"Ausgabetabelle","value":"stud_rsz2"},
{"macro":"24600", "sortnr":"20","feldname":"Zeilen","value":"hs_nr"},
{"macro":"24600", "sortnr":"20","feldname":"Spalten","value":"fgr"},
{"macro":"24600", "sortnr":"30","feldname":"Ausgabetabelle","value":"absolv"},
{"macro":"24600", "sortnr":"30","feldname":"Zeilen","value":"hs_nr"},
{"macro":"24600", "sortnr":"30","feldname":"Spalten","value":"fgr"},
{"macro":"24600", "sortnr":"30","feldname":"Gewichtung","value":"1"}
] />
CREATE temp TABLE tmp_macro_masken_bez (
maskeninfo_id1 integer NOT NULL,
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL
);
CREATE temp TABLE tmp_macro_feld_wert (
macro integer NOT NULL,
sortnr integer NOT NULL,
feldname character(255) NOT NULL,
alias character(255) NOT NULL,
value character(255),
value_caption character(255),
feldstand character(255),
feldsicht character(255),
active integer DEFAULT 1 NOT NULL
);
--Alte Version umhängen:
delete from macro_feld_wert where macro=32580;
delete from macro_masken_bez where maskeninfo_id1=32580;
<#foreach tab in teiltabellen>
insert into tmp_macro_masken_bez(maskeninfo_id1,
maskeninfo_id2,
active,
sortnr)
select ${tab.maskeninfo_id1},--maskeninfo_id1,
${tab.maskeninfo_id2},--maskeninfo_id2,
1,--active,
${tab.sortnr} --sortnr,
from xdummy;
</#foreach>
<#foreach feld in teiltabellen_felder>
insert into tmp_macro_feld_wert
( macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active)
SELECT ${feld.macro}, --macro
${feld.sortnr},--sortnr
'${feld.feldname}',--feldname,
'',--alias,
'${feld.value}', --value
'${feld.value}',--value_caption,
'', --feldstand,
'',--feldsicht,
1 --active
FROM xdummy;
</#foreach>
delete from macro_masken_bez where maskeninfo_id1 in (select maskeninfo_id1 from tmp_macro_masken_bez);
insert into macro_masken_bez
(maskeninfo_id1,
maskeninfo_id2,
active,
sortnr)
select maskeninfo_id1,
maskeninfo_id2,
active,
sortnr
FROM tmp_macro_masken_bez;
delete from macro_feld_wert where macro in (select macro from tmp_macro_feld_wert);
insert into macro_feld_wert
( macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active)
SELECT macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active
FROM tmp_macro_feld_wert;
drop table tmp_macro_feld_wert;
drop table tmp_macro_masken_bez;

View File

@@ -0,0 +1,168 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
{"mask":"24570", "filename":"tabelle_html_viz.xsl", "ord":"0"}
] />
<#assign stylesheet = [
] />
<#assign stylesheet_field = [
] />
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.
delete from sx_mask_style where maskeninfo_id=44070;
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql
<@sx_stylesheets_insert
m_masken=masken
m_stylesheet=stylesheet
m_stylesheet_field=stylesheet_field
/>
<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field>
--Sicherstellen, dass keine Duplikate vorkommen:
--####################################################################################################
<#foreach column in m_masken>
delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord};
</#foreach>
<#foreach column in m_stylesheet_field>
delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}');
</#foreach>
-- Stylesheets füllen
--####################################################################################################
create temp table tmp_stylesheets (
tid serial not null,
filename CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
relation CHAR(10) ,
useragent CHAR(255) ,
contenttype CHAR(200) ,
is_generic smallint
);
create temp table tmp_hilf (tid integer);
insert into tmp_hilf select max(tid) from sx_stylesheets;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet>
insert into tmp_stylesheets (tid,filename,caption,description,relation,contenttype,is_generic)
select max(tid)+${counter_tid},'${column.filename}',
'${column.caption}',
'${column.description}',
'${column.relation}',
'${column.contenttype}',
${column.is_generic}
from tmp_hilf;
<#assign counter_tid = counter_tid + 1 />
</#foreach>
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
update sx_stylesheets set is_generic=1
where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1);
</#if>
--delete für tml_stylesheets hinzugefügt #ak 06.03.2013
delete from tmp_stylesheets where filename in (select filename from sx_stylesheets);
insert into sx_stylesheets (tid,
filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
)
SELECT tid, filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
FROM tmp_stylesheets;
drop table tmp_stylesheets;
-- Mask Style füllen
--####################################################################################################
create temp table tmp_mask_style (
tid serial not null,
maskeninfo_id INTEGER ,
stylesheet_id INTEGER ,
ord SMALLINT,
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from sx_mask_style;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_masken>
insert into tmp_mask_style (tid,maskeninfo_id,ord,filename)
select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf;
update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord)
SELECT tid, maskeninfo_id, stylesheet_id, ord
FROM tmp_mask_style;
drop table tmp_mask_style;
--Field zu Stylesheet Zuordnungen:
--####################################################################################################
CREATE temp TABLE tmp_stylesheet_field
(
tid serial NOT NULL,
stylesheet_id INTEGER,
tablename char(255),
fieldname char(255),
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from stylesheet_field;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet_field>
INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname)
select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf;
update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname)
SELECT tid, stylesheet_id, tablename, fieldname
FROM tmp_stylesheet_field;
drop table tmp_stylesheet_field;
drop table tmp_hilf;
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_stylesheets');
select sp_update_sequence('sx_mask_style');
select sp_update_sequence('stylesheet_field');
</#if>
</#macro>

View File

@@ -0,0 +1,74 @@
--Alte Version umhängen:
delete from themenbaum where maskeninfo_id=32560 and name='ZSL-Mittelverteilung (Einzeltabelle)';
delete from themenbaum where maskeninfo_id=32580 and name='ZSL-Mittelverteilung (Gesamtbericht)';
select sp_update_sequence('themenbaum');
insert into themenbaum(name,
-- maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung,
sort,
css_class)
SELECT
'ZSL-Mittelverteilung' as name,
-- maskeninfo_id,
tid as parent,
gueltig_seit,
gueltig_bis,
erlaeuterung,
sort,
css_class
FROM themenbaum
where name='Grunddaten Studierende, Prüfungen'
-- name like '%ZSL%'
and 0=(select count(*) from themenbaum where name='ZSL-Mittelverteilung')
;
insert into themenbaum(name,
maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung,
sort,
css_class)
SELECT
'ZSL-Mittelverteilung (Einzelbericht)' as name,
24570 as maskeninfo_id,
tid as parent,
gueltig_seit,
gueltig_bis,
erlaeuterung,
sort,
css_class
FROM themenbaum
where name='ZSL-Mittelverteilung'
-- name like '%ZSL%'
and 0=(select count(*) from themenbaum where maskeninfo_id=24570)
;
insert into themenbaum(name,
maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung,
sort,
css_class)
SELECT
'ZSL-Mittelverteilung (Gesamtbericht)' as name,
24600 as maskeninfo_id,
tid as parent,
gueltig_seit,
gueltig_bis,
erlaeuterung,
sort,
css_class
FROM themenbaum
where name='ZSL-Mittelverteilung'
-- name like '%ZSL%'
and 0=(select count(*) from themenbaum where maskeninfo_id=24600)
;

View File

@@ -1,22 +1,19 @@
# Modul-Skeleton # Installationanleitung
#Vorausgesetzt wird dass das SuperX-KENN Modul Version 1.8 ober höher mit UTF-8 Codierung Modul installiert ist.
Nach dem Auschecken des Repository z.B. in /home/superx/git können Sie es wie folgt installieren: Nach dem Auschecken des Repository z.B. in /home/superx/git können Sie es wie folgt installieren:
#Installieren Sie ant, z.B. in /home/superx/tools cd KENN_BW_ZSL/2023_zsl_berichte/
wget https://dlcdn.apache.org/ant/binaries/apache-ant-1.10.12-bin.tar.gz sx_insert_mask 32560
#Ergänzen Sie die SQL_ENV um die Zeilen sx_insert_mask 32580
ANT_HOME=/home/superx/tools/apache-ant-1.10.12 DOSQL kenn_zsl_ausgleich_kennungen_fuellen.sql
export ANT_HOME
PATH=$PATH:$ANT_HOME/bin
export PATH
#Dann gehen Sie ins Verzeichnis DOSQL makro_masken_fuellen.sql
cd git/meinmodul DOSQL themenbaum_fuellen.sql
#und führen aus:
ant -DMODULE_PATH=$MEINMODUL_PFAD -DBASE_DIR=. -DWEBAPP=$WEBAPP -DMODULE=meinmodul all
Danach bitte Webanwendung Manager Cache leeren und neu anmelden. Der Menüpunkt lautet dann
Abfragen -> Grunddaten und Kennzahlen -> ZSL Mittelverteilung