Compare commits
No commits in common. 'master' and 'rpta_0.2_Release' have entirely different histories.
master
...
rpta_0.2_R
63 changed files with 764 additions and 4617 deletions
@ -1,84 +0,0 @@
@@ -1,84 +0,0 @@
|
||||
--freemarker Template |
||||
|
||||
<sqlvars> |
||||
<sqlvar name="lm_exam_unit_exists"> |
||||
select sp_table_exists('lm_exam_unit') from xdummy; |
||||
</sqlvar> |
||||
<sqlvar name="sos_lab_pord_exists"> |
||||
select sp_table_exists('sos_lab_pord') from xdummy; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
|
||||
<#if lm_exam_unit_exists=1 && sos_lab_pord_exists=1> |
||||
|
||||
truncate table rpta_exam_unit; |
||||
|
||||
insert into rpta_exam_unit (matrikel_nr, |
||||
labnr, |
||||
sourcesystem, |
||||
tid_stg, |
||||
sem_der_pruefung, |
||||
note, |
||||
fach_sem_zahl, |
||||
pstatus, |
||||
prueck, |
||||
pvermerk, |
||||
bonus, |
||||
pordnr, |
||||
part, |
||||
ppflicht, |
||||
modulart, |
||||
pktxt, |
||||
pdtxt, |
||||
pversuch, |
||||
elementnr, |
||||
summe) |
||||
SELECT |
||||
matrikel_nr, |
||||
labnr, |
||||
sourcesystem, |
||||
tid_stg, |
||||
sem_der_pruefung, |
||||
note, |
||||
fach_sem_zahl, |
||||
pstatus, |
||||
prueck, |
||||
pvermerk, |
||||
bonus, |
||||
pordnr, |
||||
part, |
||||
ppflicht, |
||||
modulart, |
||||
pktxt, |
||||
pdtxt, |
||||
pversuch, |
||||
elementnr, |
||||
summe |
||||
FROM lm_exam_unit |
||||
|
||||
UNION SELECT |
||||
matrikel_nr, |
||||
labnr, |
||||
sourcesystem, |
||||
tid_stg, |
||||
sem_der_pruefung, |
||||
note, |
||||
fach_sem_zahl, |
||||
pstatus, |
||||
prueck, |
||||
pvermerk, |
||||
bonus, |
||||
pordnr, |
||||
part, |
||||
ppflicht, |
||||
modulart, |
||||
pktxt, |
||||
pdtxt, |
||||
pversuch, |
||||
pnr::varchar(255) as elementnr, |
||||
summe |
||||
FROM sos_lab_pord |
||||
WHERE sourcesystem = 5 |
||||
; |
||||
|
||||
</#if> |
@ -1,7 +0,0 @@
@@ -1,7 +0,0 @@
|
||||
|
||||
select * from xdummy; |
||||
--bei Postgres in HIS1 laufen alle Scripte in Transaktionen, daher muss man |
||||
--für vacuum erst committen |
||||
commit; |
||||
vacuum rpta_exam_unit; |
||||
|
@ -1,13 +0,0 @@
@@ -1,13 +0,0 @@
|
||||
44630^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
44631^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^ |
||||
44632^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ |
||||
44645^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44190 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44190 order by ord limit 1^ |
||||
44647^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^ |
||||
44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> SELECT 0,'Dynamisch' from xdummy \ |
||||
union SELECT 1,'1-spaltig' from xdummy \ |
||||
union SELECT 2,'2-spaltig' from xdummy \ |
||||
union SELECT 3,'3-spaltig' from xdummy \ |
||||
union SELECT 4,'4-spaltig' from xdummy \ |
||||
order by 1;^ ^<<SQL>> SELECT 2,'2-spaltig' from xdummy;^ |
||||
44650^Kachelbreite^30^0^0^100^100^1^integer^5000^0^0^^^800^ |
||||
44653^Kachelhöhe^40^0^0^100^100^1^integer^5000^0^0^^^600^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
44630^320^ |
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
44630^44630^ |
||||
44630^44631^ |
||||
44630^44632^ |
||||
44630^44645^ |
||||
44630^44647^ |
||||
44630^44649^ |
||||
44630^44650^ |
||||
44630^44653^ |
@ -1,106 +0,0 @@
@@ -1,106 +0,0 @@
|
||||
44630^Dashboard Kopfzeile^--Freemarker Template\ |
||||
<#include "SQL_lingua_franca"/>\ |
||||
<#include "SuperX_general"/>\ |
||||
--\ |
||||
--Autor D. Quathamer 2024\ |
||||
<#assign jahr_filter="1=1" />\ |
||||
--Akad. Jahr 2022: WS + SS - Beispiel: WS 22/23 + SS 2023\ |
||||
<#if "<<Jahr>>" !="">\ |
||||
<#assign jahr_filter="(" />\ |
||||
<#assign jahr_filter=jahr_filter + "(substring('' || sem_rueck_beur_ein from 5 for 1)='2' and val(substring('' || sem_rueck_beur_ein from 1 for 4))=<<Jahr>>)" />\ |
||||
<#assign jahr_filter=jahr_filter + " or "/>\ |
||||
<#assign jahr_filter=jahr_filter + "(substring('' || sem_rueck_beur_ein from 5 for 1)='1' and (val(substring('' || sem_rueck_beur_ein from 1 for 4))-1)=<<Jahr>>)" />\ |
||||
<#assign jahr_filter=jahr_filter + ")" />\ |
||||
</#if>\ |
||||
\ |
||||
<#assign filter="1=1\ |
||||
/* and sem_rueck_beur_ein = <<Bis Semester>> */\ |
||||
" />\ |
||||
\ |
||||
<#assign filter= filter + " and " + jahr_filter />\ |
||||
\ |
||||
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ |
||||
\ |
||||
create temp table tmp_erg(\ |
||||
ord integer,\ |
||||
kennz varchar(255),\ |
||||
wert integer,\ |
||||
link_maskeninfo_id integer\ |
||||
);\ |
||||
\ |
||||
insert into tmp_erg(ord,kennz,wert)\ |
||||
select 1,'Bewerbungen',sum(summe)\ |
||||
from zul_antr_aggr A\ |
||||
where A.bewsem=<<Bis Semester>>\ |
||||
and A.stg in (select L.stg from lehr_stg_ab L where 's_' || L.tid in <@printkeys Studiengang.allNeededKeysList/>)\ |
||||
and A.abschl in (select L.abschluss from lehr_stg_ab L where 's_' || L.tid in <@printkeys Studiengang.allNeededKeysList/>)\ |
||||
group by 1,2;\ |
||||
\ |
||||
\ |
||||
insert into tmp_erg(ord,kennz,wert)\ |
||||
select 10,'Studienanfänger*innen im 1. HS',sum(summe)\ |
||||
from sos_stg_aggr S, sos_stichtag I\ |
||||
where ${filter}\ |
||||
and S.studiengang_nr=1\ |
||||
and S.fach_nr=1\ |
||||
and S.stichtag=I.tid\ |
||||
and I.appl_key='0'\ |
||||
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\ |
||||
and S.hssem=1\ |
||||
group by 1,2;\ |
||||
\ |
||||
\ |
||||
insert into tmp_erg(ord,kennz,wert)\ |
||||
select 20,'Studierende gesamt',sum(summe)\ |
||||
from sos_stg_aggr S, sos_stichtag I\ |
||||
where ${filter}\ |
||||
and S.studiengang_nr=1\ |
||||
and S.fach_nr=1\ |
||||
and S.stichtag=I.tid\ |
||||
and I.appl_key='0'\ |
||||
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\ |
||||
group by 1,2;\ |
||||
\ |
||||
\ |
||||
insert into tmp_erg(ord,kennz,wert)\ |
||||
select 30,'Studierende im Lehramt',sum(summe)\ |
||||
from sos_stg_aggr S, sos_stichtag I, dim_studiengang D\ |
||||
where ${filter}\ |
||||
and S.studiengang_nr=1\ |
||||
and S.fach_nr=1\ |
||||
and S.stichtag=I.tid\ |
||||
and D.tid=S.tid_stg\ |
||||
and D.ist_lehramt=1\ |
||||
and I.appl_key='0'\ |
||||
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\ |
||||
group by 1,2;\ |
||||
\ |
||||
insert into tmp_erg(ord,kennz,wert)\ |
||||
select 30,'Absolvent*innen',sum(summe)\ |
||||
from sos_lab_aggr S, sos_stichtag I, dim_studiengang D\ |
||||
where S.sem_der_pruefung=<<Bis Semester>>\ |
||||
and S.studiengang_nr=1\ |
||||
and S.fach_nr=1\ |
||||
and S.stichtag=I.tid\ |
||||
and D.tid=S.tid_stg\ |
||||
and I.appl_key='2'\ |
||||
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\ |
||||
group by 1,2;\ |
||||
\ |
||||
select kennz,wert,link_maskeninfo_id\ |
||||
from tmp_erg\ |
||||
order by ord;^XIL List\ |
||||
sizable_columns horizontal_scrolling\ |
||||
white_space_color=COLOR_WHITE fixed_columns=1\ |
||||
drop_and_delete movable_columns\ |
||||
min_heading_height=55\ |
||||
Column CID=0 heading_text="Kennzahl" explanation="" center_heading\ |
||||
row_selectable heading_platform readonly\ |
||||
width=10\ |
||||
Column CID=0 heading_text="Wert" explanation="" center_heading\ |
||||
row_selectable heading_platform readonly\ |
||||
width=30\ |
||||
Column CID=0 heading_text="Maske" explanation="" center_heading\ |
||||
row_selectable heading_platform readonly\ |
||||
width=30\ |
||||
@@@^ ^ ^Dashboard Inistialisierung^drop table tmp_erg;^^3^700^360^0^1^^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
320^44630^ |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
45000^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\ |
||||
and R.systeminfo_id=7)\ |
||||
order by sortnr, caption\ |
||||
;^^<<SQL>>SELECT tid,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\ |
||||
and R.systeminfo_id=7)\ |
||||
order by sortnr, caption\ |
||||
;^ |
||||
45001^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
45002^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ |
||||
45003^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ |
||||
45004^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ |
||||
45006^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^ |
||||
45007^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
45008^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ |
||||
45009^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^ |
||||
45011^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ |
||||
45012^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ |
||||
45018^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^ |
||||
45022^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
45000^7^ |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
45000^45000^ |
||||
45000^45001^ |
||||
45000^45002^ |
||||
45000^45003^ |
||||
45000^45004^ |
||||
45000^45006^ |
||||
45000^45007^ |
||||
45000^45008^ |
||||
45000^45009^ |
||||
45000^45011^ |
||||
45000^45012^ |
||||
45000^45018^ |
||||
45000^45022^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
16^45000^ |
@ -1,8 +1,8 @@
@@ -1,8 +1,8 @@
|
||||
48040^Benutzer/in^50^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,nvl(name,benutzer) from userinfo order by 2;^hidden^^ |
||||
48041^Spaltenlayout^10^0^0^150^80^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_layout where 1=1 /* and resultset_id=<<Virtuelle Tabelle>> */ order by 2;^^^ |
||||
48042^Spaltenlayouts verwalten^110^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_column_layout_list.jsp' from xdummy;^ |
||||
48043^Stichwort^20^0^0^150^150^1^sql^50^0^0^^^^ |
||||
48044^Komponente^1^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,name from systeminfo order by 2;^ ^^ |
||||
48045^Virtuelle Tabellen bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_resultset_list.jsp' from xdummy;^ |
||||
48046^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^ |
||||
48047^Spaltentyp^200^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_type order by 2;^^ ^ |
||||
45040^Benutzer/in^50^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,nvl(name,benutzer) from userinfo order by 2;^hidden^^ |
||||
45041^Spaltenlayout^10^0^0^150^80^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_layout where 1=1 /* and resultset_id=<<Virtuelle Tabelle>> */ order by 2;^^^ |
||||
45042^Spaltenlayouts verwalten^110^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_column_layout_list.jsp' from xdummy;^ |
||||
45043^Stichwort^20^0^0^150^150^1^sql^50^0^0^^^^ |
||||
45044^Komponente^1^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,name from systeminfo order by 2;^ ^^ |
||||
45045^Virtuelle Tabellen bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_resultset_list.jsp' from xdummy;^ |
||||
45046^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^ |
||||
45047^Spaltentyp^200^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_type order by 2;^^ ^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
45040^330^ |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
45040^45040^ |
||||
45040^45041^ |
||||
45040^45042^ |
||||
45040^45043^ |
||||
45040^45044^ |
||||
45040^45045^ |
||||
45040^45046^ |
||||
45040^45047^ |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
48040^Spalten und Spaltenlayouts verwalten^--Autor: D. Quathamer\ |
||||
45040^Spalten und Spaltenlayouts verwalten^--Autor: D. Quathamer\ |
||||
--Datum: 15.3.2024\ |
||||
--freemarker template\ |
||||
create temp table tmp_rpta_column (\ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
331^45040^ |
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
48000^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\ |
||||
and R.systeminfo_id=7)\ |
||||
order by sortnr, caption\ |
||||
;^^<<SQL>>SELECT uniquename,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\ |
||||
and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^ |
||||
48001^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
48002^Fächer^30^0^0^130^200^6^integer^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ |
||||
48003^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ |
||||
48004^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ |
||||
48005^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^ |
||||
48006^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^ |
||||
48007^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
48008^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ |
||||
48009^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^ |
||||
48010^Semester^100^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^hidden^ ^ |
||||
48011^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ |
||||
48012^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^ ^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ |
||||
48013^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ |
||||
48018^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^ |
||||
48022^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^ |
||||
48023^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\ |
||||
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\ |
||||
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^^^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
48000^7^ |
@ -1,17 +0,0 @@
@@ -1,17 +0,0 @@
|
||||
48000^48000^ |
||||
48000^48001^ |
||||
48000^48002^ |
||||
48000^48003^ |
||||
48000^48004^ |
||||
48000^48005^ |
||||
48000^48006^ |
||||
48000^48007^ |
||||
48000^48008^ |
||||
48000^48009^ |
||||
48000^48010^ |
||||
48000^48011^ |
||||
48000^48012^ |
||||
48000^48013^ |
||||
48000^48018^ |
||||
48000^48022^ |
||||
48000^48023^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
16^48000^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
48040^330^ |
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
48040^48040^ |
||||
48040^48041^ |
||||
48040^48042^ |
||||
48040^48043^ |
||||
48040^48044^ |
||||
48040^48045^ |
||||
48040^48046^ |
||||
48040^48047^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
331^48040^ |
@ -1,35 +0,0 @@
@@ -1,35 +0,0 @@
|
||||
48080^Institution (Stelle)^1^0^0^150^150^0^char^30^0^12^<<SQL>>select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Besch./Kostenstellen-Sicht','SVA-spez-Kostenstellen-Sicht') and aktiv=1 order by sortnr,type,name;^^^ |
||||
48081^Datum^0^350^-1^150^80^1^date^10^1^0^^^<<SQL>> select today() from xdummy^ |
||||
48082^Stellenkategorie^2^0^0^150^150^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Kategorie' and aktiv=1 order by type,name;^hidden^^ |
||||
48083^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\ |
||||
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\ |
||||
(select tid from rpta_column_layout where tid=<<Spaltenlayout>>) order by 2;^^^ |
||||
48084^Lehreinheit (Stelle)^4^0^0^150^150^1^char^4^0^12^<<SQL>> select tid,type,name from sichten where art ='SVA-Lehreinheiten-Sicht' and aktiv=1 order by type,name;^hidden^^ |
||||
48085^Stellen-Nr.^50^350^-1^150^80^1^integer^10^0^0^^^^ |
||||
48086^Amtsbezeichnung^55^0^0^150^160^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Amtsdienstbez.' and aktiv=1 order by type,name;^hidden^^ |
||||
48087^Beschäftigungsstelle (Person)^65^0^0^150^150^1^char^30^0^12^<<SQL>>select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Besch./Kostenstellen-Sicht') and aktiv=1 order by sortnr,type,name;^hidden^^ |
||||
48088^Kostenstelle (Person)^70^350^-1^150^150^1^char^30^0^12^<<SQL>> select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Kostenstellen-Sicht','SVA-Kst-spezial') and aktiv=1 order by sortnr,type,name;^hidden^^ |
||||
48089^Haushaltsvermerk^60^350^-1^150^200^3^char^4^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA HHV' and aktiv=1 order by type,name;^hidden^^ |
||||
48090^Spaltenlayout^3000^350^-1^140^180^1^integer^50^1^1^<<SQL>>SELECT tid,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sva_pbe_aggr_sgd'\ |
||||
and R.systeminfo_id=6)\ |
||||
order by sortnr, caption\ |
||||
;^^<<SQL>>SELECT tid,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sva_pbe_aggr_sgd'\ |
||||
and R.systeminfo_id=6)\ |
||||
order by sortnr, caption\ |
||||
limit 1 \ |
||||
;^ |
||||
48091^Filter Stellen^120^350^-1^150^150^1^sql^20^0^1^<<SQL>> select id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SVA_STELL_FILTER' order by 2;^hidden^^ |
||||
48092^Dienstart^3^350^-1^150^150^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Dienstart' and aktiv=1 order by type,name;^hidden^^ |
||||
48093^BVL-Gruppe (Stelle)^74^0^0^150^120^10^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA BVL-Gruppen' and aktiv=1 order by type,name;^hidden^^ |
||||
48094^BVL-Gruppe (Person)^80^350^-1^150^120^10^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA BVL-Gruppen' and aktiv=1 order by type,name;^hidden^^ |
||||
48095^Filter Besetzung^130^0^0^150^150^1^sql^20^0^1^<<SQL>> select id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SVA_BESETZ_FILTER' order by 2;^hidden^^ |
||||
48096^Finanzierungsquelle^302^0^0^100^200^3^char^30^0^1^<<SQL>> select id,caption from sx_repository where art='SVA_FINANZIERUNGSQUELLE' and aktiv=1 and gueltig_seit<=date_val(<<Datum>>) and gueltig_bis>=date_val(<<Datum>>) order by sort1^hidden^^ |
||||
48097^Personalkategorie^310^0^0^100^200^3^char^30^0^1^<<SQL>> select id,caption from sx_repository where art='SVA_PERSONALKATEGORIE' and aktiv=1 and gueltig_seit<=date_val(<<Datum>>) and gueltig_bis>=date_val(<<Datum>>) order by sort1^hidden^^ |
||||
48098^Stellenanzeige^1000^0^0^100^200^1^char^20^0^1^<<SQL>> select 'besetzt','nur besetzte' from xdummy union select 'frei','nur freie' from xdummy^hidden^^ |
||||
48099^Stellen-Nr. im HHPlan^52^350^-1^150^80^1^char^25^0^0^^^^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
48080^6^ |
@ -1,20 +0,0 @@
@@ -1,20 +0,0 @@
|
||||
48080^48080^ |
||||
48080^48081^ |
||||
48080^48082^ |
||||
48080^48083^ |
||||
48080^48084^ |
||||
48080^48085^ |
||||
48080^48086^ |
||||
48080^48087^ |
||||
48080^48088^ |
||||
48080^48089^ |
||||
48080^48090^ |
||||
48080^48091^ |
||||
48080^48092^ |
||||
48080^48093^ |
||||
48080^48094^ |
||||
48080^48095^ |
||||
48080^48096^ |
||||
48080^48097^ |
||||
48080^48098^ |
||||
48080^48099^ |
@ -1,210 +0,0 @@
@@ -1,210 +0,0 @@
|
||||
48080^Stellenbesetzung und Beschäftigung (Liste)^--Freemarker Template\ |
||||
<#include "SQL_lingua_franca"/>\ |
||||
<#include "SuperX_general"/>\ |
||||
--\ |
||||
--Autor D. Quathamer 2024\ |
||||
<sqlvars>\ |
||||
<sqlvar name="basetable" type="hash"><![CDATA[\ |
||||
<#assign my_base_rs='sva_pbe_aggr_sgd' />\ |
||||
SELECT distinct name,\ |
||||
0::smallint as is_virtual,\ |
||||
name as runtime_tablename\ |
||||
from sx_tables\ |
||||
where name in ('${my_base_rs}')\ |
||||
and 0=(select count(*) from rpta_resultset R where R.uniquename='${my_base_rs}')\ |
||||
union\ |
||||
select R.uniquename,\ |
||||
1::smallint as is_virtual,\ |
||||
'tmp_' || R.uniquename as runtime_tablename\ |
||||
from rpta_resultset R where R.uniquename='${my_base_rs}'\ |
||||
;\ |
||||
]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="rpta_resultset" type="hash"><![CDATA[\ |
||||
select caption,\ |
||||
uniquename,\ |
||||
fieldclause,\ |
||||
joinclause,\ |
||||
whereclause,\ |
||||
systeminfo_id\ |
||||
from rpta_resultset\ |
||||
where uniquename='${basetable.name}';\ |
||||
\ |
||||
]]></sqlvar>\ |
||||
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\ |
||||
select L.uniquename,\ |
||||
L.caption,\ |
||||
L.whereclause\ |
||||
from rpta_resultset R, rpta_column_layout L\ |
||||
where L.resultset_id=R.tid\ |
||||
and R.uniquename='${basetable.name}'\ |
||||
and L.tid=<<Spaltenlayout>>;\ |
||||
\ |
||||
]]></sqlvar>\ |
||||
<sqlvar name="columns" type="hashsequence"><![CDATA[\ |
||||
SELECT C.srcfieldname,\ |
||||
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\ |
||||
T.uniquename as coltype,\ |
||||
C.is_aggregate,\ |
||||
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\ |
||||
CL.is_visible,\ |
||||
CL.visible_size as visible_width,\ |
||||
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\ |
||||
C.col_function as colfunction,\ |
||||
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\ |
||||
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\ |
||||
where L.tid=CL.layout_id\ |
||||
and C.tid=CL.column_id\ |
||||
and T.tid=C.column_type\ |
||||
and L.tid=<<Spaltenlayout>>\ |
||||
/* and C.uniquename in (<<Spalten>>) */\ |
||||
order by CL.sortnr\ |
||||
;\ |
||||
]]></sqlvar>\ |
||||
</sqlvars>\ |
||||
\ |
||||
<#assign filter="sva_sgd_aggr.d_gueltig_anfang <= date_val(<<Datum>>) \ |
||||
and sva_sgd_aggr.d_gueltig_ende >= date_val(<<Datum>>)\ |
||||
\ |
||||
/* and sva_sgd_aggr.ca115_haushverm in <@printkeys .vars["Haushaltsvermerk"].allNeededKeys /> -- <<Haushaltsvermerk>> */\ |
||||
/* and sva_sgd_aggr.ca107_dienstart in <@printkeys .vars["Dienstart"].allNeededKeys /> --<<Dienstart>>= */\ |
||||
/* and sva_sgd_aggr.ca259_kategorie in <@printkeys .vars["Stellenkategorie"].allNeededKeys /> -- <<Stellenkategorie>> */\ |
||||
/* and sva_sgd_aggr.ca108_amtsbez in <@printkeys .vars["Amtsbezeichnung"].allNeededKeys /> -- <<Amtsbezeichnung>> */\ |
||||
/* and sva_sgd_aggr.lehreinheit in <@printkeys .vars["Lehreinheit (Stelle)"].allNeededKeys /> -- <<Lehreinheit (Stelle)>> */\ |
||||
/* and sva_sgd_aggr.ca109_key_bvl in <@printkeys .vars["BVL-Gruppe (Stelle)"].allNeededKeys /> --<<BVL-Gruppe (Stelle)>>*/\ |
||||
/* and sva_sgd_aggr.stellen_nr=<<Stellen-Nr.>> */\ |
||||
/* and ${<<Filter Stellen>>} */\ |
||||
" />\ |
||||
\ |
||||
<#if "<<Stellen-Nr. im HHPlan>>"!="">\ |
||||
<#assign hn="<<Stellen-Nr. im HHPlan>>"?replace("'","")/>\ |
||||
<#assign filter = filter + "and sva_sgd_aggr.haushalt_nr like '"+hn+"%'" />\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
\ |
||||
<#assign filter = filter + " and sva_sgd_aggr.ch110_besch_st in "+.vars["Institution (Stelle)"].allNeededKeysList /> \ |
||||
\ |
||||
<#if columns?has_content>\ |
||||
\ |
||||
<#if basetable.is_virtual==1>\ |
||||
\ |
||||
create temp table ${basetable.runtime_tablename} as\ |
||||
select ${rpta_resultset.fieldclause} \ |
||||
from ${rpta_resultset.joinclause} \ |
||||
where 1=1\ |
||||
<#if rpta_resultset.whereclause != ""> \ |
||||
${rpta_resultset.whereclause} </#if>\ |
||||
and ${filter}\ |
||||
;\ |
||||
</#if>\ |
||||
\ |
||||
--Daten außerhalb des Berichtszeitraums entfernen:\ |
||||
delete from ${basetable.runtime_tablename}\ |
||||
where sva_pbe_aggr_d_besetz_anfang > date_val(<<Datum>>)\ |
||||
or sva_pbe_aggr_d_besetz_ende < date_val(<<Datum>>);\ |
||||
\ |
||||
select \ |
||||
--zuerst die Basisdaten:\ |
||||
<#foreach column in columns>\ |
||||
<#if column.coltype="physicalColumn">\ |
||||
${column.srcfieldname},\ |
||||
<#elseif column.coltype="logicalColumn">\ |
||||
${column.colfunction} as ${column.targetfieldname},\ |
||||
<#elseif column.coltype="lookupColumn">\ |
||||
(${column.colfunction}) as ${column.targetfieldname},\ |
||||
<#elseif column.coltype="computedColumn">\ |
||||
null::decimal(19,6) as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_stud\ |
||||
from ${basetable.runtime_tablename}\ |
||||
<#if rpta_column_layout.whereclause !="">\ |
||||
where ${rpta_column_layout.whereclause}\ |
||||
</#if>\ |
||||
;\ |
||||
\ |
||||
\ |
||||
--ergebnistabelle:\ |
||||
select \ |
||||
--zuerst die nicht-Aggregate:\ |
||||
<#assign groupby=0 />\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_aggregate==0>\ |
||||
<#assign groupby=groupby+1 />\ |
||||
${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
--dann die Aggregate:\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\ |
||||
sum(${column.targetfieldname}) as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_stud2\ |
||||
from tmp_stud\ |
||||
where 1=1\ |
||||
/* ${<<Zusatzfilter>>} */\ |
||||
group by\ |
||||
<#list 1..groupby as i>${i}\ |
||||
<#if i != groupby>\ |
||||
,\ |
||||
</#if>\ |
||||
</#list>\ |
||||
;\ |
||||
\ |
||||
<#assign number_of_visible_colums=0 />\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
<#assign number_of_visible_colums=number_of_visible_colums+1 />\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
<#assign colnr=0 />\ |
||||
select \ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
<#assign colnr=colnr+1 />\ |
||||
<#assign format_sql="" />\ |
||||
<#if column.format_sql?string != "">\ |
||||
<#assign format_sql=column.format_sql />\ |
||||
</#if>\ |
||||
\ |
||||
<#if column.coltype=="computedColumn">\ |
||||
(${column.colfunction})${format_sql} as ${column.targetfieldname}\ |
||||
<#else>\ |
||||
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\ |
||||
</#if>\ |
||||
\ |
||||
<#if colnr < number_of_visible_colums>,</#if>\ |
||||
</#if> --wenn sichtbar\ |
||||
</#foreach>\ |
||||
from tmp_stud2\ |
||||
order by <#list 1..number_of_visible_colums as i>${i}\ |
||||
<#if i != number_of_visible_colums>\ |
||||
,\ |
||||
</#if>\ |
||||
</#list>\ |
||||
;\ |
||||
<#if basetable.is_virtual==1>\ |
||||
drop table if exists ${basetable.runtime_tablename};\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
drop table if exists tmp_stud;\ |
||||
\ |
||||
</#if> --wenn columns?has_content^--Freemarker Template\ |
||||
XIL List\ |
||||
sizable_columns horizontal_scrolling\ |
||||
drop_and_delete movable_columns \ |
||||
white_space_color=COLOR_WHITE fixed_columns=1\ |
||||
min_heading_height=55\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\ |
||||
row_selectable heading_platform readonly\ |
||||
width=${column.visible_width} text_size=60\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
@@@^^^Informationen über Stellen und deren Besetzung zu einem bel. Zeitpunkt^drop table tmp_stud2;^^2^700^500^^1^<<SQL>> select 'Achtung: Das Datum des Buttons Institution bzw OrgEinheit (Stelle) unterscheidet sich vom ausgewählten Datum im Maskenfeld.' from xdummy where <<Institution (Stelle)-Stand>> != date_val(<<Datum>>)^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
100^48080^ |
@ -1,28 +0,0 @@
@@ -1,28 +0,0 @@
|
||||
48110^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_exam_unit_dim_studiengang'\ |
||||
)\ |
||||
order by sortnr, caption\ |
||||
;^ ^<<SQL>>SELECT uniquename,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_exam_unit_dim_studiengang'\ |
||||
) and uniquename='rpta_exam_unit_dim_studiengang_note';^ |
||||
48111^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
48112^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ |
||||
48113^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ |
||||
48114^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ |
||||
48115^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^ |
||||
48116^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^ |
||||
48117^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
48118^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ |
||||
48119^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,-1000 from sichten where name_intern ='sos_kst_fb_stgabint'\ |
||||
union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^ |
||||
48121^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ |
||||
48122^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ |
||||
48128^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^ |
||||
48132^Geschlecht^110^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^ |
||||
48133^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\ |
||||
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\ |
||||
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
48110^7^ |
@ -1,15 +0,0 @@
@@ -1,15 +0,0 @@
|
||||
48110^48110^ |
||||
48110^48111^ |
||||
48110^48112^ |
||||
48110^48113^ |
||||
48110^48114^ |
||||
48110^48115^ |
||||
48110^48116^ |
||||
48110^48117^ |
||||
48110^48118^ |
||||
48110^48119^ |
||||
48110^48121^ |
||||
48110^48122^ |
||||
48110^48128^ |
||||
48110^48132^ |
||||
48110^48133^ |
@ -1,216 +0,0 @@
@@ -1,216 +0,0 @@
|
||||
48110^Leistungen und Studiengänge^--Freemarker Template\ |
||||
<#include "SQL_lingua_franca"/>\ |
||||
<#include "SuperX_general"/>\ |
||||
--\ |
||||
--Autor D. Quathamer 2024\ |
||||
<sqlvars>\ |
||||
<sqlvar name="basetable" type="hash"><![CDATA[\ |
||||
<#assign my_base_rs='rpta_exam_unit_dim_studiengang' />\ |
||||
SELECT distinct name,\ |
||||
0::smallint as is_virtual,\ |
||||
name as runtime_tablename\ |
||||
from sx_tables\ |
||||
where name in ('${my_base_rs}')\ |
||||
and 0=(select count(*) from rpta_resultset R where R.uniquename='${my_base_rs}')\ |
||||
union\ |
||||
select R.uniquename,\ |
||||
1::smallint as is_virtual,\ |
||||
'tmp_' || R.uniquename as runtime_tablename\ |
||||
from rpta_resultset R where R.uniquename='${my_base_rs}'\ |
||||
;\ |
||||
]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="rpta_resultset" type="hash"><![CDATA[\ |
||||
select caption,\ |
||||
uniquename,\ |
||||
fieldclause,\ |
||||
joinclause,\ |
||||
whereclause,\ |
||||
systeminfo_id\ |
||||
from rpta_resultset\ |
||||
where uniquename='${basetable.name}';\ |
||||
\ |
||||
]]></sqlvar>\ |
||||
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\ |
||||
select L.uniquename,\ |
||||
L.caption,\ |
||||
L.whereclause\ |
||||
from rpta_resultset R, rpta_column_layout L\ |
||||
where L.resultset_id=R.tid\ |
||||
and R.uniquename='${basetable.name}'\ |
||||
and L.uniquename=<<Spaltenlayout>>;\ |
||||
\ |
||||
]]></sqlvar>\ |
||||
<sqlvar name="columns" type="hashsequence"><![CDATA[\ |
||||
SELECT C.srcfieldname,\ |
||||
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\ |
||||
T.uniquename as coltype,\ |
||||
C.is_aggregate,\ |
||||
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\ |
||||
CL.is_visible,\ |
||||
CL.visible_size as visible_width,\ |
||||
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\ |
||||
C.col_function as colfunction,\ |
||||
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\ |
||||
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\ |
||||
where L.tid=CL.layout_id\ |
||||
and C.tid=CL.column_id\ |
||||
and T.tid=C.column_type\ |
||||
and L.uniquename=<<Spaltenlayout>>\ |
||||
/* and C.uniquename in (<<Spalten>>) */\ |
||||
order by CL.sortnr\ |
||||
;\ |
||||
]]></sqlvar>\ |
||||
</sqlvars>\ |
||||
\ |
||||
<#assign filter="1=1\ |
||||
/* and sem_der_pruefung >= <<Seit Semester>> */\ |
||||
/* and sem_der_pruefung <= <<Bis Semester>> */\ |
||||
/* and sem_der_pruefung = <<Semester>> */\ |
||||
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\ |
||||
/* and fach_sem_zahl <= <<bis Fachsemester>> */\ |
||||
" />\ |
||||
\ |
||||
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ |
||||
<#assign filter = filter + " and tid_stg in (select tid from lehr_stg_ab where stg in "+Fächer.allNeededKeysList +")"/> \ |
||||
\ |
||||
<#if columns?has_content>\ |
||||
\ |
||||
<#if basetable.is_virtual==1>\ |
||||
\ |
||||
create temp table ${basetable.runtime_tablename} as\ |
||||
select ${rpta_resultset.fieldclause} \ |
||||
from ${rpta_resultset.joinclause} \ |
||||
where 1=1\ |
||||
<#if rpta_resultset.whereclause != ""> \ |
||||
${rpta_resultset.whereclause} </#if>\ |
||||
and ${filter}\ |
||||
;\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
\ |
||||
select \ |
||||
--zuerst die Basisdaten:\ |
||||
<#foreach column in columns>\ |
||||
<#if column.coltype="physicalColumn">\ |
||||
${column.srcfieldname} as ${column.srcfieldname},\ |
||||
<#elseif column.coltype="logicalColumn">\ |
||||
${column.colfunction} as ${column.targetfieldname},\ |
||||
<#elseif column.coltype="lookupColumn">\ |
||||
(${column.colfunction}) as ${column.targetfieldname},\ |
||||
<#elseif column.coltype="computedColumn" || column.coltype=="processingColumn">\ |
||||
null::decimal(19,6) as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_stud\ |
||||
from ${basetable.runtime_tablename}\ |
||||
<#if rpta_column_layout.whereclause !="">\ |
||||
where ${rpta_column_layout.whereclause}\ |
||||
</#if>\ |
||||
;\ |
||||
\ |
||||
--ergebnistabelle:\ |
||||
select \ |
||||
--zuerst die nicht-Aggregate:\ |
||||
<#assign groupby=0 />\ |
||||
<#foreach column in columns>\ |
||||
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\ |
||||
-- computedColumns immer mitnehmen, da später verarbeitet\ |
||||
<#if column.is_aggregate==0 && column.coltype!="logicalColumn" && column.coltype!="processingColumn" || column.coltype="computedColumn"> \ |
||||
<#assign groupby=groupby+1 />\ |
||||
${column.targetfieldname},\ |
||||
<#elseif column.is_aggregate==0 && column.coltype="processingColumn"> \ |
||||
<#assign groupby=groupby+1 />\ |
||||
${column.srcfieldname} as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
--dann die Aggregate:\ |
||||
<#foreach column in columns>\ |
||||
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\ |
||||
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\ |
||||
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="logicalColumn"> \ |
||||
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_stud2\ |
||||
from tmp_stud\ |
||||
where 1=1\ |
||||
/* ${<<Zusatzfilter>>} */\ |
||||
group by\ |
||||
<#list 1..groupby as i>${i}\ |
||||
<#if i != groupby>\ |
||||
,\ |
||||
</#if>\ |
||||
</#list>\ |
||||
;\ |
||||
--für Prozentwerte alle Aggregate summieren:\ |
||||
select <#foreach column in columns>\ |
||||
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\ |
||||
sum(${column.targetfieldname})::float as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_gesamt\ |
||||
from tmp_stud2\ |
||||
where 1=1\ |
||||
;\ |
||||
\ |
||||
<#assign number_of_visible_colums=0 />\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
<#assign number_of_visible_colums=number_of_visible_colums+1 />\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
<#assign colnr=0 />\ |
||||
select \ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
<#assign colnr=colnr+1 />\ |
||||
<#assign format_sql="" />\ |
||||
<#if column.format_sql?string != "">\ |
||||
<#assign format_sql=column.format_sql />\ |
||||
</#if>\ |
||||
\ |
||||
<#if column.coltype=="computedColumn">\ |
||||
(${column.colfunction})${format_sql} as ${column.targetfieldname}\ |
||||
<#else>\ |
||||
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\ |
||||
</#if>\ |
||||
\ |
||||
<#if colnr < number_of_visible_colums>,</#if>\ |
||||
</#if> --wenn sichtbar\ |
||||
</#foreach>\ |
||||
from tmp_stud2\ |
||||
order by <#list 1..number_of_visible_colums as i>${i}\ |
||||
<#if i != number_of_visible_colums>\ |
||||
,\ |
||||
</#if>\ |
||||
</#list>\ |
||||
;\ |
||||
<#if basetable.is_virtual==1>\ |
||||
drop table if exists ${basetable.runtime_tablename};\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
drop table if exists tmp_stud;\ |
||||
drop table if exists tmp_stud2;\ |
||||
drop table if exists tmp_gesamt;\ |
||||
\ |
||||
\ |
||||
</#if> --wenn columns?has_content^--Freemarker Template\ |
||||
XIL List\ |
||||
sizable_columns horizontal_scrolling\ |
||||
drop_and_delete movable_columns \ |
||||
white_space_color=COLOR_WHITE fixed_columns=1\ |
||||
min_heading_height=55\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\ |
||||
row_selectable heading_platform readonly\ |
||||
width=${column.visible_width} text_size=60\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
@@@^Studienfach^Anzahl bzw. Anteil^Leistungen und Studiengänge^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
16^48110^ |
@ -1,30 +0,0 @@
@@ -1,30 +0,0 @@
|
||||
48140^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_exam_unit_dim_studiengang'\ |
||||
)\ |
||||
order by sortnr, caption\ |
||||
;^ ^<<SQL>>SELECT uniquename,\ |
||||
caption\ |
||||
FROM rpta_column_layout \ |
||||
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_exam_unit_dim_studiengang'\ |
||||
) and uniquename='rpta_exam_unit_dim_studiengang_note';^ |
||||
48141^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
48142^Fächer^30^0^0^130^200^6^char^1000^0^999^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ |
||||
48143^Abschluss^40^0^0^100^200^3^char^1500^0^999^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ |
||||
48144^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^999^ ^ ^ ^ |
||||
48145^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^ |
||||
48146^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^ |
||||
48147^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
48148^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ |
||||
48149^Studiengang^25^0^0^140^150^50^char^1000^0^999^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^ |
||||
48150^tablestylesheet^4000^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48140 order by ord;^^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48140 order by ord limit 1;^ |
||||
48151^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ |
||||
48152^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ |
||||
48153^Ausgabeformat^4010^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and (nature::smallint<100 or nature::smallint=101) order by nature::smallint^ ^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='XLSX'^ |
||||
48158^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^ |
||||
48162^Geschlecht^110^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^ |
||||
48163^Spalten^3001^0^0^150^190^10^char^30^0^999^<<SQL>>\ |
||||
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\ |
||||
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^ |
||||
48164^Fachbereich^30^0^0^130^200^6^char^1000^1^1^<<SQL>> select apnr,druck from cifx where key=90 and today() between d_akt_von and d_akt_bis order by 2;^ ^ ^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
48140^7^ |
@ -1,18 +0,0 @@
@@ -1,18 +0,0 @@
|
||||
48140^48140^ |
||||
48140^48141^ |
||||
48140^48142^ |
||||
48140^48143^ |
||||
48140^48144^ |
||||
48140^48145^ |
||||
48140^48146^ |
||||
48140^48147^ |
||||
48140^48148^ |
||||
48140^48149^ |
||||
48140^48150^ |
||||
48140^48151^ |
||||
48140^48152^ |
||||
48140^48153^ |
||||
48140^48158^ |
||||
48140^48162^ |
||||
48140^48163^ |
||||
48140^48164^ |
@ -1,216 +0,0 @@
@@ -1,216 +0,0 @@
|
||||
48140^Leistungen und Studiengänge (Makro)^--Freemarker Template\ |
||||
<#include "SQL_lingua_franca"/>\ |
||||
<#include "SuperX_general"/>\ |
||||
--\ |
||||
--Autor D. Quathamer 2024\ |
||||
<sqlvars>\ |
||||
<sqlvar name="basetable" type="hash"><![CDATA[\ |
||||
<#assign my_base_rs='rpta_exam_unit_dim_studiengang' />\ |
||||
SELECT distinct name,\ |
||||
0::smallint as is_virtual,\ |
||||
name as runtime_tablename\ |
||||
from sx_tables\ |
||||
where name in ('${my_base_rs}')\ |
||||
and 0=(select count(*) from rpta_resultset R where R.uniquename='${my_base_rs}')\ |
||||
union\ |
||||
select R.uniquename,\ |
||||
1::smallint as is_virtual,\ |
||||
'tmp_' || R.uniquename as runtime_tablename\ |
||||
from rpta_resultset R where R.uniquename='${my_base_rs}'\ |
||||
;\ |
||||
]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="rpta_resultset" type="hash"><![CDATA[\ |
||||
select caption,\ |
||||
uniquename,\ |
||||
fieldclause,\ |
||||
joinclause,\ |
||||
whereclause,\ |
||||
systeminfo_id\ |
||||
from rpta_resultset\ |
||||
where uniquename='${basetable.name}';\ |
||||
\ |
||||
]]></sqlvar>\ |
||||
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\ |
||||
select L.uniquename,\ |
||||
L.caption,\ |
||||
L.whereclause\ |
||||
from rpta_resultset R, rpta_column_layout L\ |
||||
where L.resultset_id=R.tid\ |
||||
and R.uniquename='${basetable.name}'\ |
||||
and L.uniquename=<<Spaltenlayout>>;\ |
||||
\ |
||||
]]></sqlvar>\ |
||||
<sqlvar name="columns" type="hashsequence"><![CDATA[\ |
||||
SELECT C.srcfieldname,\ |
||||
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\ |
||||
T.uniquename as coltype,\ |
||||
C.is_aggregate,\ |
||||
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\ |
||||
CL.is_visible,\ |
||||
CL.visible_size as visible_width,\ |
||||
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\ |
||||
C.col_function as colfunction,\ |
||||
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\ |
||||
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\ |
||||
where L.tid=CL.layout_id\ |
||||
and C.tid=CL.column_id\ |
||||
and T.tid=C.column_type\ |
||||
and L.uniquename=<<Spaltenlayout>>\ |
||||
/* and C.uniquename in (<<Spalten>>) */\ |
||||
order by CL.sortnr\ |
||||
;\ |
||||
]]></sqlvar>\ |
||||
</sqlvars>\ |
||||
\ |
||||
<#assign filter="1=1\ |
||||
/* and sem_der_pruefung >= <<Seit Semester>> */\ |
||||
/* and sem_der_pruefung <= <<Bis Semester>> */\ |
||||
/* and sem_der_pruefung = <<Semester>> */\ |
||||
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\ |
||||
/* and fach_sem_zahl <= <<bis Fachsemester>> */\ |
||||
" />\ |
||||
\ |
||||
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ |
||||
<#assign filter = filter + " and tid_stg in (select tid from lehr_stg_ab where stg in "+Fächer.allNeededKeysList +")"/> \ |
||||
\ |
||||
<#if columns?has_content>\ |
||||
\ |
||||
<#if basetable.is_virtual==1>\ |
||||
\ |
||||
create temp table ${basetable.runtime_tablename} as\ |
||||
select ${rpta_resultset.fieldclause} \ |
||||
from ${rpta_resultset.joinclause} \ |
||||
where 1=1\ |
||||
<#if rpta_resultset.whereclause != ""> \ |
||||
${rpta_resultset.whereclause} </#if>\ |
||||
and ${filter}\ |
||||
;\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
\ |
||||
select \ |
||||
--zuerst die Basisdaten:\ |
||||
<#foreach column in columns>\ |
||||
<#if column.coltype="physicalColumn">\ |
||||
${column.srcfieldname} as ${column.srcfieldname},\ |
||||
<#elseif column.coltype="logicalColumn">\ |
||||
${column.colfunction} as ${column.targetfieldname},\ |
||||
<#elseif column.coltype="lookupColumn">\ |
||||
(${column.colfunction}) as ${column.targetfieldname},\ |
||||
<#elseif column.coltype="computedColumn" || column.coltype=="processingColumn">\ |
||||
null::decimal(19,6) as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_stud\ |
||||
from ${basetable.runtime_tablename}\ |
||||
<#if rpta_column_layout.whereclause !="">\ |
||||
where ${rpta_column_layout.whereclause}\ |
||||
</#if>\ |
||||
;\ |
||||
\ |
||||
--ergebnistabelle:\ |
||||
select \ |
||||
--zuerst die nicht-Aggregate:\ |
||||
<#assign groupby=0 />\ |
||||
<#foreach column in columns>\ |
||||
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\ |
||||
-- computedColumns immer mitnehmen, da später verarbeitet\ |
||||
<#if column.is_aggregate==0 && column.coltype!="logicalColumn" && column.coltype!="processingColumn" || column.coltype="computedColumn"> \ |
||||
<#assign groupby=groupby+1 />\ |
||||
${column.targetfieldname},\ |
||||
<#elseif column.is_aggregate==0 && column.coltype="processingColumn"> \ |
||||
<#assign groupby=groupby+1 />\ |
||||
${column.srcfieldname} as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
--dann die Aggregate:\ |
||||
<#foreach column in columns>\ |
||||
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\ |
||||
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\ |
||||
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="logicalColumn"> \ |
||||
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_stud2\ |
||||
from tmp_stud\ |
||||
where 1=1\ |
||||
/* ${<<Zusatzfilter>>} */\ |
||||
group by\ |
||||
<#list 1..groupby as i>${i}\ |
||||
<#if i != groupby>\ |
||||
,\ |
||||
</#if>\ |
||||
</#list>\ |
||||
;\ |
||||
--für Prozentwerte alle Aggregate summieren:\ |
||||
select <#foreach column in columns>\ |
||||
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\ |
||||
sum(${column.targetfieldname})::float as ${column.targetfieldname},\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
null::char(1) as dummycol\ |
||||
into temp tmp_gesamt\ |
||||
from tmp_stud2\ |
||||
where 1=1\ |
||||
;\ |
||||
\ |
||||
<#assign number_of_visible_colums=0 />\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
<#assign number_of_visible_colums=number_of_visible_colums+1 />\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
<#assign colnr=0 />\ |
||||
select \ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
<#assign colnr=colnr+1 />\ |
||||
<#assign format_sql="" />\ |
||||
<#if column.format_sql?string != "">\ |
||||
<#assign format_sql=column.format_sql />\ |
||||
</#if>\ |
||||
\ |
||||
<#if column.coltype=="computedColumn">\ |
||||
(${column.colfunction})${format_sql} as ${column.targetfieldname}\ |
||||
<#else>\ |
||||
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\ |
||||
</#if>\ |
||||
\ |
||||
<#if colnr < number_of_visible_colums>,</#if>\ |
||||
</#if> --wenn sichtbar\ |
||||
</#foreach>\ |
||||
from tmp_stud2\ |
||||
order by <#list 1..number_of_visible_colums as i>${i}\ |
||||
<#if i != number_of_visible_colums>\ |
||||
,\ |
||||
</#if>\ |
||||
</#list>\ |
||||
;\ |
||||
<#if basetable.is_virtual==1>\ |
||||
drop table if exists ${basetable.runtime_tablename};\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
drop table if exists tmp_stud;\ |
||||
drop table if exists tmp_stud2;\ |
||||
drop table if exists tmp_gesamt;\ |
||||
\ |
||||
\ |
||||
</#if> --wenn columns?has_content^--Freemarker Template\ |
||||
XIL List\ |
||||
sizable_columns horizontal_scrolling\ |
||||
drop_and_delete movable_columns \ |
||||
white_space_color=COLOR_WHITE fixed_columns=1\ |
||||
min_heading_height=55\ |
||||
<#foreach column in columns>\ |
||||
<#if column.is_visible!=0>\ |
||||
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\ |
||||
row_selectable heading_platform readonly\ |
||||
width=${column.visible_width} text_size=60\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
@@@^Studienfach^Anzahl bzw. Anteil^Makrobericht zur Ausgabe nach Fächern^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^ |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
16^48140^ |
@ -1,65 +0,0 @@
@@ -1,65 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
#Arbeitsverzeichnis fuer crontab |
||||
PFAD=$2 |
||||
if [ "$PFAD" != "" ] |
||||
then |
||||
|
||||
cd $PFAD |
||||
|
||||
fi |
||||
#Umgebung einlesen: |
||||
if [ "$RPTA_PFAD" = "" ] |
||||
then |
||||
echo "ACHTUNG: Die Umgebungsvariable RPTA_PFAD ist nicht gesetzt. Bitte prüfen Sie $SUPERX_DIR/db/bin/SQL_ENV" |
||||
|
||||
exit 1 |
||||
|
||||
fi |
||||
if [ "$RPTA_ERRORMAIL" != "" ] |
||||
then |
||||
ERRORMAIL=$RPTA_ERRORMAIL |
||||
export ERRORMAIL |
||||
fi |
||||
if [ "$RPTA_LOGMAIL" != "" ] |
||||
then |
||||
LOGMAIL=$RPTA_LOGMAIL |
||||
export LOGMAIL |
||||
fi |
||||
if [ "$RPTA_BACKUP" != "" ] |
||||
then |
||||
MODULE_BACKUP=$RPTA_BACKUP |
||||
export MODULE_BACKUP |
||||
fi |
||||
|
||||
#hier geht es los |
||||
#runAndCheck.x path command (EXIT_ON_ERROR|CONT_ON_ERROR) (SEND_ERRORMAIL|NO_ERRORMAIL) (SEND_LOGMAIL|NO_LOGMAIL) [description] " |
||||
echo "rpta-Update startet" >$RPTA_ERRORDAT |
||||
#Tagesdatum für Systeminfo |
||||
date +'%d.%m.%Y' > $RPTA_LOAD_PFAD/superx.datum |
||||
|
||||
runAndCheck.x $RPTA_PFAD "module_etl.x rpta $RPTA_PFAD $RPTA_LOAD_PFAD" EXIT_ON_ERROR SEND_ERRORMAIL SEND_LOGMAIL "RPTA update$MANDANTID" |
||||
cat $RPTA_PFAD/L_RPTA_update$MANDANTID.log >>$RPTA_ERRORDAT |
||||
|
||||
|
||||
fgrep -s "not found" $RPTA_ERRORDAT |
||||
FLAG1=$? |
||||
fgrep -i -s "error" $RPTA_ERRORDAT |
||||
FLAG2=$? |
||||
fgrep -i -s "nicht gefunden" $RPTA_ERRORDAT |
||||
FLAG3=$? |
||||
if [ $FLAG1 -eq 0 -o $FLAG2 -eq 0 -o $FLAG3 -eq 0 ] |
||||
then |
||||
echo "Fehler beim RPTA-Update " |
||||
echo "---------------------------------------" |
||||
echo "Fehlerprotokoll in $RPTA_ERRORDAT" |
||||
echo "---------------------------------------" |
||||
cp $RPTA_LOAD_PFAD/superx.datum.alt $RPTA_LOAD_PFAD/superx.datum |
||||
else |
||||
echo "RPTA-Update erfolgreich" |
||||
fi |
||||
|
||||
echo "---------------------------Beginn Prüfroutine-----------------------------------" >>$RPTA_ERRORDAT |
||||
#cat $RPTA_PFAD/L_rpta_Test$MANDANTID.log >>$RPTA_ERRORDAT |
||||
pruefmail.x $RPTA_PFAD/L_rpta_Test$MANDANTID.log $ERRORMAIL |
||||
|
@ -1,223 +0,0 @@
@@ -1,223 +0,0 @@
|
||||
84^RPTA-Makros^<#macro rpta_column_layout_fuellen>\ |
||||
CREATE temp TABLE tmp_rpta_column\ |
||||
(\ |
||||
uniquename varchar(255) NOT NULL,\ |
||||
caption varchar(255),\ |
||||
srcfieldname varchar(255),\ |
||||
targetfieldname varchar(255),\ |
||||
column_type integer,\ |
||||
col_function text,\ |
||||
is_visible smallint,\ |
||||
visible_size smallint,\ |
||||
is_aggregate smallint,\ |
||||
resultset_id integer,\ |
||||
sortnr integer,\ |
||||
description TEXT,\ |
||||
format_code_uniquename varchar(255),\ |
||||
format_code_id integer\ |
||||
);\ |
||||
\ |
||||
CREATE temp TABLE tmp_rpta_column_layout\ |
||||
(\ |
||||
uniquename varchar(255) NOT NULL,\ |
||||
caption varchar(255),\ |
||||
resultset_id integer,\ |
||||
whereclause text,\ |
||||
description text\ |
||||
);\ |
||||
\ |
||||
insert into tmp_rpta_column_layout(\ |
||||
resultset_id,\ |
||||
uniquename,\ |
||||
caption,\ |
||||
whereclause,\ |
||||
description\ |
||||
)\ |
||||
select tid,\ |
||||
'${rpta_column_layout.uniquename}',\ |
||||
'${rpta_column_layout.caption}',\ |
||||
'${rpta_column_layout.whereclause}',\ |
||||
'${rpta_column_layout.description}'\ |
||||
FROM rpta_resultset\ |
||||
where uniquename='${rpta_column_layout.rpta_resultset}';\ |
||||
\ |
||||
<#assign sortnr=0 />\ |
||||
<#foreach column in rpta_columns>\ |
||||
<#assign sortnr=sortnr +1 />\ |
||||
\ |
||||
INSERT INTO tmp_rpta_column\ |
||||
(resultset_id,\ |
||||
uniquename,\ |
||||
caption,\ |
||||
srcfieldname,\ |
||||
targetfieldname,\ |
||||
column_type,\ |
||||
col_function,\ |
||||
is_visible,\ |
||||
visible_size,\ |
||||
is_aggregate,\ |
||||
sortnr,\ |
||||
description,\ |
||||
format_code_uniquename\ |
||||
)\ |
||||
select R.tid,\ |
||||
'${column.uniquename}',\ |
||||
'${column.caption}',\ |
||||
'${column.srcfieldname}',\ |
||||
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,\ |
||||
T.tid as column_type,\ |
||||
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,\ |
||||
${column.is_visible},\ |
||||
${column.visible_size},\ |
||||
${column.is_aggregate},\ |
||||
${sortnr*10},\ |
||||
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>,\ |
||||
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>\ |
||||
FROM rpta_resultset R, rpta_column_type T\ |
||||
where R.uniquename='${rpta_column_layout.rpta_resultset}'\ |
||||
and T.uniquename='${column.column_type}';\ |
||||
\ |
||||
</#foreach>\ |
||||
\ |
||||
update tmp_rpta_column set format_code_id=C.tid\ |
||||
from rpta_format_code C\ |
||||
where C.uniquename=tmp_rpta_column.format_code_uniquename\ |
||||
and format_code_uniquename is not null;\ |
||||
\ |
||||
\ |
||||
select * into temp tmp_rpta_column2layout\ |
||||
from rpta_column2layout\ |
||||
where layout_id in (select L.tid\ |
||||
from rpta_column_layout L,rpta_resultset R\ |
||||
where R.tid=L.resultset_id \ |
||||
and R.uniquename='${rpta_column_layout.rpta_resultset}'\ |
||||
and L.uniquename='${rpta_column_layout.uniquename}'\ |
||||
)\ |
||||
; \ |
||||
\ |
||||
select uniquename into temp tmp_rpta_column_layout_target\ |
||||
from rpta_column_layout\ |
||||
where resultset_id in (select tid\ |
||||
FROM rpta_resultset\ |
||||
where uniquename='${rpta_column_layout.rpta_resultset}')\ |
||||
and uniquename in (select uniquename from tmp_rpta_column_layout)\ |
||||
;\ |
||||
--falls neu\ |
||||
insert into rpta_column_layout\ |
||||
(uniquename,\ |
||||
caption,\ |
||||
resultset_id,\ |
||||
whereclause,\ |
||||
description)\ |
||||
select uniquename,\ |
||||
caption,\ |
||||
resultset_id,\ |
||||
whereclause,\ |
||||
description\ |
||||
FROM tmp_rpta_column_layout T\ |
||||
where not exists (select uniquename from tmp_rpta_column_layout_target);\ |
||||
\ |
||||
--falls geändert, uniquename muss bleiben\ |
||||
update rpta_column_layout\ |
||||
set (caption, resultset_id, whereclause, description)\ |
||||
= ( select caption, resultset_id,\ |
||||
whereclause,\ |
||||
description\ |
||||
FROM tmp_rpta_column_layout T\ |
||||
where T.uniquename=rpta_column_layout.uniquename)\ |
||||
where rpta_column_layout.uniquename=(select uniquename from tmp_rpta_column_layout);\ |
||||
\ |
||||
drop table tmp_rpta_column_layout_target;\ |
||||
\ |
||||
delete from rpta_column2layout\ |
||||
where layout_id in (select L.tid\ |
||||
from rpta_column_layout L,rpta_resultset R\ |
||||
where R.tid=L.resultset_id \ |
||||
and R.uniquename='${rpta_column_layout.rpta_resultset}'\ |
||||
and L.uniquename='${rpta_column_layout.uniquename}'\ |
||||
)\ |
||||
; \ |
||||
\ |
||||
select * into temp tmp_rpta_column2 \ |
||||
from tmp_rpta_column T \ |
||||
where (resultset_id,uniquename) not in\ |
||||
(select resultset_id,uniquename from rpta_column);\ |
||||
\ |
||||
INSERT INTO rpta_column\ |
||||
(resultset_id,\ |
||||
uniquename,\ |
||||
caption,\ |
||||
srcfieldname,\ |
||||
targetfieldname,\ |
||||
column_type,\ |
||||
col_function,\ |
||||
is_aggregate,\ |
||||
description,\ |
||||
custom\ |
||||
)\ |
||||
select \ |
||||
resultset_id,\ |
||||
uniquename,\ |
||||
caption,\ |
||||
srcfieldname,\ |
||||
targetfieldname,\ |
||||
column_type,\ |
||||
col_function,\ |
||||
is_aggregate,\ |
||||
description,\ |
||||
0 as custom\ |
||||
from tmp_rpta_column2; \ |
||||
\ |
||||
--evtl. neuen Satz einfügen, dann alle updaten\ |
||||
\ |
||||
update rpta_column set ( caption,\ |
||||
srcfieldname,\ |
||||
targetfieldname,\ |
||||
column_type,\ |
||||
col_function,\ |
||||
is_aggregate,\ |
||||
description)\ |
||||
= (select caption,\ |
||||
srcfieldname,\ |
||||
targetfieldname,\ |
||||
column_type,\ |
||||
col_function,\ |
||||
is_aggregate,\ |
||||
description\ |
||||
from tmp_rpta_column T\ |
||||
where T.resultset_id=rpta_column.resultset_id\ |
||||
and T.uniquename=rpta_column.uniquename)\ |
||||
where custom=0\ |
||||
and (resultset_id,uniquename) in\ |
||||
(select T.resultset_id,T.uniquename\ |
||||
from tmp_rpta_column T)\ |
||||
;\ |
||||
\ |
||||
drop table tmp_rpta_column2;\ |
||||
\ |
||||
insert into rpta_column2layout(column_id,\ |
||||
layout_id,\ |
||||
sortnr,\ |
||||
is_visible,\ |
||||
visible_size,\ |
||||
caption,\ |
||||
description,\ |
||||
format_code_id)\ |
||||
select C.tid as column_id,\ |
||||
L.tid as layout_id,\ |
||||
T.sortnr,\ |
||||
T.is_visible,\ |
||||
T.visible_size,\ |
||||
T.caption,\ |
||||
T.description,\ |
||||
T.format_code_id\ |
||||
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T\ |
||||
where C.uniquename=T.uniquename\ |
||||
and C.resultset_id=T.resultset_id\ |
||||
and L.uniquename='${rpta_column_layout.uniquename}'\ |
||||
and L.resultset_id=T.resultset_id\ |
||||
;\ |
||||
drop table tmp_rpta_column;\ |
||||
drop TABLE tmp_rpta_column_layout;\ |
||||
drop TABLE tmp_rpta_column2layout;\ |
||||
</#macro>^Makros zum Umgang mit Spaltenlayouts^^1^ |
@ -1,15 +0,0 @@
@@ -1,15 +0,0 @@
|
||||
|
||||
delete from fm_templates where id in (select id from tmp_templates); |
||||
|
||||
insert into fm_templates(id, |
||||
content, |
||||
description, |
||||
comment, |
||||
version) select id, |
||||
content, |
||||
description, |
||||
comment, |
||||
version from tmp_templates; |
||||
|
||||
drop table tmp_templates; |
||||
|
@ -1,11 +0,0 @@
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash |
||||
#löscht alle nicht-kern-templates und entlädt die Tabelle sortiert ins Rohdaten Verzeichnis (für git-diff). |
||||
|
||||
|
||||
|
||||
|
||||
SX_CLIENT=jdbc |
||||
export SX_CLIENT |
||||
#man_catalogue |
||||
DOQUERY "select * from fm_templates where id in ('RPTA-Makros')" false $DBDELIMITER ./fm_templates.unl txt |
||||
|
@ -1,17 +0,0 @@
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
DOQUERY "create table tmp_templates(tid integer, |
||||
id char(200) not null, |
||||
content text not null, |
||||
description char(200) , |
||||
comment char(200) , |
||||
version integer default 1 |
||||
|
||||
) |
||||
;" |
||||
|
||||
sx_auto_upload_table.x tmp_templates ./fm_templates.unl |
||||
|
||||
DOSQL fm_templates_fuellen.sql |
||||
|
||||
|
@ -1,150 +0,0 @@
@@ -1,150 +0,0 @@
|
||||
--freemarker template |
||||
|
||||
-- für das RPTA-Makro wird schleifenrelation type text benötigt |
||||
-- Umstellung auf schleifenrelation type text erfolgt in Kern 5.3 |
||||
-- nach kern 5.3-Installation kann folgender alter table entfernt werden |
||||
alter table macro_masken_bez alter column schleifenrelation type text; |
||||
|
||||
<#assign makros = [ |
||||
{"tid":"48140"} |
||||
] /> |
||||
<#assign masken = [ |
||||
{"makro":"48140", "tid":"48110", "sortnr":"10", |
||||
"schleifenrelation":"<<SQL>> |
||||
SELECT DISTINCT |
||||
((((''_''::text || COALESCE(c.lid, btrim(l.fb::text)::character varying)::text) || ''_''::text) || btrim(l.stg::text)) || ''_''::text) || btrim(l.abschluss::text) AS apnr, |
||||
(btrim(k.dtxt::text) || '' ''::text) || ((( SELECT a.druck FROM cifx a WHERE a.key = 35 AND a.apnr = l.abschluss))::text) AS druck |
||||
FROM |
||||
k_stg k, |
||||
lehr_stg_ab l |
||||
LEFT JOIN cifx c ON c.key = 90 AND (c.sourcesystem = ANY (ARRAY[5, 6, 10, 12, 15])) AND c.apnr = l.fb |
||||
WHERE k.stg = l.stg |
||||
and c.apnr=<<Fachbereich>> |
||||
and l.abschluss in (''BA'',''MA'')", |
||||
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"} |
||||
] /> |
||||
<#assign felder = [ |
||||
] /> |
||||
|
||||
-- ab hier nicht mehr ändern: |
||||
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, |
||||
schleifenrelation character(255), |
||||
schleifenfeldname character(255), |
||||
alias character(255), |
||||
schleifenfstand character(255), |
||||
schleifenfsicht character(255), |
||||
aktion character(255) |
||||
); |
||||
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 |
||||
); |
||||
<#foreach makro in makros> |
||||
<#foreach maske in masken> |
||||
<#if maske.makro==makro.tid> |
||||
insert into tmp_macro_masken_bez(maskeninfo_id1, |
||||
maskeninfo_id2, |
||||
active, |
||||
sortnr, |
||||
schleifenrelation, |
||||
schleifenfeldname, |
||||
schleifenfstand, |
||||
schleifenfsicht) |
||||
select ${makro.tid},--maskeninfo_id1, |
||||
${maske.tid},--maskeninfo_id2, |
||||
1,--active, |
||||
${maske.sortnr}, --sortnr, |
||||
'${maske.schleifenrelation}', --schleifenrelation, |
||||
'${maske.schleifenfeldname}', --schleifenfeldname, |
||||
'${maske.schleifenfstand}', --schleifenfstand, |
||||
'${maske.schleifenfsicht}' --schleifenfsicht |
||||
from xdummy; |
||||
|
||||
<#foreach feld in felder> |
||||
<#if feld.makro==makro.tid && feld.sortnr==maske.sortnr> |
||||
--Tab.12: alle ohne Exmatr |
||||
insert into tmp_macro_feld_wert |
||||
( macro, |
||||
sortnr, |
||||
feldname, |
||||
alias, |
||||
value, |
||||
value_caption, |
||||
feldstand, |
||||
feldsicht, |
||||
active) |
||||
SELECT ${makro.tid}, --macro |
||||
${maske.sortnr},--sortnr |
||||
'${feld.feldname}',--feldname, |
||||
'',--alias, |
||||
'${feld.value}', --value, |
||||
'',--value_caption, |
||||
'', --feldstand, |
||||
'',--feldsicht, |
||||
1 --active |
||||
FROM xdummy; |
||||
</#if> |
||||
</#foreach> |
||||
</#if> |
||||
</#foreach> |
||||
</#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, |
||||
schleifenrelation, |
||||
schleifenfeldname, |
||||
alias, |
||||
schleifenfstand, |
||||
schleifenfsicht, |
||||
aktion) |
||||
select maskeninfo_id1, |
||||
maskeninfo_id2, |
||||
active, |
||||
sortnr, |
||||
schleifenrelation, |
||||
schleifenfeldname, |
||||
alias, |
||||
schleifenfstand, |
||||
schleifenfsicht, |
||||
aktion |
||||
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_masken_bez; |
||||
drop table tmp_macro_feld_wert; |
@ -1,430 +0,0 @@
@@ -1,430 +0,0 @@
|
||||
--freemarker template |
||||
<sqlvars> |
||||
<sqlvar name="sos_lab_pord_exists"> |
||||
select sp_table_exists('sos_lab_pord') from xdummy; |
||||
</sqlvar> |
||||
<sqlvar name="fact_table_source"> |
||||
select name |
||||
from sx_tables where name ='sos_lab_pord' |
||||
|
||||
</sqlvar> |
||||
<sqlvar name="added_tables" type="hashsequence"><![CDATA[ |
||||
select 1::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'dim_studiengang.tid=sos_lab_pord.tid_stg and sos_lab_pord.sem_der_pruefung >= semester_von and sos_lab_pord.sem_der_pruefung <= semester_bis' as joinclause |
||||
from sx_tables where name in ('dim_studiengang') |
||||
union select 10::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sos_lab_pord.labnr=sos_lab.labnr and sos_lab_pord.sourcesystem=sos_lab.sourcesystem' as joinclause |
||||
from sx_tables where name in ('sos_lab') |
||||
union select 20::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'cif.apnr=sos_lab_pord.pversion and sos_lab_pord.sourcesystem=5 and cif.key=632' as joinclause |
||||
from sx_tables where name in ('cif') |
||||
|
||||
]]></sqlvar> |
||||
<sqlvar name="fields_target" type="hashsequence"><![CDATA[ |
||||
<#if fact_table_source?exists > |
||||
select tid, table_name, |
||||
name, |
||||
name as targetname |
||||
from sx_fields where table_name ='${fact_table_source}' |
||||
--and currentlyused=1 |
||||
and name in ('matrikel_nr', |
||||
'sem_der_pruefung', |
||||
'hrst', |
||||
'fach_sem_zahl', |
||||
'kz_rueck_beur_ein', |
||||
'part', |
||||
'pnr', |
||||
'pversuch', |
||||
'prueck', |
||||
'pversion', |
||||
'pstatus', |
||||
'd_abg_pruefung', |
||||
'note', |
||||
'pvermerk', |
||||
'pform', |
||||
'studiengang_nr', |
||||
'fach_nr', |
||||
'is_modul', |
||||
'tid_stg', |
||||
'pdtxt', |
||||
'sourcesystem', |
||||
'labnr' |
||||
) |
||||
union |
||||
select tid,table_name, |
||||
name, |
||||
'dim_studiengang_' || name as targetname |
||||
from sx_fields where table_name ='dim_studiengang' |
||||
and currentlyused=1 |
||||
union |
||||
select tid,table_name, |
||||
name, |
||||
'sos_lab_' || name as targetname |
||||
from sx_fields where table_name ='sos_lab' |
||||
and name in ('ppruef1','ppruef2','panerk') |
||||
union |
||||
select tid,table_name, |
||||
name, |
||||
'pversion_ktxt' as targetname |
||||
from sx_fields where table_name ='cif' |
||||
and name in ('lang_3') |
||||
|
||||
|
||||
order by 1 |
||||
</#if> |
||||
]]> |
||||
</sqlvar> |
||||
</sqlvars> |
||||
|
||||
<#if sos_lab_pord_exists==1 && fact_table_source?exists > |
||||
|
||||
<#assign fact_table_target = {"name":"sos_lab_pord_ppruef", "caption":"Modulprüfungen und Prüfer_innen"} |
||||
/> |
||||
|
||||
drop index if exists ix_sos_lab_pord_is_modul; |
||||
|
||||
create index ix_sos_lab_pord_is_modul on sos_lab_pord (is_modul ); |
||||
|
||||
CREATE temp table tmp_tables( |
||||
name CHAR(255) , |
||||
caption CHAR(255) , |
||||
description CHAR(255) , |
||||
table_type CHAR(255) , |
||||
systeminfo_id INTEGER , |
||||
systeminfo_orig INTEGER , |
||||
thema CHAR(255) , |
||||
sachgebiete_id CHAR(255) |
||||
); |
||||
CREATE temp TABLE tmp_fields( |
||||
tid serial NOT NULL, |
||||
table_name VARCHAR(255) not null, |
||||
name VARCHAR(255) not null, |
||||
caption VARCHAR(255) , |
||||
description VARCHAR(255) , |
||||
field_type VARCHAR(255) not null, |
||||
field_size VARCHAR(255) , |
||||
field_not_null smallint, |
||||
currentlyused SMALLINT , |
||||
is_primarykey SMALLINT default 0 , |
||||
foreignkey_tab VARCHAR(255) , |
||||
foreignkey_col VARCHAR(255) , |
||||
foreignkey_int VARCHAR(255) , |
||||
foreignkey_cap VARCHAR(255) , |
||||
foreignkey_cond VARCHAR(255) , |
||||
foreignkey_func VARCHAR(255) , |
||||
check_integrity SMALLINT, |
||||
is_sum SMALLINT default 1, |
||||
foreignkey_uniquename VARCHAR(255) |
||||
|
||||
); |
||||
|
||||
|
||||
|
||||
update sx_fields set |
||||
is_sum=0 |
||||
where table_name='sos_lab_pord' |
||||
and name!='summe'; |
||||
update sx_fields set |
||||
is_sum=1 |
||||
where table_name='sos_lab_pord' |
||||
and name='summe'; |
||||
|
||||
|
||||
insert into tmp_tables ( |
||||
name, |
||||
caption, |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
) |
||||
select |
||||
'${fact_table_target.name}', |
||||
'${fact_table_target.caption}', |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
from sx_tables where name='${fact_table_source}' |
||||
; |
||||
|
||||
|
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${fact_table_source}' |
||||
and currentlyused=1; |
||||
<#foreach added_table in added_tables> |
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
'${added_table.prefix}' || name, |
||||
'${added_table.caption}: ' || caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${added_table.name}' |
||||
and currentlyused=1; |
||||
</#foreach> |
||||
|
||||
CREATE temp TABLE tmp_rpta_resultset |
||||
( |
||||
caption varchar(255), |
||||
uniquename varchar(255), |
||||
fieldclause text, |
||||
joinclause text, |
||||
whereclause text, |
||||
systeminfo_id integer |
||||
); |
||||
|
||||
insert into tmp_rpta_resultset(caption, |
||||
uniquename, |
||||
systeminfo_id) |
||||
select '${fact_table_target.caption}', |
||||
'${fact_table_target.name}', |
||||
7 |
||||
; |
||||
|
||||
|
||||
update tmp_rpta_resultset set fieldclause=' |
||||
<#foreach field_target in fields_target> |
||||
${field_target.table_name}.${field_target.name} as ${field_target.targetname}, |
||||
</#foreach> |
||||
null::varchar as dummy', |
||||
joinclause='${fact_table_source} |
||||
<#foreach added_table in added_tables> |
||||
left outer join ${added_table.name} on (${added_table.joinclause}) |
||||
</#foreach>'; |
||||
|
||||
select * into temp tmp_rs1 |
||||
from rpta_resultset |
||||
; |
||||
|
||||
update rpta_resultset set caption=T.caption, |
||||
fieldclause=T.fieldclause, |
||||
joinclause=T.joinclause, |
||||
whereclause=T.whereclause |
||||
from tmp_rpta_resultset T |
||||
where T.systeminfo_id=rpta_resultset.systeminfo_id |
||||
and T.uniquename=rpta_resultset.uniquename |
||||
; |
||||
|
||||
insert into rpta_resultset(caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id) |
||||
select caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id |
||||
from tmp_rpta_resultset |
||||
where 0=(select count(*) |
||||
from tmp_rs1 T |
||||
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id |
||||
and T.uniquename=tmp_rpta_resultset.uniquename) |
||||
; |
||||
drop table tmp_rpta_resultset; |
||||
drop table tmp_rs1; |
||||
|
||||
delete from sx_tables where name |
||||
in (select T.name from tmp_tables T); |
||||
|
||||
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) |
||||
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id |
||||
from tmp_tables; |
||||
|
||||
|
||||
delete from sx_fields where table_name |
||||
in (select T.table_name from tmp_fields T); |
||||
|
||||
insert into sx_fields (table_name,name,caption,description,field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyUsed, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_cap, |
||||
foreignkey_int, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
) |
||||
select |
||||
F.table_name,F.name,F.caption,F.description,F.field_type, |
||||
F.field_size, |
||||
F.field_not_null, |
||||
F.currentlyUsed, |
||||
F.foreignkey_tab, |
||||
F.foreignkey_col, |
||||
F.foreignkey_cap, |
||||
F.foreignkey_int, |
||||
F.foreignkey_cond, |
||||
F.foreignkey_func, |
||||
F.check_integrity, |
||||
F.is_sum, |
||||
F.foreignkey_uniquename |
||||
|
||||
from tmp_fields F; |
||||
|
||||
|
||||
drop table tmp_fields; |
||||
drop table tmp_tables; |
||||
|
||||
|
||||
--rpta_column füllen: |
||||
select * into temp tmp_rc1 |
||||
from rpta_column; |
||||
|
||||
|
||||
create temp table tmp_rpta_column( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
srcfieldname varchar(255), |
||||
column_type integer, |
||||
col_function text, |
||||
is_aggregate smallint, |
||||
resultset_id integer, |
||||
description text, |
||||
custom integer default 0 |
||||
); |
||||
|
||||
insert into tmp_rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description) |
||||
select F.name as uniquename, |
||||
coalesce(T.caption,T.name) || ' - ' || F.caption, |
||||
F.name as srcfieldname, |
||||
1 as column_type, |
||||
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function, |
||||
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate, |
||||
R.tid as resultset_id, |
||||
F.description |
||||
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name) |
||||
where F.table_name='${fact_table_target.name}' |
||||
and R.uniquename='${fact_table_target.name}' |
||||
and F.currentlyused=1 |
||||
; |
||||
|
||||
update rpta_column set |
||||
caption=T.caption, |
||||
srcfieldname=T.srcfieldname, |
||||
column_type=T.column_type, |
||||
col_function=T.col_function, |
||||
is_aggregate=T.is_aggregate, |
||||
resultset_id=R.tid, |
||||
description=T.description, |
||||
custom=T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where T.uniquename=rpta_column.uniquename |
||||
and rpta_column.resultset_id=R.tid |
||||
and R.uniquename='${fact_table_target.name}' |
||||
; |
||||
insert into rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description, |
||||
custom) |
||||
select T.uniquename, |
||||
T.caption, |
||||
T.srcfieldname, |
||||
T.column_type, |
||||
T.col_function, |
||||
T.is_aggregate, |
||||
R.tid as resultset_id, |
||||
T.description, |
||||
T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where R.uniquename='${fact_table_target.name}' |
||||
and 0=(select count(*) from tmp_rc1 C |
||||
where C.uniquename=T.uniquename |
||||
and C.resultset_id=R.tid) |
||||
; |
||||
|
||||
drop table tmp_rpta_column; |
||||
drop table tmp_rc1; |
||||
|
||||
</#if> --wenn sos_lab_pord_exists=1 |
@ -1,385 +0,0 @@
@@ -1,385 +0,0 @@
|
||||
--freemarker template |
||||
<#include "RPTA-Makros"/> |
||||
<sqlvars> |
||||
<sqlvar name="rpta_exam_unit_dim_studiengang_exists"> |
||||
select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang'; |
||||
</sqlvar> |
||||
<sqlvar name="rpta_resultset"> |
||||
select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang'; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
<#assign rpta_column_layouts = [{"uniquename":"rpta_exam_unit_dim_studiengang_note", |
||||
"caption":"Prüfungsergebnisse", |
||||
"rpta_resultset":"rpta_exam_unit_dim_studiengang", |
||||
"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5))", |
||||
"description":"Prüfung und Noten" |
||||
}] |
||||
/> |
||||
|
||||
<#assign rpta_columns = [ |
||||
|
||||
{"uniquename":"elementnr", |
||||
"srcfieldname":"elementnr", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"format_code":"", |
||||
"caption":"pnr", |
||||
"is_visible":"1", |
||||
"is_aggregate":0, |
||||
"visible_size":10, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"pdtxt", |
||||
"srcfieldname":"pdtxt", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"format_code":"", |
||||
"caption":"Name der Prüfung", |
||||
"is_visible":"1", |
||||
"is_aggregate":0, |
||||
"visible_size":40, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"summe", |
||||
"srcfieldname":"summe", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"sum", |
||||
"format_code":"", |
||||
"caption":"Teilnehmer", |
||||
"is_visible":"1", |
||||
"is_aggregate":1, |
||||
"visible_size":15, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"note_case", |
||||
"srcfieldname":"note", |
||||
"targetfieldname":"note_case", |
||||
"column_type":"logicalColumn", |
||||
"col_function":"(case when note > 6 then null else note end)", |
||||
"format_code":"", |
||||
"caption":"Durchschnittsnote % *", |
||||
"is_visible":"0", |
||||
"is_aggregate":0, |
||||
"visible_size":5, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"note_schnitt", |
||||
"srcfieldname":"note_case", |
||||
"targetfieldname":"note_schnitt", |
||||
"column_type":"processingColumn", |
||||
"col_function":"avg", |
||||
"format_code":"", |
||||
"caption":"Durchschnittsnote *", |
||||
"is_visible":"0", |
||||
"is_aggregate":1, |
||||
"visible_size":5, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"note_schnitt_case", |
||||
"srcfieldname":"note_schnitt", |
||||
"targetfieldname":"note_schnitt_case", |
||||
"column_type":"computedColumn", |
||||
"col_function":"case when summe < 5 then null else note_schnitt end", |
||||
"format_code":"", |
||||
"caption":"Durchschnittsnote *", |
||||
"is_visible":"1", |
||||
"is_aggregate":1, |
||||
"visible_size":25, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"pstatus_nb", |
||||
"srcfieldname":"pstatus", |
||||
"targetfieldname":"pstatus_nb", |
||||
"column_type":"logicalColumn", |
||||
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)", |
||||
"format_code":"", |
||||
"caption":"Durchfallquote in % *", |
||||
"is_visible":"0", |
||||
"is_aggregate":0, |
||||
"visible_size":5, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"pstatus_nb_sum", |
||||
"srcfieldname":"pstatus_nb", |
||||
"targetfieldname":"pstatus_nb_sum", |
||||
"column_type":"processingColumn", |
||||
"col_function":"sum", |
||||
"format_code":"", |
||||
"caption":"Durchfallquote in % *", |
||||
"is_visible":"0", |
||||
"is_aggregate":1, |
||||
"visible_size":5, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"pstatus_nb_quote", |
||||
"srcfieldname":"pstatus_nb_sum", |
||||
"targetfieldname":"pstatus_nb_quote", |
||||
"column_type":"computedColumn", |
||||
"col_function":"case when summe < 5 then null else pstatus_nb_sum/summe::decimal(18,2)*100 end", |
||||
"format_code":"DEC_2", |
||||
"caption":"Durchfallquote in % *", |
||||
"is_visible":"1", |
||||
"is_aggregate":1, |
||||
"visible_size":25, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"pvermerk_ne", |
||||
"srcfieldname":"pvermerk", |
||||
"targetfieldname":"pvermerk_ne", |
||||
"column_type":"logicalColumn", |
||||
"col_function":"(case when pvermerk in (''NE'',''N'') then 1 else 0 end)", |
||||
"format_code":"", |
||||
"caption":"Nicht erschienen", |
||||
"is_visible":"0", |
||||
"is_aggregate":0, |
||||
"visible_size":5, |
||||
"description":""}, |
||||
|
||||
{"uniquename":"pvermerk_ne_sum", |
||||
"srcfieldname":"pvermerk_ne", |
||||
"targetfieldname":"pvermerk_ne_sum", |
||||
"column_type":"processingColumn", |
||||
"col_function":"sum", |
||||
"format_code":"INTEGER", |
||||
"caption":"Nicht erschienen", |
||||
"is_visible":"1", |
||||
"is_aggregate":1, |
||||
"visible_size":25, |
||||
"description":""} |
||||
|
||||
|
||||
] /> |
||||
|
||||
|
||||
---ab hier nicht mehr ändern: |
||||
|
||||
CREATE temp TABLE tmp_rpta_column |
||||
( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
srcfieldname varchar(255), |
||||
targetfieldname varchar(255), |
||||
column_type integer, |
||||
col_function text, |
||||
is_visible smallint, |
||||
visible_size smallint, |
||||
is_aggregate smallint, |
||||
resultset_id integer, |
||||
sortnr integer, |
||||
description TEXT, |
||||
format_code_uniquename varchar(255), |
||||
format_code_id integer |
||||
); |
||||
|
||||
CREATE temp TABLE tmp_rpta_column_layout |
||||
( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
resultset_id integer, |
||||
whereclause text, |
||||
description text |
||||
); |
||||
|
||||
|
||||
<#foreach rpta_column_layout in rpta_column_layouts> |
||||
|
||||
insert into tmp_rpta_column_layout( |
||||
resultset_id, |
||||
uniquename, |
||||
caption, |
||||
whereclause, |
||||
description |
||||
) |
||||
select tid, |
||||
'${rpta_column_layout.uniquename}', |
||||
'${rpta_column_layout.caption}', |
||||
'${rpta_column_layout.whereclause}', |
||||
'${rpta_column_layout.description}' |
||||
FROM rpta_resultset |
||||
where uniquename='${rpta_column_layout.rpta_resultset}'; |
||||
|
||||
</#foreach > |
||||
|
||||
<#assign sortnr=0 /> |
||||
<#foreach column in rpta_columns> |
||||
<#assign sortnr=sortnr +1 /> |
||||
|
||||
INSERT INTO tmp_rpta_column |
||||
(resultset_id, |
||||
uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_visible, |
||||
visible_size, |
||||
is_aggregate, |
||||
sortnr, |
||||
description, |
||||
format_code_uniquename |
||||
) |
||||
select R.tid, |
||||
'${column.uniquename}', |
||||
'${column.caption}', |
||||
'${column.srcfieldname}', |
||||
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>, |
||||
T.tid as column_type, |
||||
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>, |
||||
${column.is_visible}, |
||||
${column.visible_size}, |
||||
${column.is_aggregate}, |
||||
${sortnr*10}, |
||||
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>, |
||||
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if> |
||||
FROM rpta_resultset R, rpta_column_type T |
||||
where R.uniquename='${rpta_resultset}' |
||||
and T.uniquename='${column.column_type}'; |
||||
|
||||
</#foreach> |
||||
|
||||
update tmp_rpta_column set format_code_id=C.tid |
||||
from rpta_format_code C |
||||
where C.uniquename=tmp_rpta_column.format_code_uniquename |
||||
and format_code_uniquename is not null; |
||||
|
||||
|
||||
select * into temp tmp_rpta_column2layout |
||||
from rpta_column2layout |
||||
where layout_id in (select L.tid |
||||
from rpta_column_layout L,rpta_resultset R |
||||
where R.tid=L.resultset_id |
||||
and R.uniquename='${rpta_resultset}' |
||||
and L.uniquename in ( |
||||
<#foreach rpta_column_layout in rpta_column_layouts> |
||||
'${rpta_column_layout.uniquename}', |
||||
</#foreach>'xy') |
||||
) |
||||
; |
||||
|
||||
select * into temp tmp_rpta_column_layout_target |
||||
from rpta_column_layout |
||||
where resultset_id in (select tid |
||||
FROM rpta_resultset |
||||
where uniquename='${rpta_resultset}') |
||||
and uniquename in (select uniquename from tmp_rpta_column_layout) |
||||
; |
||||
|
||||
insert into rpta_column_layout |
||||
(uniquename, |
||||
caption, |
||||
resultset_id, |
||||
whereclause, |
||||
description) |
||||
select uniquename, |
||||
caption, |
||||
resultset_id, |
||||
whereclause, |
||||
description |
||||
FROM tmp_rpta_column_layout T |
||||
where 0=(select count(*) from tmp_rpta_column_layout_target T2 |
||||
where T.uniquename=T2.uniquename); |
||||
|
||||
drop table tmp_rpta_column_layout_target; |
||||
|
||||
delete from rpta_column2layout |
||||
where layout_id in (select L.tid |
||||
from rpta_column_layout L,rpta_resultset R |
||||
where R.tid=L.resultset_id |
||||
and R.uniquename='${rpta_resultset}' |
||||
and L.uniquename in ( |
||||
<#foreach rpta_column_layout in rpta_column_layouts> |
||||
'${rpta_column_layout.uniquename}', |
||||
</#foreach>'xy') |
||||
) |
||||
; |
||||
|
||||
select * into temp tmp_rpta_column2 |
||||
from tmp_rpta_column T |
||||
where (resultset_id,uniquename) not in |
||||
(select resultset_id,uniquename from rpta_column); |
||||
|
||||
INSERT INTO rpta_column |
||||
(resultset_id, |
||||
uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
description, |
||||
custom |
||||
) |
||||
select |
||||
resultset_id, |
||||
uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
description, |
||||
0 as custom |
||||
from tmp_rpta_column2; |
||||
|
||||
--evtl. neuen Satz einfügen, dann alle updaten |
||||
|
||||
update rpta_column set ( caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
description) |
||||
= (select caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
description |
||||
from tmp_rpta_column T |
||||
where T.resultset_id=rpta_column.resultset_id |
||||
and T.uniquename=rpta_column.uniquename) |
||||
where custom=0 |
||||
and (resultset_id,uniquename) in |
||||
(select T.resultset_id,T.uniquename |
||||
from tmp_rpta_column T) |
||||
; |
||||
|
||||
drop table tmp_rpta_column2; |
||||
|
||||
insert into rpta_column2layout(column_id, |
||||
layout_id, |
||||
sortnr, |
||||
is_visible, |
||||
visible_size, |
||||
caption, |
||||
description, |
||||
format_code_id) |
||||
select C.tid as column_id, |
||||
L.tid as layout_id, |
||||
T.sortnr, |
||||
T.is_visible, |
||||
T.visible_size, |
||||
T.caption, |
||||
T.description, |
||||
T.format_code_id |
||||
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T |
||||
where C.uniquename=T.uniquename |
||||
and C.resultset_id=T.resultset_id |
||||
and L.uniquename in ( |
||||
<#foreach rpta_column_layout in rpta_column_layouts> |
||||
'${rpta_column_layout.uniquename}', |
||||
</#foreach>'xy') |
||||
and L.resultset_id=T.resultset_id |
||||
; |
||||
drop table tmp_rpta_column; |
||||
drop table if exists tmp_rpta_column2; |
||||
drop TABLE tmp_rpta_column_layout; |
||||
|
||||
|
||||
|
||||
|
@ -1,79 +0,0 @@
@@ -1,79 +0,0 @@
|
||||
--freemarker template |
||||
<#include "RPTA-Makros"/> |
||||
<#assign rpta_column_layout = {"uniquename":"sos_stud_astat_rsz", |
||||
"caption":"MKW-Abfrage_Studierende_RSZ", |
||||
"rpta_resultset":"sos_stud_astat", |
||||
"whereclause":"fach_sem_zahl <= dim_studiengang_regel", |
||||
"description":"MKW-Abfrage_Studierende_RSZ" |
||||
} |
||||
/> |
||||
|
||||
<#assign rpta_columns = [ |
||||
{"uniquename":"sos_k_stort_astat", |
||||
"caption":"Hochschulnummer Statistik", |
||||
"srcfieldname":"sos_k_stort_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0" |
||||
}, |
||||
{"uniquename":"dim_studiengang_stg_astat", |
||||
"caption":"HSF-Schlüssel", |
||||
"srcfieldname":"dim_studiengang_stg_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0" |
||||
}, |
||||
{"uniquename":"sos_k_stufrm_astat", |
||||
"caption":"Art des Studiums", |
||||
"srcfieldname":"sos_k_stufrm_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0" |
||||
}, |
||||
{"uniquename":"dim_studiengang_abschluss_astat", |
||||
"caption":"Abschlussschlüssel Statistik NRW", |
||||
"srcfieldname":"dim_studiengang_abschluss_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0" |
||||
}, |
||||
{"uniquename":"sos_k_stutyp_astat", |
||||
"caption":"Vollzeit / Teilzeit / ausbildungsintegriert / praxisintegriert / berufsintegriert", |
||||
"srcfieldname":"sos_k_stutyp_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0" |
||||
}, |
||||
{"uniquename":"dim_studiengang_regel", |
||||
"caption":"Angabe der Regelstudienzeit", |
||||
"srcfieldname":"dim_studiengang_regel", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0" |
||||
}, |
||||
{"uniquename":"summe", |
||||
"caption":"Anzahl der Studierenden in der Regelstudienzeit", |
||||
"srcfieldname":"summe", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"sum", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"1" |
||||
} |
||||
] |
||||
/> |
||||
|
||||
|
||||
<@rpta_column_layout_fuellen /> |
@ -1,182 +0,0 @@
@@ -1,182 +0,0 @@
|
||||
--freemarker template |
||||
<#include "RPTA-Makros"/> |
||||
<sqlvars> |
||||
<sqlvar name="rpta_installed"> |
||||
select count(*) from systeminfo where tid=330; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
<#assign rpta_column_layout = {"uniquename":"sgd_pbe_pbv", |
||||
"caption":"Stellen, Besetzungen und Beschäftigungsverhältnisse", |
||||
"rpta_resultset":"sva_pbe_aggr_sgd", |
||||
"whereclause":"", |
||||
"description":"Stellendaten, Besetzungen und Personaldaten" |
||||
} |
||||
/> |
||||
|
||||
<#assign rpta_columns = [ |
||||
{"uniquename":"ch110_besch_st", |
||||
"caption":"Beschäftigungsstelle (Schlüssel)", |
||||
"srcfieldname":"ch110_besch_st", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Beschäftigungsstelle (Schlüssel)" |
||||
}, |
||||
{"uniquename":"ch110_besch_st_str", |
||||
"caption":"Beschäftigungsstelle", |
||||
"srcfieldname":"ch110_besch_st_str", |
||||
"column_type":"lookupColumn", |
||||
"col_function":"select C.druck from cifx C where C.key=110 and C.apnr=ch110_besch_st", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Beschäftigungsstelle (Name)" |
||||
}, |
||||
{"uniquename":"stellen_nr", |
||||
"caption":"Stellen-Nr.", |
||||
"srcfieldname":"stellen_nr", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"Stellen-Nr." |
||||
}, |
||||
{"uniquename":"haushalt_nr", |
||||
"caption":"Stellen-Nr. im HH-Plan", |
||||
"srcfieldname":"haushalt_nr", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"Stellen-Nr. im HH-Plan" |
||||
}, |
||||
{"uniquename":"widmung", |
||||
"caption":"Widmung", |
||||
"srcfieldname":"sva_sgd_widmung", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"Widmung" |
||||
}, |
||||
{"uniquename":"sva_sgd_von", |
||||
"caption":"Stellengültigkeit (von)", |
||||
"srcfieldname":"d_finanz_anfang", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"Stellengültigkeit (von)" |
||||
}, |
||||
{"uniquename":"sva_sgd_bis", |
||||
"caption":"Stellengültigkeit (bis)", |
||||
"srcfieldname":"d_finanz_ende", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"Stellengültigkeit (bis)" |
||||
}, |
||||
{"uniquename":"sgd_ansatz", |
||||
"caption":"Stellen-Ansatz", |
||||
"srcfieldname":"kont_proz_soll", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"Stellen-Ansatz" |
||||
}, |
||||
{"uniquename":"personal_nr", |
||||
"caption":"Personal-Nr.", |
||||
"srcfieldname":"sva_pbe_aggr_personal_nr", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
}, |
||||
{"uniquename":"besch_verh_nr", |
||||
"caption":"Besch.-Verh Nr.", |
||||
"srcfieldname":"sva_pbe_aggr_besch_verh_nr", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
}, |
||||
{"uniquename":"name", |
||||
"caption":"Person Name", |
||||
"srcfieldname":"sva_pbe_aggr_name", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
}, |
||||
{"uniquename":"d_besetz_anfang", |
||||
"caption":"Besetzung gültig (von)", |
||||
"srcfieldname":"sva_pbe_aggr_d_besetz_anfang", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"0", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
} , |
||||
{"uniquename":"d_besetz_ende", |
||||
"caption":"Besetzung gültig (bis)", |
||||
"srcfieldname":"sva_pbe_aggr_d_besetz_ende", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"0", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
}, |
||||
{"uniquename":"pbe_von", |
||||
"caption":"Besetzungsdatum (von)", |
||||
"srcfieldname":"sva_pbe_aggr_pbe_von", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"0", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
} , |
||||
{"uniquename":"pbe_bis", |
||||
"caption":"Besetzungsdatum (bis)", |
||||
"srcfieldname":"sva_pbe_aggr_pbe_bis", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"0", |
||||
"visible_size":"5", |
||||
"is_aggregate":"0", |
||||
"description":"" |
||||
}, |
||||
{"uniquename":"vzae", |
||||
"caption":"VZÄ (Besetzung)", |
||||
"srcfieldname":"sva_pbe_aggr_vzae", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"sum", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"1", |
||||
"description":"" |
||||
} |
||||
] |
||||
/> |
||||
|
||||
<#if rpta_installed==1> |
||||
<@rpta_column_layout_fuellen /> |
||||
</#if> |
@ -1,91 +0,0 @@
@@ -1,91 +0,0 @@
|
||||
--freemarker template |
||||
<#include "RPTA-Makros"/> |
||||
<sqlvars> |
||||
<sqlvar name="sos_stud_astat_exists"> |
||||
select count(*) from rpta_resultset where uniquename='sos_stud_astat'; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
<#assign rpta_column_layout = {"uniquename":"sos_stud_astat_rsz", |
||||
"caption":"MKW-Abfrage_Studierende_RSZ", |
||||
"rpta_resultset":"sos_stud_astat", |
||||
"whereclause":"fach_sem_zahl <= dim_studiengang_regel and dim_studiengang_regel between 1 and 20 and studiengang_nr <=2 and fach_nr <=4", |
||||
"description":"Fachbelegungen: 1. & 2. Studiengang; 1.-4. Fach; nur Studiengänge mit Angabe einer Regelstudienzeit" |
||||
} |
||||
/> |
||||
|
||||
<#assign rpta_columns = [ |
||||
{"uniquename":"sos_k_stort_astat", |
||||
"caption":"Hochschulnummer Statistik", |
||||
"srcfieldname":"sos_k_stort_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtliche Standortnummer" |
||||
}, |
||||
{"uniquename":"dim_studiengang_stg_astat", |
||||
"caption":"HSF-Schlüssel", |
||||
"srcfieldname":"dim_studiengang_stg_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtliches Fach" |
||||
}, |
||||
{"uniquename":"sos_k_stufrm_astat", |
||||
"caption":"Art des Studiums", |
||||
"srcfieldname":"sos_k_stufrm_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtliche Studienform" |
||||
}, |
||||
{"uniquename":"dim_studiengang_abschluss_astat", |
||||
"caption":"Abschlussschlüssel Statistik NRW", |
||||
"srcfieldname":"dim_studiengang_abschluss_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtlicher Abschluss" |
||||
}, |
||||
{"uniquename":"sos_k_stutyp_astat", |
||||
"caption":"Vollzeit / Teilzeit / ausbildungsintegriert / praxisintegriert / berufsintegriert", |
||||
"srcfieldname":"sos_k_stutyp_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtlicher Studiumstyp" |
||||
}, |
||||
{"uniquename":"dim_studiengang_regel", |
||||
"caption":"Angabe der Regelstudienzeit", |
||||
"srcfieldname":"dim_studiengang_regel", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Regelstudienzeit in Semestern" |
||||
}, |
||||
{"uniquename":"summe", |
||||
"caption":"Anzahl der Studierenden in der Regelstudienzeit", |
||||
"srcfieldname":"summe", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"sum", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"1", |
||||
"description":"Summe der Studierenden mit Fachsemester kleiner oder gleich der Regelstudienzeit" |
||||
} |
||||
] |
||||
/> |
||||
|
||||
|
||||
<@rpta_column_layout_fuellen /> |
@ -1,384 +0,0 @@
@@ -1,384 +0,0 @@
|
||||
--freemarker template |
||||
<sqlvars> |
||||
<sqlvar name="rpta_exam_unit_exists"> |
||||
select sp_table_exists('rpta_exam_unit') from xdummy; |
||||
</sqlvar> |
||||
<sqlvar name="fact_table_source"> |
||||
select name |
||||
from sx_tables where name ='rpta_exam_unit' |
||||
|
||||
</sqlvar> |
||||
<sqlvar name="added_tables" type="hashsequence"><![CDATA[ |
||||
select 1::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'dim_studiengang.tid=rpta_exam_unit.tid_stg and rpta_exam_unit.sem_der_pruefung >= semester_von and rpta_exam_unit.sem_der_pruefung <= semester_bis' as joinclause |
||||
from sx_tables where name in ('dim_studiengang') |
||||
|
||||
]]></sqlvar> |
||||
<sqlvar name="fields_target" type="hashsequence"><![CDATA[ |
||||
select tid, table_name, |
||||
name, |
||||
name as targetname |
||||
from sx_fields where table_name ='${fact_table_source}' |
||||
and currentlyused=1 |
||||
|
||||
union |
||||
select tid,table_name, |
||||
name, |
||||
'dim_studiengang_' || name as targetname |
||||
from sx_fields where table_name ='dim_studiengang' |
||||
and currentlyused=1 |
||||
|
||||
|
||||
order by 1 |
||||
|
||||
]]> |
||||
</sqlvar> |
||||
</sqlvars> |
||||
|
||||
<#if rpta_exam_unit_exists==1> |
||||
|
||||
<#assign fact_table_target = {"name":"rpta_exam_unit_dim_studiengang", "caption":"Einzelprüfungen und Studiengänge"} |
||||
/> |
||||
|
||||
drop index if exists ix_rpta_exam_unit_is_modul; |
||||
|
||||
|
||||
CREATE temp table tmp_tables( |
||||
name CHAR(255) , |
||||
caption CHAR(255) , |
||||
description CHAR(255) , |
||||
table_type CHAR(255) , |
||||
systeminfo_id INTEGER , |
||||
systeminfo_orig INTEGER , |
||||
thema CHAR(255) , |
||||
sachgebiete_id CHAR(255) |
||||
); |
||||
CREATE temp TABLE tmp_fields( |
||||
tid serial NOT NULL, |
||||
table_name VARCHAR(255) not null, |
||||
name VARCHAR(255) not null, |
||||
caption VARCHAR(255) , |
||||
description VARCHAR(255) , |
||||
field_type VARCHAR(255) not null, |
||||
field_size VARCHAR(255) , |
||||
field_not_null smallint, |
||||
currentlyused SMALLINT , |
||||
is_primarykey SMALLINT default 0 , |
||||
foreignkey_tab VARCHAR(255) , |
||||
foreignkey_col VARCHAR(255) , |
||||
foreignkey_int VARCHAR(255) , |
||||
foreignkey_cap VARCHAR(255) , |
||||
foreignkey_cond VARCHAR(255) , |
||||
foreignkey_func VARCHAR(255) , |
||||
check_integrity SMALLINT, |
||||
is_sum SMALLINT default 1, |
||||
foreignkey_uniquename VARCHAR(255) |
||||
|
||||
); |
||||
|
||||
|
||||
|
||||
update sx_fields set |
||||
is_sum=0 |
||||
where table_name='rpta_exam_unit' |
||||
and name!='summe'; |
||||
update sx_fields set |
||||
is_sum=1 |
||||
where table_name='rpta_exam_unit' |
||||
and name='summe'; |
||||
|
||||
|
||||
insert into tmp_tables ( |
||||
name, |
||||
caption, |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
) |
||||
select |
||||
'${fact_table_target.name}', |
||||
'${fact_table_target.caption}', |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
from sx_tables where name='${fact_table_source}' |
||||
; |
||||
|
||||
|
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${fact_table_source}' |
||||
and currentlyused=1; |
||||
<#foreach added_table in added_tables> |
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
'${added_table.prefix}' || name, |
||||
'${added_table.caption}: ' || caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${added_table.name}' |
||||
and currentlyused=1; |
||||
</#foreach> |
||||
|
||||
CREATE temp TABLE tmp_rpta_resultset |
||||
( |
||||
caption varchar(255), |
||||
uniquename varchar(255), |
||||
fieldclause text, |
||||
joinclause text, |
||||
whereclause text, |
||||
systeminfo_id integer |
||||
); |
||||
|
||||
insert into tmp_rpta_resultset(caption, |
||||
uniquename, |
||||
systeminfo_id) |
||||
select '${fact_table_target.caption}', |
||||
'${fact_table_target.name}', |
||||
7 |
||||
; |
||||
|
||||
|
||||
update tmp_rpta_resultset set fieldclause=' |
||||
<#foreach field_target in fields_target> |
||||
${field_target.table_name}.${field_target.name} as ${field_target.targetname}, |
||||
</#foreach> |
||||
null::varchar as dummy', |
||||
joinclause='${fact_table_source} |
||||
<#foreach added_table in added_tables> |
||||
left outer join ${added_table.name} on (${added_table.joinclause}) |
||||
</#foreach>'; |
||||
|
||||
select * into temp tmp_rs1 |
||||
from rpta_resultset |
||||
; |
||||
|
||||
update rpta_resultset set caption=T.caption, |
||||
fieldclause=T.fieldclause, |
||||
joinclause=T.joinclause, |
||||
whereclause=T.whereclause |
||||
from tmp_rpta_resultset T |
||||
where T.systeminfo_id=rpta_resultset.systeminfo_id |
||||
and T.uniquename=rpta_resultset.uniquename |
||||
; |
||||
|
||||
insert into rpta_resultset(caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id) |
||||
select caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id |
||||
from tmp_rpta_resultset |
||||
where 0=(select count(*) |
||||
from tmp_rs1 T |
||||
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id |
||||
and T.uniquename=tmp_rpta_resultset.uniquename) |
||||
; |
||||
drop table tmp_rpta_resultset; |
||||
drop table tmp_rs1; |
||||
|
||||
delete from sx_tables where name |
||||
in (select T.name from tmp_tables T); |
||||
|
||||
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) |
||||
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id |
||||
from tmp_tables; |
||||
|
||||
|
||||
delete from sx_fields where table_name |
||||
in (select T.table_name from tmp_fields T); |
||||
|
||||
insert into sx_fields (table_name,name,caption,description,field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyUsed, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_cap, |
||||
foreignkey_int, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
) |
||||
select |
||||
F.table_name,F.name,F.caption,F.description,F.field_type, |
||||
F.field_size, |
||||
F.field_not_null, |
||||
F.currentlyUsed, |
||||
F.foreignkey_tab, |
||||
F.foreignkey_col, |
||||
F.foreignkey_cap, |
||||
F.foreignkey_int, |
||||
F.foreignkey_cond, |
||||
F.foreignkey_func, |
||||
F.check_integrity, |
||||
F.is_sum, |
||||
F.foreignkey_uniquename |
||||
|
||||
from tmp_fields F; |
||||
|
||||
|
||||
drop table tmp_fields; |
||||
drop table tmp_tables; |
||||
|
||||
|
||||
--rpta_column füllen: |
||||
select * into temp tmp_rc1 |
||||
from rpta_column; |
||||
|
||||
|
||||
create temp table tmp_rpta_column( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
srcfieldname varchar(255), |
||||
column_type integer, |
||||
col_function text, |
||||
is_aggregate smallint, |
||||
resultset_id integer, |
||||
description text, |
||||
custom integer default 0 |
||||
); |
||||
|
||||
insert into tmp_rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description) |
||||
select F.name as uniquename, |
||||
coalesce(T.caption,T.name) || ' - ' || F.caption, |
||||
F.name as srcfieldname, |
||||
1 as column_type, |
||||
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function, |
||||
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate, |
||||
R.tid as resultset_id, |
||||
F.description |
||||
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name) |
||||
where F.table_name='${fact_table_target.name}' |
||||
and R.uniquename='${fact_table_target.name}' |
||||
and F.currentlyused=1 |
||||
; |
||||
|
||||
update rpta_column set |
||||
caption=T.caption, |
||||
srcfieldname=T.srcfieldname, |
||||
column_type=T.column_type, |
||||
col_function=T.col_function, |
||||
is_aggregate=T.is_aggregate, |
||||
resultset_id=R.tid, |
||||
description=T.description, |
||||
custom=T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where T.uniquename=rpta_column.uniquename |
||||
and rpta_column.resultset_id=R.tid |
||||
and R.uniquename='${fact_table_target.name}' |
||||
; |
||||
insert into rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description, |
||||
custom) |
||||
select T.uniquename, |
||||
T.caption, |
||||
T.srcfieldname, |
||||
T.column_type, |
||||
T.col_function, |
||||
T.is_aggregate, |
||||
R.tid as resultset_id, |
||||
T.description, |
||||
T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where R.uniquename='${fact_table_target.name}' |
||||
and 0=(select count(*) from tmp_rc1 C |
||||
where C.uniquename=T.uniquename |
||||
and C.resultset_id=R.tid) |
||||
; |
||||
|
||||
drop table tmp_rpta_column; |
||||
drop table tmp_rc1; |
||||
|
||||
</#if> --wenn rpta_exam_unit_exists=1 |
@ -1,395 +0,0 @@
@@ -1,395 +0,0 @@
|
||||
|
||||
--freemarker template |
||||
<sqlvars> |
||||
<sqlvar name="sva_sgd_aggr_exists"> |
||||
select sp_table_exists('sva_sgd_aggr') from xdummy; |
||||
</sqlvar> |
||||
<sqlvar name="fact_table_source"> |
||||
select name |
||||
from sx_tables where name ='sva_sgd_aggr' |
||||
|
||||
</sqlvar> |
||||
<sqlvar name="added_tables" type="hashsequence"><![CDATA[ |
||||
select 1::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sva_sgd.sgd_join_id=sva_sgd_aggr.stellen_nr' as joinclause |
||||
from sx_tables where name in ('sva_sgd') |
||||
union |
||||
select 2::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sva_sgd_aggr.stellen_nr=sva_pbe_aggr.stellen_nr and (sva_sgd_aggr.sbst_nr=sva_pbe_aggr.soe_serial or sva_pbe_aggr.soe_serial is null )' as joinclause |
||||
from sx_tables where name in ('sva_pbe_aggr') |
||||
]]></sqlvar> |
||||
<sqlvar name="fields_target" type="hashsequence"><![CDATA[ |
||||
<#if fact_table_source?exists> |
||||
select tid, table_name, |
||||
name, |
||||
name as targetname |
||||
from sx_fields where table_name ='${fact_table_source}' |
||||
and currentlyused=1 |
||||
|
||||
union |
||||
</#if> |
||||
select tid,table_name, |
||||
name, |
||||
'sva_sgd_' || name as targetname |
||||
from sx_fields where table_name ='sva_sgd' |
||||
and currentlyused=1 |
||||
union |
||||
select tid,table_name, |
||||
name, |
||||
'sva_pbe_aggr_' || name as targetname |
||||
from sx_fields where table_name ='sva_pbe_aggr' |
||||
and currentlyused=1 |
||||
|
||||
order by 1 |
||||
|
||||
]]> |
||||
</sqlvar> |
||||
</sqlvars> |
||||
|
||||
<#if sva_sgd_aggr_exists==1 && fact_table_source?exists > |
||||
|
||||
<#assign fact_table_target = {"name":"sva_pbe_aggr_sgd", "caption":"Stellen, Besetzungen, Personen"} |
||||
/> |
||||
|
||||
|
||||
CREATE temp table tmp_tables( |
||||
name CHAR(255) , |
||||
caption CHAR(255) , |
||||
description CHAR(255) , |
||||
table_type CHAR(255) , |
||||
systeminfo_id INTEGER , |
||||
systeminfo_orig INTEGER , |
||||
thema CHAR(255) , |
||||
sachgebiete_id CHAR(255) |
||||
); |
||||
CREATE temp TABLE tmp_fields( |
||||
tid serial NOT NULL, |
||||
table_name VARCHAR(255) not null, |
||||
name VARCHAR(255) not null, |
||||
caption VARCHAR(255) , |
||||
description VARCHAR(255) , |
||||
field_type VARCHAR(255) not null, |
||||
field_size VARCHAR(255) , |
||||
field_not_null smallint, |
||||
currentlyused SMALLINT , |
||||
is_primarykey SMALLINT default 0 , |
||||
foreignkey_tab VARCHAR(255) , |
||||
foreignkey_col VARCHAR(255) , |
||||
foreignkey_int VARCHAR(255) , |
||||
foreignkey_cap VARCHAR(255) , |
||||
foreignkey_cond VARCHAR(255) , |
||||
foreignkey_func VARCHAR(255) , |
||||
check_integrity SMALLINT, |
||||
is_sum SMALLINT default 1, |
||||
foreignkey_uniquename VARCHAR(255) |
||||
|
||||
); |
||||
|
||||
|
||||
|
||||
update sx_fields set |
||||
is_sum=0 |
||||
where table_name='sva_sgd_aggr' |
||||
and name!='vzae'; |
||||
update sx_fields set |
||||
is_sum=1 |
||||
where table_name='sva_sgd_aggr' |
||||
and name='vzae'; |
||||
|
||||
|
||||
insert into tmp_tables ( |
||||
name, |
||||
caption, |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
) |
||||
select |
||||
'${fact_table_target.name}', |
||||
'${fact_table_target.caption}', |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
from sx_tables where name='${fact_table_source}' |
||||
; |
||||
|
||||
|
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${fact_table_source}' |
||||
and currentlyused=1; |
||||
<#foreach added_table in added_tables> |
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
'${added_table.prefix}' || name, |
||||
'${added_table.caption}: ' || caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${added_table.name}' |
||||
and currentlyused=1; |
||||
</#foreach> |
||||
|
||||
CREATE temp TABLE tmp_rpta_resultset |
||||
( |
||||
caption varchar(255), |
||||
uniquename varchar(255), |
||||
fieldclause text, |
||||
joinclause text, |
||||
whereclause text, |
||||
systeminfo_id integer |
||||
); |
||||
|
||||
insert into tmp_rpta_resultset(caption, |
||||
uniquename, |
||||
systeminfo_id) |
||||
select '${fact_table_target.caption}', |
||||
'${fact_table_target.name}', |
||||
6 |
||||
; |
||||
|
||||
|
||||
update tmp_rpta_resultset set fieldclause=' |
||||
<#foreach field_target in fields_target> |
||||
${field_target.table_name}.${field_target.name} as ${field_target.targetname}, |
||||
</#foreach> |
||||
null::varchar as dummy', |
||||
joinclause='${fact_table_source} |
||||
<#foreach added_table in added_tables> |
||||
left outer join ${added_table.name} on (${added_table.joinclause}) |
||||
</#foreach>'; |
||||
|
||||
select * into temp tmp_rs1 |
||||
from rpta_resultset |
||||
; |
||||
|
||||
update rpta_resultset set caption=T.caption, |
||||
fieldclause=T.fieldclause, |
||||
joinclause=T.joinclause, |
||||
whereclause=T.whereclause |
||||
from tmp_rpta_resultset T |
||||
where T.systeminfo_id=rpta_resultset.systeminfo_id |
||||
and T.uniquename=rpta_resultset.uniquename |
||||
; |
||||
|
||||
insert into rpta_resultset(caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id) |
||||
select caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id |
||||
from tmp_rpta_resultset |
||||
where 0=(select count(*) |
||||
from tmp_rs1 T |
||||
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id |
||||
and T.uniquename=tmp_rpta_resultset.uniquename) |
||||
; |
||||
drop table tmp_rpta_resultset; |
||||
drop table tmp_rs1; |
||||
|
||||
delete from sx_tables where name |
||||
in (select T.name from tmp_tables T); |
||||
|
||||
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) |
||||
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id |
||||
from tmp_tables; |
||||
|
||||
|
||||
delete from sx_fields where table_name |
||||
in (select T.table_name from tmp_fields T); |
||||
|
||||
insert into sx_fields (table_name,name,caption,description,field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyUsed, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_cap, |
||||
foreignkey_int, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
) |
||||
select |
||||
F.table_name,F.name,F.caption,F.description,F.field_type, |
||||
F.field_size, |
||||
F.field_not_null, |
||||
F.currentlyUsed, |
||||
F.foreignkey_tab, |
||||
F.foreignkey_col, |
||||
F.foreignkey_cap, |
||||
F.foreignkey_int, |
||||
F.foreignkey_cond, |
||||
F.foreignkey_func, |
||||
F.check_integrity, |
||||
F.is_sum, |
||||
F.foreignkey_uniquename |
||||
|
||||
from tmp_fields F; |
||||
|
||||
|
||||
drop table tmp_fields; |
||||
drop table tmp_tables; |
||||
|
||||
|
||||
--rpta_column füllen: |
||||
select * into temp tmp_rc1 |
||||
from rpta_column; |
||||
|
||||
|
||||
create temp table tmp_rpta_column( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
srcfieldname varchar(255), |
||||
column_type integer, |
||||
col_function text, |
||||
is_aggregate smallint, |
||||
resultset_id integer, |
||||
description text, |
||||
custom integer default 0 |
||||
); |
||||
|
||||
insert into tmp_rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description) |
||||
select F.name as uniquename, |
||||
coalesce(T.caption,T.name) || ' - ' || F.caption, |
||||
F.name as srcfieldname, |
||||
1 as column_type, |
||||
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function, |
||||
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate, |
||||
R.tid as resultset_id, |
||||
F.description |
||||
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name) |
||||
where F.table_name='${fact_table_target.name}' |
||||
and R.uniquename='${fact_table_target.name}' |
||||
and F.currentlyused=1 |
||||
; |
||||
|
||||
update rpta_column set |
||||
caption=T.caption, |
||||
srcfieldname=T.srcfieldname, |
||||
column_type=T.column_type, |
||||
col_function=T.col_function, |
||||
is_aggregate=T.is_aggregate, |
||||
resultset_id=R.tid, |
||||
description=T.description, |
||||
custom=T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where T.uniquename=rpta_column.uniquename |
||||
and rpta_column.resultset_id=R.tid |
||||
and R.uniquename='${fact_table_target.name}' |
||||
; |
||||
insert into rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description, |
||||
custom) |
||||
select T.uniquename, |
||||
T.caption, |
||||
T.srcfieldname, |
||||
T.column_type, |
||||
T.col_function, |
||||
T.is_aggregate, |
||||
R.tid as resultset_id, |
||||
T.description, |
||||
T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where R.uniquename='${fact_table_target.name}' |
||||
and 0=(select count(*) from tmp_rc1 C |
||||
where C.uniquename=T.uniquename |
||||
and C.resultset_id=R.tid) |
||||
; |
||||
|
||||
drop table tmp_rpta_column; |
||||
drop table tmp_rc1; |
||||
|
||||
</#if> --wenn sva_sgd_aggr_exists=1 |
@ -1,320 +0,0 @@
@@ -1,320 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet version="1.0" |
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:import href="pageComponents_html.xsl" /> |
||||
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, |
||||
die in ihrer Präzedenz das normale Stylesheet |
||||
pageComponents_html.xsl überragt. --> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
<xsl:import href="resultset_html.xsl" /> |
||||
<xsl:import href="interLinks_html.xsl" /> |
||||
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> |
||||
|
||||
<xml:output method="application/vnd.ms-excel" /> |
||||
<xsl:template match="/"> |
||||
<xsl:call-template name="xlsworkbook"/> |
||||
</xsl:template> |
||||
<xsl:template name="xlsworkbook"> |
||||
<xls_workbook vorlage=""> |
||||
|
||||
<!-- define the xl styles--> |
||||
<xsl:call-template name="xls_Styles" /> |
||||
<!--Seitenformat--> |
||||
<xsl:call-template name="xls_PageFormat" /> |
||||
<!-- define the xl data for the first sheet --> |
||||
<xsl:for-each select="ergebnisse/ergebnis/ergebniselement"> |
||||
<xsl:choose> |
||||
<xsl:when test="@typ='image'"> |
||||
<xsl:text> |
||||
|
||||
</xsl:text> |
||||
</xsl:when> |
||||
<xsl:when test="@typ='tabelle'"> |
||||
|
||||
<xsl:call-template name="xslsheet"/> |
||||
|
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:for-each> |
||||
|
||||
</xls_workbook> |
||||
</xsl:template> |
||||
|
||||
<xsl:template name="xslsheet"> |
||||
<xls_sheet name="{substring-after(substring-after(../felder/feld[ @varname='Studiengang']/value,'_'),'_')}"> |
||||
|
||||
<xls_row height="600"> |
||||
<xls_cell style="maskenname" width="10000"><xsl:value-of select="../maskenname" /></xls_cell> |
||||
</xls_row> |
||||
|
||||
|
||||
<xsl:call-template name="legende_xl"> </xsl:call-template> |
||||
<xls_row height="1000"><xls_cell></xls_cell></xls_row> |
||||
|
||||
<xsl:call-template name="xlsheader"/> |
||||
|
||||
<xsl:call-template name="xslrows"/> |
||||
</xls_sheet> |
||||
</xsl:template> |
||||
|
||||
<xsl:template name="xslrows"> |
||||
<xsl:for-each select="sqlerg/row"> |
||||
<xsl:call-template name="xslsinglerow"/> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
|
||||
|
||||
<xsl:template name="xslsinglerow"> |
||||
<xsl:variable name="erglevelmax"> |
||||
<xsl:if test="count(../../sqlerg/row/col [ f_name = 'ebene' ]) > 0"> |
||||
<xsl:choose> |
||||
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '4']) > 0"> |
||||
<xsl:text>4</xsl:text> |
||||
</xsl:when> |
||||
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '3']) > 0"> |
||||
<xsl:text>3</xsl:text> |
||||
</xsl:when> |
||||
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '2']) > 0"> |
||||
<xsl:text>2</xsl:text> |
||||
</xsl:when> |
||||
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '1']) > 0"> |
||||
<xsl:text>1</xsl:text> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:text>5</xsl:text> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:if> |
||||
</xsl:variable> |
||||
<!--Hinweis: Wenn für die row eine Ebene angegeben ist, wird die Darstellung vom Server definiert |
||||
Style der Zelle (z.B. body_dec) wird ignoriert, Attribut numeric ist wichtig für Darstellung, |
||||
per datatype decimal wird Nachkommastellenanzeige eingestellt--> |
||||
<xls_row> |
||||
<!-- DQ 14.12.07 In Zukunft noch erglevelmax auswerten when$erglevelmax = 5 and --> |
||||
<xsl:if test="count(col[ f_name = 'ebene' ]) > 0"> |
||||
<xsl:attribute name="ebene"><xsl:value-of select="6-$erglevelmax+number(col[ f_name = 'ebene' ]/wert)" /></xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:if test="@issumme='true'"> |
||||
<xsl:attribute name="ebene"><xsl:value-of select="'summe'" /></xsl:attribute> |
||||
</xsl:if> |
||||
<!--MB keine Zelle für Linkspalten, 4/2010 keine versteckten Spalten--> |
||||
<xsl:for-each select="col[(starts-with(f_name,'hidden'))=false and starts-with(f_name,'next') = false ]"> |
||||
<xls_cell> |
||||
|
||||
<xsl:variable name="checkname"><xsl:value-of select="concat('hidden',f_name,'dp')"/></xsl:variable> |
||||
<xsl:choose> <!--MB wenn es eine versteckte hidden_decimalpl gibt auswerten--> |
||||
|
||||
<!--MB 4/2010 wenn decimalzahl aber decimalplaces=0 als nicht als decimal sondern integer ausgeben s.u. --> |
||||
<!-- typ 8 timestamp nicht als Decimalzahl sondern Text ausgeben --> |
||||
<xsl:when test="(@typ='2' or @typ='3') and count(../col[f_name=$checkname]) = 0"> <!-- DecimalFormat --> |
||||
<xsl:attribute name="style">body_dec</xsl:attribute> |
||||
<xsl:attribute name="numeric">true</xsl:attribute> |
||||
<xsl:attribute name="datatype">decimal</xsl:attribute> |
||||
<xsl:choose> |
||||
<xsl:when test="wert != ''"> |
||||
<xsl:value-of select="wert" /> |
||||
<!--<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />--> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="' '" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:when> |
||||
<xsl:when test="(@typ='2' or @typ='3') and count(../col[f_name=$checkname]) >0 and ../col[f_name=$checkname]/wert!='0'"> <!-- DecimalFormat --> |
||||
<xsl:attribute name="style">body_dec</xsl:attribute> <!-- row.ebene überlagert ggfs! --> |
||||
<xsl:attribute name="numeric">true</xsl:attribute> |
||||
<xsl:attribute name="datatype">decimal</xsl:attribute> |
||||
<!--<xsl:value-of select="wert" />--> |
||||
<xsl:choose> |
||||
<xsl:when test="wert != ''"> |
||||
<xsl:value-of select="wert" /> |
||||
<!--<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />--> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="' '" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
</xsl:when> |
||||
|
||||
<xsl:when test="../col[f_name=$checkname]/wert='0' or @typ='4' or @typ='5'"> <!-- MB: Integer/ auch typ 5 Smallint --> |
||||
<xsl:attribute name="style">body_int</xsl:attribute> <!-- row.ebene überlagert ggfs! --> |
||||
<xsl:attribute name= "numeric">true</xsl:attribute> |
||||
<xsl:attribute name="datatype">integer</xsl:attribute> |
||||
<!--<xsl:value-of select="wert" />--> |
||||
<xsl:choose> |
||||
<xsl:when test="wert != ''"> |
||||
<!-- MB formatierung format-number(wert,'###.###.###.###.###','German') raus, macht Excel selbst --> |
||||
<xsl:value-of select="wert " /> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="' '" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
</xsl:when> |
||||
<!-- deutsche datumsfelder können von POI noch nicht richtig verarbeitet werden |
||||
<xsl:when test="@typ='91'"> |
||||
<xsl:attribute name="style">body_date</xsl:attribute> |
||||
<xsl:attribute name="datatype">date</xsl:attribute> |
||||
<xsl:value-of select="wert " /> |
||||
</xsl:when> |
||||
--> |
||||
<xsl:otherwise> |
||||
<!--Typ=1 ist string und wird defaultmäßig behandelt --> |
||||
<xsl:attribute name="style">body</xsl:attribute> <!-- row.ebene überlagert ggfs! --> |
||||
<xsl:call-template name="field_type" /> |
||||
<!-- MB 8/2015 da next... eh nicht angezeigt werden kann auf resultsetLink verzichtet werden, |
||||
so kommen bei Usern die emailadressen als reiner text raus |
||||
|
||||
<xsl:variable name="zs"> |
||||
<xsl:call-template name="field_value"> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:call-template name="resultsetLink"> |
||||
<xsl:with-param name="zs2" select="$zs" /> |
||||
</xsl:call-template> |
||||
--> |
||||
<xsl:call-template name="field_value"/> |
||||
<!-- MB 5.5.08 ablegen in zs3 und aufruf von get_val_or_nbsp nicht nötig--> |
||||
|
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
</xls_cell> |
||||
|
||||
</xsl:for-each><!--cell--> |
||||
|
||||
</xls_row> |
||||
</xsl:template> |
||||
|
||||
<xsl:template name="xlsheader"> |
||||
<xsl:choose> |
||||
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@hasAggregationHeaders='true'"> |
||||
<xsl:variable name="nr_rows"><xsl:value-of select="count(sqlerg/aggregationHeaders/tr)" /></xsl:variable> |
||||
<xsl:for-each select="sqlerg/aggregationHeaders/tr"> |
||||
<!-- AK 20.08.2014 Der Header bekommt eine höhere Zeile--> |
||||
<xls_row height="600"> |
||||
<xsl:if test="position()=1"> |
||||
<xsl:attribute name="repeating"><xsl:value-of select="$nr_rows" /></xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:for-each select="th"> |
||||
<xsl:if test="starts-with(@f_name,'next') = false and starts-with(@f_name,'hidden') = false"> |
||||
<xls_cell style="heading"> |
||||
<xsl:attribute name="width"><xsl:value-of select="@width * 280" /> </xsl:attribute> |
||||
<xsl:if test="@colspan != ''"> |
||||
<xsl:attribute name="colspan"><xsl:value-of select="@colspan" /> </xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:if test="@rowspan != ''"> |
||||
<xsl:attribute name="rowspan"><xsl:value-of select="@rowspan" /> </xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:call-template name="removeBackslashN" > |
||||
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param> |
||||
<xsl:with-param name="format"><xsl:value-of select="'xls'" /></xsl:with-param> |
||||
</xsl:call-template> |
||||
</xls_cell> |
||||
</xsl:if> |
||||
</xsl:for-each> |
||||
</xls_row> |
||||
</xsl:for-each> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<!-- alt Normale headers --> |
||||
<xls_row repeating="true"> |
||||
<!--MB 04/2010 versteckte Spalten nicht kein Header für Linkspalten--> --> |
||||
<xsl:for-each select="sqlerg/headers/header[(starts-with(f_name,'hidden'))=false and starts-with(f_name,'next') = false ]"> |
||||
<xsl:call-template name="xlssingleheader"> |
||||
<xsl:with-param name="derwert" select="wert" /> |
||||
</xsl:call-template> |
||||
</xsl:for-each> |
||||
</xls_row> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template name="xlssingleheader"> |
||||
<xsl:param name="derwert" /> |
||||
<xls_cell style="heading"> |
||||
<xsl:attribute name="width"><xsl:value-of select="@width * 280" /> </xsl:attribute> |
||||
<!--max. 2 Umbrüche pro Zelle --> |
||||
<!--<xsl:value-of select="string($derwert) "/>--> |
||||
|
||||
<xsl:variable name="header1"> |
||||
<xsl:choose> |
||||
<xsl:when test="(contains(string($derwert),'\n'))"> |
||||
<xsl:value-of select="substring-before($derwert,'\n') "/> |
||||
<xsl:text> |
||||
</xsl:text> |
||||
<xsl:value-of select="substring-after($derwert,'\n') "/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:copy-of select="$derwert" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<xsl:variable name="header2"> |
||||
<xsl:choose> |
||||
<xsl:when test="(contains(string($header1),'\n'))"> |
||||
<xsl:value-of select="substring-before($header1,'\n') "/> |
||||
<xsl:text> |
||||
</xsl:text> |
||||
<xsl:value-of select="substring-after($header1,'\n') "/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$header1" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<xsl:choose> |
||||
<xsl:when test="(contains(string($header2),'\000'))"> |
||||
<xsl:value-of select="substring-before($header2,'\000') "/> |
||||
<xsl:text> |
||||
</xsl:text> |
||||
<xsl:value-of select="substring-after($header2,'\000') "/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$header2" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
</xls_cell> |
||||
</xsl:template> |
||||
<xsl:template name="legende_xl"> |
||||
<xls_row height="1000"> |
||||
<xls_cell style="legende"> |
||||
<xsl:for-each select="../felder/feld"> |
||||
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and @varname!='##line##' "> |
||||
<xsl:choose> |
||||
<xsl:when test="string-length(caption_short) > 0 and caption_short != 'null'" > |
||||
<![CDATA[]]><xsl:value-of select="normalize-space(string(caption_short))" /><![CDATA[]]> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<![CDATA[]]><xsl:value-of select="normalize-space(string(@varname))" /><![CDATA[]]> |
||||
</xsl:otherwise> |
||||
</xsl:choose><xsl:text>: </xsl:text> |
||||
<![CDATA[]]><xsl:value-of select="normalize-space(string(value_caption))" /><![CDATA[]]> |
||||
<!-- bei Mehrfachauswahl keine Einschränkung auf 50 Zeichen sinnvoll |
||||
<xsl:if test="string-length(wert/caption) < 50"> |
||||
<![CDATA[]]><xsl:value-of select="normalize-space(string(value_caption))" /><![CDATA[]]> |
||||
</xsl:if> |
||||
<xsl:if test="string-length(wert/caption) > 49"> |
||||
<![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]><xsl:text>...</xsl:text> |
||||
</xsl:if>--> |
||||
<xsl:if test="sicht!=''"> |
||||
<![CDATA[]]><xsl:text> (</xsl:text><xsl:value-of select="sicht" /> |
||||
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if> |
||||
<xsl:text>)</xsl:text><![CDATA[]]> |
||||
</xsl:if> |
||||
<xsl:text>; </xsl:text> |
||||
</xsl:if> |
||||
</xsl:for-each> |
||||
<xsl:text>User: </xsl:text><xsl:value-of select="/ergebnisse/user" /> |
||||
<xsl:text>; Stand: </xsl:text><xsl:value-of select="../stand" /> |
||||
</xls_cell> |
||||
</xls_row> |
||||
<xsl:if test="../hinweis!=''"> |
||||
<xls_row height="1000"><xls_cell style="legende"><xsl:value-of select="../hinweis"/></xls_cell></xls_row> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
Loading…
Reference in new issue