Compare commits

..

No commits in common. 'master' and 'rpta_0.3_Release' have entirely different histories.

  1. 2
      .gitignore
  2. 3
      src-modules/module/rpta/conf/includes.txt
  3. 37
      src-modules/module/rpta/conf/rpta.xml
  4. 9
      src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
  5. 2
      src-modules/module/rpta/masken/48000_felderinfo.unl
  6. 2
      src-modules/module/rpta/masken/48000_masken_felder_bez.unl
  7. 28
      src-modules/module/rpta/masken/48000_maskeninfo.unl
  8. 15
      src-modules/module/rpta/masken/48040_maskeninfo.unl
  9. 7
      src-modules/module/rpta/masken/48110_felderinfo.unl
  10. 1
      src-modules/module/rpta/masken/48110_masken_felder_bez.unl
  11. 112
      src-modules/module/rpta/masken/48110_maskeninfo.unl
  12. 28
      src-modules/module/rpta/masken/48140_felderinfo.unl
  13. 1
      src-modules/module/rpta/masken/48140_maske_system_bez.unl
  14. 16
      src-modules/module/rpta/masken/48140_masken_felder_bez.unl
  15. 216
      src-modules/module/rpta/masken/48140_maskeninfo.unl
  16. 1
      src-modules/module/rpta/masken/48140_sachgeb_maske_bez.unl
  17. 16
      src-modules/module/rpta/masken/48150_felderinfo.unl
  18. 1
      src-modules/module/rpta/masken/48150_maske_system_bez.unl
  19. 10
      src-modules/module/rpta/masken/48150_masken_felder_bez.unl
  20. 122
      src-modules/module/rpta/masken/48150_maskeninfo.unl
  21. 1
      src-modules/module/rpta/masken/48150_sachgeb_maske_bez.unl
  22. 156
      src-modules/module/rpta/schluesseltabellen/fm_templates.unl
  23. 23
      src-modules/module/rpta/schluesseltabellen/macro_masken_bez_fuellen.sql
  24. 325
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
  25. 443
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
  26. 554
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql
  27. 10
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_fuellen.sql
  28. 154
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_fuellen.sql
  29. 219
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_meldung_fuellen.sql
  30. 707
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_stat_staat_geschl.sql
  31. 450
      src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql
  32. 26
      src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
  33. 14
      src-modules/module/rpta/upgrade/rpta_pre_upgrade_pg.sql
  34. 1
      src-modules/module/rpta/upgrade/rpta_upgrade_man.sql
  35. 414
      superx/WEB-INF/reports/48110_leistungen_und_studiengaenge.jrxml
  36. 16
      superx/edit/rpta/rpta_column_layout_add_column.inc
  37. 81
      superx/xml/rpta_templates.xsl
  38. 7
      superx/xml/tabelle_jrxml_a4_quer.xsl
  39. 320
      superx/xml/tabelle_xls_48140.xsl

2
.gitignore vendored

@ -1,2 +0,0 @@ @@ -1,2 +0,0 @@
test/booklet_ohne_cover

3
src-modules/module/rpta/conf/includes.txt

@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
edit/rpta/rpta_column_layout_add_column.inc
doku/rpta_modul/rpta.html
WEB-INF/conf/edustore/db/bin/SQL_ENV_rpta.sam
images/icons/file-excel_rpta.svg
@ -6,9 +5,7 @@ images/icons/magic.svg @@ -6,9 +5,7 @@ images/icons/magic.svg
WEB-INF/conf/edustore/db/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
WEB-INF/lib/superx-rpta.jar
WEB-INF/reports/simple_table.jrtx
WEB-INF/reports/48110_leistungen_und_studiengaenge.jrxml
xml/tabelle_jrxml_a4_quer.xsl
xml/tabelle_jrxml_book_without_cover.xsl
xml/tabelle_xls_48140.xsl
xml/rpta_templates.xsl
xml/rpta_assistent.xsl

37
src-modules/module/rpta/conf/rpta.xml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="rpta" version="0.4b" sachgebiet_id="330"
<module name="rpta" version="0.3" sachgebiet_id="330"
sachgebiet="Berichtsassistent" systeminfo_id="330"
system="Berichtsassistent" thema="Berichtsassistent" thema_parent="Abfragen">
<database name="superx" system="superx">
@ -21,7 +21,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -21,7 +21,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="column_type" type="INTEGER" size="" default="" notnull="true" description="Spaltentyp" ><comment>Physische Spalte/Logische Spalte/Lookup</comment></column>
<column name="col_function" type="TEXT" size="255" default="" notnull="" description="Funktion" ><comment>Bei logischen Spalten/Lookup</comment></column>
<column name="is_aggregate" type="SMALLINT" size="2" default="" notnull="" description="Aggregierte Spalte" ></column>
<column name="resultset_id" type="INTEGER" size="255" default="" notnull="true" description="Resultset" />
<column name="resultset_id" type="INTEGER" size="255" default="" notnull="" description="Resultset" />
<column name="custom" type="INTEGER" size="255" default="1" notnull="" description="Manuell erstellt" ><comment>0 = Auslieferung</comment></column>
<column name="description" type="TEXT" size="255" default="" notnull="" description="Beschreibung" ><comment>Erläuterungstext</comment></column>
@ -38,10 +38,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -38,10 +38,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
</rs>
</primaryKeys>
<indexes>
<index name="ix_rpta_column1" type="unique">
<index-column name="uniquename"/>
<index-column name="resultset_id"/>
</index>
</indexes>
</table>
@ -104,7 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -104,7 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="description" type="TEXT" size="255" default="" notnull="" description="Beschreibung" ><comment>Erläuterungstext</comment></column>
<column name="userinfo_id" type="INTEGER" size="255" default="" notnull="" description="Angelegt von" ></column>
<column name="sortnr" type="INTEGER" size="255" default="" notnull="" description="Sortiernummer" sortable="true"><comment>Kann leer bleiben, wenn nach Bezeichnung sortiert wird.</comment></column>
<column name="sortclause" type="TEXT" size="255" default="" notnull="false" description="Bedingung (order by)" />
</columns>
<primaryKeys><rs>
<row>
@ -156,7 +153,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -156,7 +153,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="column_id" type="INTEGER" size="255" default="" notnull="" description="Spalte" />
<column name="layout_id" type="INTEGER" size="255" default="" notnull="" description="Layout" isKey="true" />
<column name="sortnr" type="SMALLINT" size="2" default="" notnull="" description="Sortiernr." sortable="true"/>
<column name="is_visible" type="SMALLINT" size="2" default="1" notnull="" description="Sichtbare Spalte" ></column>
<column name="is_visible" type="SMALLINT" size="2" default="" notnull="" description="Sichtbare Spalte" ></column>
<column name="visible_size" type="SMALLINT" size="2" default="" notnull="" description="Breite in Zeichen" ><comment>Bei String-Spalten</comment></column>
<column name="format_code_id" type="INTEGER" size="255" default="" notnull="" description="Format-Code" ><comment>Bei DECIMAL- und Datumsspalten</comment></column>
<column name="targetfieldname" type="VARCHAR" size="255" default="" notnull="" description="Zielfeld" currentlyUsed="false" />
@ -264,7 +261,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -264,7 +261,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="pversuch" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="elementnr" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="summe" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="panerk" type ="CHAR" size ="10" default ="" notnull ="false" />
</columns>
<indexes>
<index name="rpta_exam_unit1" unique="false">
@ -333,25 +329,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t @@ -333,25 +329,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48150" name="Spalten anlegen" thema="Administration Berichtsassistent">
<description>Spalten erzeugen</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<!--<maske tid="48140" name="Leistungen und Studiengänge (Makro)" thema="Berichtsassistent">
<maske tid="48140" name="Leistungen und Studiengänge (Makro)" thema="Berichtsassistent">
<description>Leistungen und Studiengänge</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48170" name="RPTA-Jobs ausführen" thema="Berichtsassistent">
<description>Leistungen und Studiengänge</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>-->
</masken>
<data-integrity>
@ -507,10 +490,7 @@ scriptfile="" database=""/> @@ -507,10 +490,7 @@ scriptfile="" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_exam_unit_dim_studiengang_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_rsz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sgd_pbe_pbv_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_meldung_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
</action>
</install-step>
@ -552,10 +532,7 @@ scriptfile="" database=""/> @@ -552,10 +532,7 @@ scriptfile="" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_exam_unit_dim_studiengang_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_rsz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sgd_pbe_pbv_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_meldung_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
</action>
@ -628,7 +605,7 @@ mode="full"> @@ -628,7 +605,7 @@ mode="full">
mode="full">
<field-selection complete="false" />
<customfield name="layout_id" type="hidden" overrideValue="tid" />
<customfield name="column_id" type="include" path="/edit/rpta/rpta_column_layout_add_column.inc"/>
<customfield name="column_id" nullFieldValue="" visibleSize="5" />
<customfield name="sortnr" nullFieldValue="" visibleSize="10" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_column2layout_edit.jsp"
linkVar="tid" linkid="tid" mandatoryFilter="" mandatoryFilterVar=""/>

9
src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql

@ -32,8 +32,7 @@ insert into rpta_exam_unit (matrikel_nr, @@ -32,8 +32,7 @@ insert into rpta_exam_unit (matrikel_nr,
pdtxt,
pversuch,
elementnr,
summe,
panerk)
summe)
SELECT
matrikel_nr,
labnr,
@ -54,8 +53,7 @@ SELECT @@ -54,8 +53,7 @@ SELECT
pdtxt,
pversuch,
elementnr,
summe,
panerk
summe
FROM lm_exam_unit
UNION SELECT
@ -78,8 +76,7 @@ UNION SELECT @@ -78,8 +76,7 @@ UNION SELECT
pdtxt,
pversuch,
pnr::varchar(255) as elementnr,
summe,
(select L.panerk from sos_lab L where L.labnr=sos_lab_pord.labnr and L.sourcesystem = 5)
summe
FROM sos_lab_pord
WHERE sourcesystem = 5
;

2
src-modules/module/rpta/masken/48000_felderinfo.unl

@ -22,8 +22,6 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^ @@ -22,8 +22,6 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^
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^ ^ ^ ^
48014^Filter Studierende^100^0^0^140^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='SOS_STUD_FILTER' order by 2;^^^
48015^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
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>>\

2
src-modules/module/rpta/masken/48000_masken_felder_bez.unl

@ -12,8 +12,6 @@ @@ -12,8 +12,6 @@
48000^48011^
48000^48012^
48000^48013^
48000^48014^
48000^48015^
48000^48018^
48000^48022^
48000^48023^

28
src-modules/module/rpta/masken/48000_maskeninfo.unl

@ -61,18 +61,6 @@ and L.uniquename=<<Spaltenlayout>>\ @@ -61,18 +61,6 @@ and L.uniquename=<<Spaltenlayout>>\
order by CL.sortnr\
;\
]]></sqlvar>\
<sqlvar name="endsemester"><![CDATA[\
SELECT max(tid)\
from semester \
where 1=1\
/* and tid >= <<Seit Semester>> */\
/* and tid <= <<Bis Semester>> */\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
</#if>\
;\
\
]]></sqlvar>\
</sqlvars>\
\
<#assign jahr_param="" />\
@ -87,19 +75,9 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -87,19 +75,9 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign semester_filter ="1=1\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein >= <<Seit Semester>> */\
/* and sem_rueck_beur_ein <= <<Bis Semester>> */\
" />\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
<#assign semester_filter = semester_filter+ " and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>'" />\
</#if>\
<#if "<<Nur Endsemester>>"="1">\
--nur Endsemester\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_rueck_beur_ein = "+endsemester /> \
</#if>\
\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and <<Hochschulzugangsberechtigung>> */\
@ -108,14 +86,10 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -108,14 +86,10 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>' */\
/* and ${<<Filter Studierende>>} */\
" />\
\
<#assign filter= filter + " and " + jahr_filter />\
\
<#assign filter= filter + " and " + semester_filter />\
\
\
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
/* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\
/* <#assign filter = filter + " and stg in "+Fächer.allNeededKeysList /> --<<Fächer>> */\

15
src-modules/module/rpta/masken/48040_maskeninfo.unl

@ -62,6 +62,19 @@ where R.tid=tmp_rpta_column.resultset_id;\ @@ -62,6 +62,19 @@ where R.tid=tmp_rpta_column.resultset_id;\
\
\
\
insert into tmp_rpta_column (ord,\
caption, \
nextedit) \
select 10, --ord\
'Neuer Eintrag',\
nvl(('../edit/qa/rpta_column_edit.jsp|tid=' || max(tid)+1)::varchar(255),'../edit/qa/rpta_column_edit.jsp'::varchar(255))\
from rpta_column\
;\
\
\
\
\
\
select \
caption,\
uniquename,\
@ -105,4 +118,4 @@ Column CID=1 heading_text="Individuelle Spalte" center_heading\ @@ -105,4 +118,4 @@ Column CID=1 heading_text="Individuelle Spalte" center_heading\
Column CID=1 heading_text="Bearbeiten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
@@@^^^Spaltendefinitionen und deren Zuordnung zu Berichten verwalten.^drop table tmp_rpta_column;^^1^440^360^0^1^ ^
@@@^^^Spaltendefinitionen und deren Zuordnung zu Berichten verwalten.^drop table tmp_rpta_column;^^1^440^360^0^1^^

7
src-modules/module/rpta/masken/48110_felderinfo.unl

@ -13,12 +13,11 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp @@ -13,12 +13,11 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp
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^^
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;^ ^ ^
48119^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;^ ^ ^
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';^
@ -26,5 +25,3 @@ union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht @@ -26,5 +25,3 @@ union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht
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;^ ^ ^
48134^tablestylesheet^19^0^0^100^150^1^char^200^1^1^<<SQL>>\
select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48110^hidden^<<SQL>>select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48110 and ord=1^

1
src-modules/module/rpta/masken/48110_masken_felder_bez.unl

@ -13,4 +13,3 @@ @@ -13,4 +13,3 @@
48110^48128^
48110^48132^
48110^48133^
48110^48134^

112
src-modules/module/rpta/masken/48110_maskeninfo.unl

@ -34,8 +34,7 @@ select caption,\ @@ -34,8 +34,7 @@ select caption,\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause,\
L.sortclause\
L.whereclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
@ -91,7 +90,114 @@ and ${filter}\ @@ -91,7 +90,114 @@ and ${filter}\
\
\
\
<@rpta_interpret_column_layout />\
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 &lt; 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\

28
src-modules/module/rpta/masken/48140_felderinfo.unl

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
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^0^^ ^ ^
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;^ ^ ^
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';^
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^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;^ ^ ^
48164^Fächer^30^0^0^130^200^6^char^1000^1^1^<<SQL>> select stg,dtxt from k_stg order by 2;^ ^ ^

1
src-modules/module/rpta/masken/48140_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
48140^7^

16
src-modules/module/rpta/masken/48140_masken_felder_bez.unl

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
48140^48140^
48140^48141^
48140^48142^
48140^48143^
48140^48144^
48140^48145^
48140^48146^
48140^48147^
48140^48148^
48140^48149^
48140^48151^
48140^48152^
48140^48158^
48140^48162^
48140^48163^
48140^48164^

216
src-modules/module/rpta/masken/48140_maskeninfo.unl

@ -0,0 +1,216 @@ @@ -0,0 +1,216 @@
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 &lt; 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
src-modules/module/rpta/masken/48140_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
16^48140^

16
src-modules/module/rpta/masken/48150_felderinfo.unl

@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
48150^Benutzer/in^50^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,nvl(name,benutzer) from userinfo order by 2;^hidden^^
48151^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;^hidden^^
48152^Spaltenlayouts verwalten^110^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_column_layout_list.jsp' from xdummy;^
48153^Name^20^0^0^150^150^1^char^50^0^0^^^^
48154^Schlüssel^30^0^0^150^200^1^char^200^0^0^ ^ ^^
48155^Virtuelle Tabellen bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_resultset_list.jsp' from xdummy;^
48156^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^1^1^<<SQL>> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^
48157^Spaltentyp^200^0^0^150^200^1^integer^200^1^1^<<SQL>> select tid,caption from rpta_column_type order by 2;^^<<SQL>> select tid,caption from rpta_column_type\
where uniquename='physicalColumn'^
48158^Komponente^1^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,name from systeminfo order by 2;^ ^^
48159^Quellfeld^7^0^0^150^200^1^char^200^0^1^<<SQL>> select F.name,coalesce(trim(F.caption),'Feld') || ' (' || trim(F.name) || ')' \
from sx_fields F, rpta_resultset R\
where F.table_name=R.uniquename\
/* and R.tid=<<Virtuelle Tabelle>> */\
and currentlyused=1\
order by 1^ ^^

1
src-modules/module/rpta/masken/48150_maske_system_bez.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
48150^330^

10
src-modules/module/rpta/masken/48150_masken_felder_bez.unl

@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
48150^48150^
48150^48151^
48150^48152^
48150^48153^
48150^48154^
48150^48155^
48150^48156^
48150^48157^
48150^48158^
48150^48159^

122
src-modules/module/rpta/masken/48150_maskeninfo.unl

@ -1,122 +0,0 @@ @@ -1,122 +0,0 @@
48150^Spalte anlegen^--Autor: D. Quathamer\
--Datum: 15.3.2024\
--freemarker template\
\
create temp table tmp_rpta_column (\
ord smallint,\
tid INTEGER , \
uniquename varchar(255),\
caption varchar(255),\
srcfieldname varchar(255),\
column_type integer,\
column_type_str varchar(255),\
column_type_uniquename varchar(255),\
col_function text,\
is_aggregate smallint,\
resultset_id integer,\
resultset_str varchar(255),\
systeminfo_str varchar(255),\
custom integer ,\
description text,\
targetfieldname varchar(255),\
nextedit varchar(255)\
);\
\
begin work;\
\
insert into tmp_rpta_column (--ord,\
-- tid,\
-- uniquename,\
-- caption,\
-- srcfieldname,\
column_type,\
column_type_str,\
column_type_uniquename,\
-- col_function,\
-- is_aggregate,\
resultset_id\
-- custom,\
-- description,\
-- targetfieldname,\
-- nextedit\
) \
select \
T.tid,\
T.caption as column_type_str,\
T.uniquename as column_type_uniquename,\
<<Virtuelle Tabelle>> as resultset_id\
FROM rpta_column_type T \
where T.tid=<<Spaltentyp>> \
;\
\
update tmp_rpta_column set resultset_str=R.caption\
from rpta_resultset R\
where R.tid=tmp_rpta_column.resultset_id;\
\
/*update tmp_rpta_column set srcfieldname=F.name,\
is_aggregate=F.is_sum,\
uniquename=F.name,\
caption=F.caption\
from sx_fields F, rpta_resultset R\
where F.table_name=R.uniquename\
and R.tid=tmp_rpta_column.resultset_id\
and F.name=<<Quellfeld>>\
and tmp_rpta_column.column_type_uniquename='physicalColumn'; */\
\
\
/* update tmp_rpta_column set uniquename=<<Schlüssel>>; */\
/* update tmp_rpta_column set caption=<<Name>>;*/\
\
update tmp_rpta_column set uniquename='Created ' || timestamp_str(now())\
where uniquename is null;\
update tmp_rpta_column set caption='Created ' || timestamp_str(now())\
where caption is null;\
\
\
select sp_update_sequence('rpta_column');\
\
insert into rpta_column( uniquename,\
caption,\
srcfieldname,\
column_type,\
col_function,\
is_aggregate,\
resultset_id,\
custom,\
description,\
targetfieldname)\
select uniquename,\
caption,\
srcfieldname,\
column_type,\
col_function,\
is_aggregate,\
resultset_id,\
custom,\
description,\
targetfieldname\
from tmp_rpta_column;\
\
update tmp_rpta_column set tid=currval('rpta_column_tid_seq');\
\
\
commit;\
\
select 'Ergebnis' as s1, \
' Eintrag angelegt:' || coalesce(C.caption,'Unbenannt') || ' (' || coalesce(C.uniquename,'TID: ' || C.tid::varchar) || ') [' || C.column_type_str || ']' as ergebnis2,\
'../edit/rpta/rpta_column_edit.jsp|tid=' || C.tid as nextedit\
from tmp_rpta_column C\
;^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=2\
min_heading_height=35\
Column CID=0 heading_text="Ergebnis" center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=0 heading_text="Spalte" center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=1 heading_text="Bearbeiten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
@@@^^^Spaltendefinitionen anlegen^drop table tmp_rpta_column;^^1^440^360^0^1^ ^

1
src-modules/module/rpta/masken/48150_sachgeb_maske_bez.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
331^48150^

156
src-modules/module/rpta/schluesseltabellen/fm_templates.unl

@ -1,9 +1,8 @@ @@ -1,9 +1,8 @@
96^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
84^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
caption varchar(255),\
caption_in_ergebnistabelle varchar(255),\
srcfieldname varchar(255),\
targetfieldname varchar(255),\
column_type integer,\
@ -14,7 +13,6 @@ CREATE temp TABLE tmp_rpta_column\ @@ -14,7 +13,6 @@ CREATE temp TABLE tmp_rpta_column\
resultset_id integer,\
sortnr integer,\
description TEXT,\
description_in_ergebnistabelle TEXT,\
format_code_uniquename varchar(255),\
format_code_id integer\
);\
@ -25,7 +23,6 @@ CREATE temp TABLE tmp_rpta_column_layout\ @@ -25,7 +23,6 @@ CREATE temp TABLE tmp_rpta_column_layout\
caption varchar(255),\
resultset_id integer,\
whereclause text,\
sortclause text,\
description text\
);\
\
@ -34,18 +31,12 @@ resultset_id,\ @@ -34,18 +31,12 @@ resultset_id,\
uniquename,\
caption,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
</#if>\
description\
)\
select tid,\
'${rpta_column_layout.uniquename}',\
'${rpta_column_layout.caption}',\
'${rpta_column_layout.whereclause}',\
<#if rpta_column_layout.sortclause?has_content>\
'${rpta_column_layout.sortclause}',\
</#if>\
'${rpta_column_layout.description}'\
FROM rpta_resultset\
where uniquename='${rpta_column_layout.rpta_resultset}';\
@ -58,7 +49,6 @@ INSERT INTO tmp_rpta_column\ @@ -58,7 +49,6 @@ INSERT INTO tmp_rpta_column\
(resultset_id,\
uniquename,\
caption,\
caption_in_ergebnistabelle,\
srcfieldname,\
targetfieldname,\
column_type,\
@ -68,21 +58,11 @@ INSERT INTO tmp_rpta_column\ @@ -68,21 +58,11 @@ INSERT INTO tmp_rpta_column\
is_aggregate,\
sortnr,\
description,\
description_in_ergebnistabelle,\
format_code_uniquename\
)\
select R.tid,\
'${column.uniquename}',\
<#if column.caption?exists>\
'${column.caption}',\
<#else>\
'${column.caption_der_spalte}',\
</#if>\
<#if column.caption_in_ergebnistabelle?exists>\
'${column.caption_in_ergebnistabelle}',\
<#else>\
'${column.caption}',\
</#if>\
'${column.srcfieldname}',\
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,\
T.tid as column_type,\
@ -91,8 +71,7 @@ ${column.is_visible},\ @@ -91,8 +71,7 @@ ${column.is_visible},\
${column.visible_size},\
${column.is_aggregate},\
${sortnr*10},\
<#if column.description?exists>'${column.description}'<#elseif column.description_der_spalte?exists>'${column.description_der_spalte}'<#else>null::varchar </#if>,\
<#if column.description_in_ergebnistabelle?exists>'${column.description_in_ergebnistabelle}'<#elseif column.description?exists>'${column.description}'<#else>null::varchar </#if>,\
<#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}'\
@ -129,29 +108,20 @@ insert into rpta_column_layout\ @@ -129,29 +108,20 @@ insert into rpta_column_layout\
caption,\
resultset_id,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
</#if>\
description)\
select uniquename,\
caption,\
resultset_id,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
</#if>\
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,<#if rpta_column_layout.sortclause?has_content>sortclause,</#if> description)\
set (caption, resultset_id, whereclause, description)\
= ( select caption, resultset_id,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
</#if>\
description\
FROM tmp_rpta_column_layout T\
where T.uniquename=rpta_column_layout.uniquename)\
@ -238,8 +208,8 @@ select C.tid as column_id,\ @@ -238,8 +208,8 @@ select C.tid as column_id,\
T.sortnr,\
T.is_visible,\
T.visible_size,\
T.caption_in_ergebnistabelle,\
T.description_in_ergebnistabelle,\
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\
@ -250,120 +220,4 @@ and L.resultset_id=T.resultset_id\ @@ -250,120 +220,4 @@ and L.resultset_id=T.resultset_id\
drop table tmp_rpta_column;\
drop TABLE tmp_rpta_column_layout;\
drop TABLE tmp_rpta_column2layout;\
</#macro>\
\
<#macro rpta_interpret_column_layout>\
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\
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 &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by \
<#if rpta_column_layout.sortclause !="">\
${rpta_column_layout.sortclause}\
<#else>\
<#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
</#if>\
;\
\
<#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;\
\
</#macro>^Makros zum Umgang mit Spaltenlayouts^^1^

23
src-modules/module/rpta/schluesseltabellen/macro_masken_bez_fuellen.sql

@ -1,27 +1,10 @@ @@ -1,27 +1,10 @@
--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>>"}
{"makro":"48140", "tid":"48110", "sortnr":"10", "schleifenrelation":"<<SQL>>select ''s_'' || tid,text from lehr_stg_ab where stg in (<<Fächer>>) order by 2",
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"}
] />
<#assign felder = [
] />
@ -32,7 +15,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez ( @@ -32,7 +15,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez (
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL,
schleifenrelation text,
schleifenrelation character(255),
schleifenfeldname character(255),
alias character(255),
schleifenfstand character(255),

325
src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql

@ -8,78 +8,16 @@ select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studien @@ -8,78 +8,16 @@ select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studien
select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"rpta_exam_unit_dim_studiengang_note",
<#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))
and pstatus in (''BE'',''NB'',''EN'')
and (((panerk != ''J'' and sourcesystem=6) or (panerk is null and sourcesystem=6))
or ((panerk != ''I'' and panerk != ''J'' and panerk != ''H'' and sourcesystem=5) or (panerk is null and sourcesystem=5)))",
"sortclause":"dim_studiengang_stg,dim_studiengang_abschluss,sem_der_pruefung,pdtxt",
"whereclause":"modulart=''P''",
"description":"Prüfung und Noten"
}
}]
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Fach",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"dim_studiengang_abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Abschluss",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Semester der Prüfung (Schlüssel)",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_str",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_str",
"column_type":"logicalColumn",
"col_function":"(select eintrag from semester where tid=sem_der_pruefung)",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung_str_process",
"srcfieldname":"sem_der_pruefung_str",
"targetfieldname":"sem_der_pruefung_str_process",
"column_type":"processingColumn",
"col_function":"",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"elementnr",
"srcfieldname":"elementnr",
"column_type":"physicalColumn",
@ -88,7 +26,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -88,7 +26,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"pnr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"visible_size":5,
"description":""},
{"uniquename":"pdtxt",
@ -96,10 +34,10 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -96,10 +34,10 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Name der Prüfung",
"caption":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":40,
"visible_size":5,
"description":""},
{"uniquename":"summe",
@ -110,25 +48,13 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -110,25 +48,13 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"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",
"srcfieldname":"note",
"targetfieldname":"note_schnitt",
"column_type":"processingColumn",
"column_type":"physicalColumn",
"col_function":"avg",
"format_code":"",
"caption":"Durchschnittsnote *",
@ -146,7 +72,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -146,7 +72,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Durchschnittsnote *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb",
@ -182,7 +108,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -182,7 +108,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Durchfallquote in % *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"visible_size":5,
"description":""},
{"uniquename":"pvermerk_ne",
@ -206,14 +132,241 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -206,14 +132,241 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Nicht erschienen",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"visible_size":5,
"description":""}
] />
<@rpta_column_layout_fuellen />
---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;

443
src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql

@ -1,443 +0,0 @@ @@ -1,443 +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":"dim_studiengang_stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Fach",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"dim_studiengang_abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Abschluss",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"logicalColumn",
"col_function":"sem_der_pruefung",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_min_process",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_min_process",
"column_type":"processingColumn",
"col_function":"min",
"format_code":"",
"caption":"Semester der Prüfung (Min)",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_max_process",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_max_process",
"column_type":"processingColumn",
"col_function":"max",
"format_code":"",
"caption":"Semester der Prüfung (Max)",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"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;

554
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql

@ -1,554 +0,0 @@ @@ -1,554 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_pord_ppruef_exists">
select count(*) from rpta_resultset where uniquename='sos_lab_pord_ppruef';
</sqlvar>
<sqlvar name="rpta_resultset">
select uniquename from rpta_resultset where uniquename='sos_lab_pord_ppruef';
</sqlvar>
<sqlvar name="sos_dipl_pos_swf_exists">
select sp_table_exists('sos_dipl_pos_swf');
</sqlvar>
</sqlvars>
<#if sos_dipl_pos_swf_exists==1>
--aktuell nur für SWF
<#assign rpta_column_layouts = [ {"uniquename":"sos_lab_pord_ppruef_modul",
"caption":"Modulprüfungen und Prüfer_innen Einzeldaten",
"rpta_resultset":"sos_lab_pord_ppruef",
"whereclause":"is_modul=1",
"description":"Modulprüfungen und Prüfer_innen"
},
{"uniquename":"sos_lab_pord_ppruef_thesis",
"caption":"Abschlussarbeiten und Betreuer_innen Einzeldaten",
"rpta_resultset":"sos_lab_pord_ppruef",
"whereclause":"labnr in (select labnr from sos_dipl_pos_swf)",
"description":"Abschlussarbeiten und Betreuer_innen"
}]
/>
<#assign rpta_columns = [
{"uniquename":"matrikel_nr",
"srcfieldname":"matrikel_nr",
"column_type":"physicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Matrikel-Nr.",
"is_visible":"1",
"visible_size":5},
{"uniquename":"sourcesystem",
"srcfieldname":"sourcesystem",
"column_type":"physicalColumn",
"format_code":"",
"is_aggregate":0,
"caption":"Quellsystem",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5},
{"uniquename":"labnr",
"srcfieldname":"labnr",
"column_type":"physicalColumn",
"format_code":"",
"is_aggregate":0,
"caption":"ID der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Semester",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5},
{"uniquename":"sem_rueck_beur_ein_max",
"srcfieldname":"sem_rueck_beur_ein_max",
"targetfieldname":"sos_lab_sem_rueck_beur_ein_max",
"column_type":"lookupColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Letztes Semester",
"is_visible":1,
"visible_size":5,
"col_function":"select sem_rueck_beur_ein from sos_sos S where S.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"}
,
{"uniquename":"status",
"srcfieldname":"status",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Status",
"is_visible":1,
"is_aggregate":0,
"visible_size":5,
"col_function":"select ST.apnr from sos_k_status ST where val(ST.astat)=kz_rueck_beur_ein"},
{"uniquename":"hrst",
"srcfieldname":"hrst",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Hörerstatus",
"is_visible":1,
"visible_size":5},
{"uniquename":"vorname",
"srcfieldname":"vorname",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Vorname",
"is_visible":1,
"is_aggregate":0,
"visible_size":5,
"col_function":"select A.firstname from sos_stud_address A where A.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"},
{"uniquename":"nachname",
"srcfieldname":"nachname",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Nachname",
"is_visible":1,
"is_aggregate":0,
"visible_size":5,
"col_function":"select A.surname from sos_stud_address A where A.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"},
{"uniquename":"res1",
"srcfieldname":"res1",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Austauschstudierende/Doppelabsolventen",
"is_visible":1,
"visible_size":5,
"col_function":"select min(attributevalue) from personattribute A where tmp_sos_lab_pord_ppruef.sem_der_pruefung between A.semester_von and A.semester_bis and A.personattributetype_id="+K_SOS_PERSATTR_AUSTAUSCH+" and A.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"},
{"uniquename":"stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Fach",
"is_visible":1,
"visible_size":5},
{"uniquename":"abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Abschluss",
"is_visible":1,
"visible_size":5}
{"uniquename":"fach_sem_zahl",
"srcfieldname":"fach_sem_zahl",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Fachsemester",
"is_visible":1,
"visible_size":5},
{"uniquename":"stgnr",
"srcfieldname":"stgnr",
"column_type":"logicalColumn",
"is_aggregate":0,
"caption":"Studiengangnr.",
"is_visible":1,
"visible_size":5,
"col_function":"'''' || studiengang_nr || fach_nr"},
{"uniquename":"part",
"srcfieldname":"part",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsart",
"is_visible":1,
"visible_size":5},
{"uniquename":"pnr_pos",
"srcfieldname":"pnr",
"column_type":"physicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Prüfungsnummer POS",
"is_visible":0,
"visible_size":5},
{"uniquename":"elementnr",
"srcfieldname":"",
"targetfieldname":"elementnr",
"column_type":"logicalColumn",
"is_aggregate":0,
"caption":"Prüfungsnummer",
"is_visible":1,
"visible_size":5,
"col_function":"pktxt"},
{"uniquename":"pversuch",
"srcfieldname":"pversuch",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsversuch",
"is_visible":1,
"visible_size":5},
{"uniquename":"prueck",
"srcfieldname":"prueck",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Rücktritt",
"is_visible":1,
"visible_size":5},
{"uniquename":"pversion_ktxt",
"srcfieldname":"pversion_ktxt",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"PO-Version",
"is_visible":1,
"visible_size":5},
{"uniquename":"pstatus",
"srcfieldname":"pstatus",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsstatus",
"is_visible":1,
"visible_size":5},
{"uniquename":"d_abg_pruefung",
"srcfieldname":"d_abg_pruefung",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsdatum",
"is_visible":1,
"visible_size":5},
{"uniquename":"note",
"srcfieldname":"note",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Note",
"is_visible":1,
"visible_size":5},
{"uniquename":"sos_lab_panerk",
"srcfieldname":"sos_lab_panerk",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Anerkennung",
"is_visible":1,
"visible_size":5},
{"uniquename":"pvermerk",
"srcfieldname":"pvermerk",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Vermerk",
"is_visible":1,
"visible_size":5},
{"uniquename":"pform",
"srcfieldname":"pform",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsform",
"is_visible":1,
"visible_size":5},
{"uniquename":"pdtxt",
"srcfieldname":"pdtxt",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"PO-Element Name",
"is_visible":1,
"visible_size":5},
{"uniquename":"ppruef1",
"srcfieldname":"sos_lab_ppruef1",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Erstprüfer_in Schlüssel",
"is_visible":0,
"visible_size":5},
{"uniquename":"ppruef1_str",
"srcfieldname":"ppruef1",
"targetfieldname":"sos_lab_ppruef1_str",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Erstprüfer_in",
"is_visible":1,
"visible_size":5,
"col_function":"select replace(C.druck,'','','''') from cifx C where C.key=9011 and C.apnr=tmp_sos_lab_pord_ppruef.sos_lab_ppruef1"},
{"uniquename":"ppruef2",
"srcfieldname":"sos_lab_ppruef2",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Zweitprüfer_in",
"is_visible":0,
"visible_size":5},
{"uniquename":"ppruef2_str",
"srcfieldname":"ppruef2",
"targetfieldname":"sos_lab_ppruef2_str",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Zweitprüfer_in",
"is_visible":1,
"visible_size":5,
"col_function":"select replace(C.druck,'','','''') from cifx C where C.key=9011 and C.apnr=tmp_sos_lab_pord_ppruef.sos_lab_ppruef2"}
,
{"uniquename":"sem_d_abg_pruefung",
"srcfieldname":"sem_d_abg_pruefung",
"targetfieldname":"sos_lab_sem_d_abg_pruefung",
"column_type":"logicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Semester der Prüfung",
"is_visible":1,
"visible_size":5,
"col_function":"sem_der_pruefung"}
] />
---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;
drop table tmp_rpta_column2layout;
</#if> --wenn sos_dipl_pos_swf_exists=1

10
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_fuellen.sql

@ -75,21 +75,17 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat'; @@ -75,21 +75,17 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat';
"description":"Regelstudienzeit in Semestern"
},
{"uniquename":"summe",
"caption_der_spalte":"Summe der Studierenden",
"caption_in_ergebnistabelle":"Anzahl der Studierenden in der Regelstudienzeit",
"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_der_spalte":"Summe der Studierenden",
"description_in_ergebnistabelle":"Summe der Studierenden mit Fachsemester kleiner oder gleich der Regelstudienzeit"
"description":"Summe der Studierenden mit Fachsemester kleiner oder gleich der Regelstudienzeit"
}
]
/>
<@rpta_column_layout_fuellen />

154
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_fuellen.sql

@ -1,154 +0,0 @@ @@ -1,154 +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_stip",
"caption":"Stipendiaten",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Stipendiaten"
}
/>
<#assign rpta_columns = [
{"uniquename":"matrikel_nr",
"caption":"Matrikel-Nr.",
"srcfieldname":"matrikel_nr",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"INT_NO_SEP",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"ggf. pseudonymisiert, bei Datenquelle HIS1 ist dies die student.id"
},
{"uniquename":"vorname",
"caption":"Vorname",
"srcfieldname":"",
"targetfieldname":"vorname",
"column_type":"lookupColumn",
"col_function":"select A.firstname from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr and A.firstname is not null",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"nachname",
"caption":"Nachname",
"srcfieldname":"",
"targetfieldname":"nachname",
"column_type":"lookupColumn",
"col_function":"select A.surname from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr and A.surname is not null",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"kz_rueck_beur_ein",
"caption":"Rückmeldestatus",
"srcfieldname":"kz_rueck_beur_ein",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"dim_studiengang_stg",
"caption":"Fach (Schlüssel)",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"dim_studiengang_abschluss",
"caption":"Abschluss (intern) (Schlüssel)",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"adresszusatz",
"caption":"Adresszusatz",
"srcfieldname":"",
"targetfieldname":"adresszusatz",
"column_type":"logicalColumn",
"col_function":"null::varchar(255)",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"street",
"caption":"Straße",
"srcfieldname":"",
"targetfieldname":"street",
"column_type":"lookupColumn",
"col_function":"select A.street from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"postcode",
"caption":"PLZ",
"srcfieldname":"",
"targetfieldname":"postcode",
"column_type":"lookupColumn",
"col_function":"select A.postcode from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"city",
"caption":"Ort",
"srcfieldname":"",
"targetfieldname":"city",
"column_type":"lookupColumn",
"col_function":"select A.city from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"foerdermonat",
"caption":"Fördermonat",
"srcfieldname":"",
"targetfieldname":"foerdermonat",
"column_type":"lookupColumn",
"col_function":"select M.foerdermonat from stip_meldung M where M.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"bafoeg",
"caption":"Bafög",
"srcfieldname":"",
"targetfieldname":"bafoeg",
"column_type":"lookupColumn",
"col_function":"select M.bafoeg from stip_meldung M where M.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
}
]
/>
<@rpta_column_layout_fuellen />

219
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_meldung_fuellen.sql

@ -1,219 +0,0 @@ @@ -1,219 +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_stip_meldung",
"caption":"Stipendiaten (amtlich)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"matrikel_nr in (select matrikel_nr from stip_meldung)",
"sortclause":"",
"description":"Stipendiaten (amtlich)"
}
/>
<#assign rpta_columns = [
{"uniquename":"hs_nr",
"caption":"Berichts - ID",
"srcfieldname":"",
"targetfieldname":"hs_nr",
"column_type":"logicalColumn",
"col_function":"(select hs_nr from hochschulinfo)",
"format_code":"INT_NO_SEP",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"berichtsland",
"caption":"Berichtsland",
"srcfieldname":"",
"targetfieldname":"berichtsland",
"column_type":"lookupColumn",
"col_function":"select apnr from cif where key=659",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"berichtsjahr",
"caption":"Berichtsjahr",
"srcfieldname":"",
"targetfieldname":"sem_rueck_beur_ein",
"column_type":"logicalColumn",
"col_function":"(select sem_rueck_beur_ein/10::integer)",
"format_code":"INT_NO_SEP",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"hochschulart",
"caption":"Hochschulart",
"srcfieldname":"hs_nr",
"targetfieldname":"hochschulart",
"column_type":"lookupColumn",
"col_function":"select art from kenn_hochschulen H where H.hs_nr in (select hs_nr from hochschulinfo)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"swf_sos_k_stort_astat",
"caption":"Hochschul-Nr.",
"srcfieldname":"sos_k_stort_astat",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"traeger_hs",
"caption":"Hochschul-Träger",
"srcfieldname":"",
"targetfieldname":"traeger_hs",
"column_type":"logicalColumn",
"col_function":"2::integer",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"id_nummer",
"caption":"ID-Nummer",
"srcfieldname":"",
"targetfieldname":"id_nummer",
"column_type":"logicalColumn",
"col_function":"1::integer",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"geschlecht",
"caption":"Geschlecht",
"srcfieldname":"geschlecht",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"ca12_staat",
"caption":"Staatsangehörigkeit",
"srcfieldname":"ca12_staat",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"hssem",
"caption":"HS-Sem.",
"srcfieldname":"hssem",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"fach_sem_zahl",
"caption":"Fach-Sem.",
"srcfieldname":"fach_sem_zahl",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"dim_studiengang_abschluss",
"caption":"Abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"dim_studiengang_stg",
"caption":"Studienfach",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"foerdermonat",
"caption":"Förder-Monate",
"srcfieldname":"",
"targetfieldname":"foerdermonat",
"column_type":"lookupColumn",
"col_function":"select LPAD(M.foerdermonat::TEXT, 2, ''0'') from stip_meldung M where M.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"bafoeg_amtlich",
"caption":"Bafög",
"srcfieldname":"",
"targetfieldname":"bafoeg_amtlich",
"column_type":"lookupColumn",
"col_function":"select case M.bafoeg when ''j'' then 1 when ''n'' then 2 else null end from stip_meldung M where M.matrikel_nr=tmp_sos_stud_astat.matrikel_nr",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""
},
{"uniquename":"matrikel_nr",
"caption":"Matrikelnummer",
"srcfieldname":"matrikel_nr",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"INT_NO_SEP",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"ggf. pseudonymisiert, bei Datenquelle HIS1 ist dies die student.id"
},
{"uniquename":"nachname",
"caption":"Name",
"srcfieldname":"",
"targetfieldname":"nachname",
"column_type":"lookupColumn",
"col_function":"select A.surname from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr and A.surname is not null",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"vorname",
"caption":"Vorname",
"srcfieldname":"",
"targetfieldname":"vorname",
"column_type":"lookupColumn",
"col_function":"select A.firstname from sos_stud_address A where A.matrikel_nr=tmp_sos_stud_astat.matrikel_nr and A.firstname is not null",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
}
]
/>
<@rpta_column_layout_fuellen />

707
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_stat_staat_geschl.sql

@ -1,707 +0,0 @@ @@ -1,707 +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_stat_geschl_staat",
"caption":"Studierendenstatistik nach Staatsang., Geschl. etc.",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierendenstatistik (Staat, Geschl., Fachsem.)"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_fb",
"caption":"FB",
"srcfieldname":"dim_studiengang_fb",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"is_aggregate":"0",
"description":"Fachbereich"
},
{"uniquename":"dim_studiengang_fb_str",
"caption":"FB-Name",
"srcfieldname":"dim_studiengang_fb_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Fachbereichname"
},
{"uniquename":"dim_studiengang_stg_str",
"caption":"Studienfach",
"srcfieldname":"dim_studiengang_stg_str",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Name des Studienfachs"
},
{"uniquename":"dim_studiengang_abschluss",
"caption":"Abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Abschluss"
},
{"uniquename":"dim_studiengang_abschlussart",
"caption":"abschlussart",
"srcfieldname":"dim_studiengang_abschlussart",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Abschlussart"
},
{"uniquename":"dim_studiengang_stg",
"caption":"stg",
"srcfieldname":"dim_studiengang_stg",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Fach"
},
{"uniquename":"stuart",
"caption":"Studienart",
"srcfieldname":"stuart",
"targetfieldname":"",
"column_type":"logicalColumn",
"col_function":"(select druck from cifx where key=616 and apnr=stuart)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Studienart"
},
{"uniquename":"dim_studiengang_regel",
"caption_der_spalte":"Regelstudienzeit",
"caption_in_ergebnistabelle":"RSZ",
"srcfieldname":"dim_studiengang_regel",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Regelstudienzeit"
},
{"uniquename":"gesamt",
"caption_der_spalte":"Studierende gesamt",
"caption_in_ergebnistabelle":"Studierende gesamt",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende gesamt"
},
{"uniquename":"gesamt_nw",
"caption_der_spalte":"Studierende gesamt nicht weiblich",
"caption_in_ergebnistabelle":"Studierende gesamt nicht weiblich",
"srcfieldname":"summe_nw",
"targetfieldname":"summe_nw",
"column_type":"logicalColumn",
"col_function":"case when geschlecht<>2 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende gesamt nicht weiblich"
},
{"uniquename":"gesamt_w",
"caption_der_spalte":"Studierende gesamt weiblich",
"caption_in_ergebnistabelle":"Studierende gesamt weiblich",
"caption":"g_w",
"srcfieldname":"summe_w",
"targetfieldname":"summe_w",
"column_type":"logicalColumn",
"col_function":"case when geschlecht=2 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende gesamt weiblich"
},
{"uniquename":"gesamt_neue",
"caption_der_spalte":"Neu- und Ersteinschreiber",
"caption_in_ergebnistabelle":"Neu- und Ersteinschreiber",
"srcfieldname":"summe_neue",
"targetfieldname":"summe_neue",
"column_type":"logicalColumn",
"col_function":"case when kz_rueck_beur_ein in (1,2) then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Neu- und Ersteinschreiber im Studiengang"
},
{"uniquename":"gesamt_neue_nw",
"caption_der_spalte":"nicht weibl. Neu- und Ersteinschreiber",
"caption_in_ergebnistabelle":"nicht weibl. Neu- und Ersteinschreiber",
"srcfieldname":"summe_neue_nw",
"targetfieldname":"summe_neue_nw",
"column_type":"logicalColumn",
"col_function":"case when geschlecht<>2 and kz_rueck_beur_ein in (1,2) then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"nicht weibliche Neu- und Ersteinschreiber im Studiengang"
},
{"uniquename":"gesamt_neue_w",
"caption_der_spalte":"weibl. Neu- und Ersteinschreiber",
"caption_in_ergebnistabelle":"weibl. Neu- und Ersteinschreiber",
"srcfieldname":"summe_neue_w",
"targetfieldname":"summe_neue_w",
"column_type":"logicalColumn",
"col_function":"case when geschlecht=2 and kz_rueck_beur_ein in (1,2) then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"weibliche Neu- und Ersteinschreiber im Studiengang"
},
{"uniquename":"deutsche",
"caption_der_spalte":"deutsche Stud.",
"caption_in_ergebnistabelle":"deutsche Stud.",
"srcfieldname":"summe_deutsche",
"targetfieldname":"summe_deutsche",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende"
},
{"uniquename":"d_nw",
"caption_der_spalte":"deutsche nicht weibl. Stud.",
"caption_in_ergebnistabelle":"deutsche nicht weibl. Stud.",
"srcfieldname":"summe_d_nw",
"targetfieldname":"summe_d_nw",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and geschlecht<>2 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche nicht weibliche Studierende"
},
{"uniquename":"d_w",
"caption_der_spalte":"deutsche weibl. Stud.",
"caption_in_ergebnistabelle":"deutsche weibl. Stud.",
"srcfieldname":"summe_d_w",
"targetfieldname":"summe_d_w",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and geschlecht=2 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche weibliche Studierende"
},
{"uniquename":"d_nw1h",
"caption_der_spalte":"deutsche nicht weibl. Stud. im 1.HS",
"caption_in_ergebnistabelle":"deutsche nicht weibl. Stud. im 1.HS",
"caption":"d_nw1h",
"srcfieldname":"summe_d_nw1h",
"targetfieldname":"summe_d_nw1h",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and geschlecht<>2 and hssem=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche nicht weibliche Studierende im 1. Hochschulsemester"
},
{"uniquename":"d_w1h",
"caption_der_spalte":"deutsche weibl. Stud. im 1.HS",
"caption_in_ergebnistabelle":"deutsche weibl. Stud. im 1.HS",
"srcfieldname":"summe_d_w1h",
"targetfieldname":"summe_d_w1h",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and geschlecht=2 and hssem=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche weibliche Studierende im 1. Hochschulsemester"
},
{"uniquename":"d_nw1f",
"caption_der_spalte":"deutsche nicht weibl. Stud. im 1.FS",
"caption_in_ergebnistabelle":"deutsche nicht weibl. Stud. im 1.FS",
"srcfieldname":"summe_d_nw1f",
"targetfieldname":"summe_d_nw1f",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and geschlecht<>2 and fach_sem_zahl=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche nicht weibliche Studierende im 1. Fachsemester"
},
{"uniquename":"d_w1f",
"caption_der_spalte":"deutsche weibl. Stud. im 1.FS",
"caption_in_ergebnistabelle":"deutsche weibl. Stud. im 1.FS",
"srcfieldname":"summe_d_w1f",
"targetfieldname":"summe_d_w1f",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and geschlecht=2 and fach_sem_zahl=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche weibliche Studierende im 1. Fachsemester"
},
{"uniquename":"ausl",
"caption_der_spalte":"ausländische Studierende",
"caption_in_ergebnistabelle":"ausländische Studierende",
"srcfieldname":"summe_ausl",
"targetfieldname":"summe_ausl",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische Studierende"
},
{"uniquename":"a_nw",
"caption_der_spalte":"ausländische nicht weibliche Studierende",
"caption_in_ergebnistabelle":"ausländische nicht weibliche Studierende",
"srcfieldname":"summe_a_nw",
"targetfieldname":"summe_a_nw",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 and geschlecht<>2 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische nicht weibliche Studierende"
},
{"uniquename":"a_w",
"caption_der_spalte":"ausländische weibliche Studierende",
"caption_in_ergebnistabelle":"ausländische weibliche Studierende",
"srcfieldname":"summe_a_w",
"targetfieldname":"summe_a_w",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 and geschlecht=2 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische weibliche Studierende"
},
{"uniquename":"a_nw1h",
"caption_der_spalte":"ausländische nicht weibliche Studierende im 1. HS",
"caption_in_ergebnistabelle":"ausländische nicht weibliche Studierende im 1. HS",
"srcfieldname":"summe_a_nw1h",
"targetfieldname":"summe_a_nw1h",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 and geschlecht<>2 and hssem=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische nicht weibliche Studierende im 1. Hochschulsemester"
},
{"uniquename":"a_w1h",
"caption_der_spalte":"ausländische weibliche Studierende im 1. HS",
"caption_in_ergebnistabelle":"ausländische weibliche Studierende im 1. HS",
"srcfieldname":"summe_a_w1h",
"targetfieldname":"summe_a_w1h",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 and geschlecht=2 and hssem=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische weibliche Studierende im 1. Hochschulsemester"
},
{"uniquename":"a_nw1f",
"caption_der_spalte":"ausländische nicht weibliche Studierende im 1. FS",
"caption_in_ergebnistabelle":"ausländische nicht weibliche Studierende im 1. FS",
"srcfieldname":"summe_a_nw1f",
"targetfieldname":"summe_a_nw1f",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 and geschlecht<>2 and fach_sem_zahl=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische nicht weibliche Studierende im 1. Fachsemester"
},
{"uniquename":"a_w1f",
"caption_der_spalte":"ausländische weibliche Studierende im 1. FS",
"caption_in_ergebnistabelle":"ausländische weibliche Studierende im 1. FS",
"srcfieldname":"summe_a_w1f",
"targetfieldname":"summe_a_w1f",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat<>0 and geschlecht=2 and fach_sem_zahl=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausländische weibliche Studierende im 1. Fachsemester"
},
{"uniquename":"HS1",
"caption_der_spalte":"Studierende im 1. HS",
"caption_in_ergebnistabelle":"Studierende im 1.HS",
"srcfieldname":"summe_HS1",
"targetfieldname":"summe_HS1",
"column_type":"logicalColumn",
"col_function":"case when hssem=1 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende im 1. Hochschulsemester"
},
{"uniquename":"FS1_d",
"caption_der_spalte":"deutsche Studierende im 1. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 1.FS",
"srcfieldname":"summe_FS1_d",
"targetfieldname":"summe_FS1_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=1 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 1. Fachsemester"
},
{"uniquename":"FS1_a",
"caption_der_spalte":"ausl. Studierende im 1. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 1.FS",
"srcfieldname":"summe_FS1_a",
"targetfieldname":"summe_FS1_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=1 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 1. Fachsemester"
},
{"uniquename":"FS2_d",
"caption_der_spalte":"deutsche Studierende im 2. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 2.FS",
"srcfieldname":"summe_FS2_d",
"targetfieldname":"summe_FS2_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=2 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 2. Fachsemester"
},
{"uniquename":"FS2_a",
"caption_der_spalte":"ausl. Studierende im 2. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 2.FS",
"srcfieldname":"summe_FS2_a",
"targetfieldname":"summe_FS2_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=2 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 2. Fachsemester"
},
{"uniquename":"FS3_d",
"caption_der_spalte":"deutsche Studierende im 3. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 3.FS",
"srcfieldname":"summe_FS3_d",
"targetfieldname":"summe_FS3_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=3 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 3. Fachsemester"
},
{"uniquename":"FS3_a",
"caption_der_spalte":"ausl. Studierende im 3. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 3. FS",
"srcfieldname":"summe_FS3_a",
"targetfieldname":"summe_FS3_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=3 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 3. Fachsemester"
},
{"uniquename":"FS4_d",
"caption_der_spalte":"deutsche Studierende im 4. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 4.FS",
"srcfieldname":"summe_FS4_d",
"targetfieldname":"summe_FS4_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=4 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 4. Fachsemester"
},
{"uniquename":"FS4_a",
"caption_der_spalte":"ausl. Studierende im 4. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 4. FS",
"srcfieldname":"summe_FS4_a",
"targetfieldname":"summe_FS4_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=4 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 4. Fachsemester"
},
{"uniquename":"FS5_d",
"caption_der_spalte":"deutsche Studierende im 5. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 5.FS",
"srcfieldname":"summe_FS5_d",
"targetfieldname":"summe_FS5_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=5 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 5. Fachsemester"
},
{"uniquename":"FS5_a",
"caption_der_spalte":"ausl. Studierende im 5. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 5. FS",
"srcfieldname":"summe_FS5_a",
"targetfieldname":"summe_FS5_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=5 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 5. Fachsemester"
},
{"uniquename":"FS6_d",
"caption_der_spalte":"deutsche Studierende im 6. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 6.FS",
"srcfieldname":"summe_FS6_d",
"targetfieldname":"summe_FS6_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=6 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 6. Fachsemester"
},
{"uniquename":"FS6_a",
"caption_der_spalte":"ausl. Studierende im 6. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 6. FS",
"srcfieldname":"summe_FS6_a",
"targetfieldname":"summe_FS6_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=6 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 6. Fachsemester"
},
{"uniquename":"FS7_d",
"caption_der_spalte":"deutsche Studierende im 7. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 7.FS",
"srcfieldname":"summe_FS7_d",
"targetfieldname":"summe_FS7_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=7 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 7. Fachsemester"
},
{"uniquename":"FS7_a",
"caption_der_spalte":"ausl. Studierende im 7. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 7. FS",
"srcfieldname":"summe_FS7_a",
"targetfieldname":"summe_FS7_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=7 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 7. Fachsemester"
},
{"uniquename":"FS8_d",
"caption_der_spalte":"deutsche Studierende im 8. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 8.FS",
"srcfieldname":"summe_FS8_d",
"targetfieldname":"summe_FS8_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=8 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 8. Fachsemester"
},
{"uniquename":"FS8_a",
"caption_der_spalte":"ausl. Studierende im 8. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 8. FS",
"srcfieldname":"summe_FS8_a",
"targetfieldname":"summe_FS8_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=8 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 8. Fachsemester"
},
{"uniquename":"FS9_d",
"caption_der_spalte":"deutsche Studierende im 9. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 9.FS",
"srcfieldname":"summe_FS9_d",
"targetfieldname":"summe_FS9_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=9 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 9. Fachsemester"
},
{"uniquename":"FS9_a",
"caption_der_spalte":"ausl. Studierende im 9. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 9. FS",
"srcfieldname":"summe_FS9_a",
"targetfieldname":"summe_FS9_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=9 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 9. Fachsemester"
},
{"uniquename":"FS10_d",
"caption_der_spalte":"deutsche Studierende im 10. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 10.FS",
"srcfieldname":"summe_FS10_d",
"targetfieldname":"summe_FS10_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=10 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 10. Fachsemester"
},
{"uniquename":"FS10_a",
"caption_der_spalte":"ausl. Studierende im 10. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 10. FS",
"srcfieldname":"summe_FS10_a",
"targetfieldname":"summe_FS10_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=10 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 10. Fachsemester"
},
{"uniquename":"FS11_d",
"caption_der_spalte":"deutsche Studierende im 11. FS",
"caption_in_ergebnistabelle":"deutsche Studierende im 11.FS",
"srcfieldname":"summe_FS11_d",
"targetfieldname":"summe_FS11_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=11 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende im 11. Fachsemester"
},
{"uniquename":"FS11_a",
"caption_der_spalte":"ausl. Studierende im 11. FS",
"caption_in_ergebnistabelle":"ausl. Studierende im 11. FS",
"srcfieldname":"summe_FS11_a",
"targetfieldname":"summe_FS11_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl=11 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende im 11. Fachsemester"
},
{"uniquename":"FSg11_d",
"caption_der_spalte":"deutsche Studierende mit mehr als 11 FS",
"caption_in_ergebnistabelle":"deutsche Studierende mit mehr als 11 FS",
"srcfieldname":"summe_FSg11_d",
"targetfieldname":"summe_FSg11_d",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl>11 and ca12_staat=0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"deutsche Studierende mit mehr als 11 Fachsemestern"
},
{"uniquename":"FSg11_a",
"caption_der_spalte":"ausl. Studierende mit mehr als 11 FS",
"caption_in_ergebnistabelle":"ausl. Studierende mit mehr als 11 FS",
"srcfieldname":"summe_FSg11_a",
"targetfieldname":"summe_FSg11_a",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl>11 and ca12_staat<>0 then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"ausl. Studierende mit mehr als 11 Fachsemestern"
},
{"uniquename":"SRSZw",
"caption_der_spalte":"Studierende in der RSZ weiblich",
"caption_in_ergebnistabelle":"Studierende in der RSZ weiblich",
"srcfieldname":"summe_SRSZw",
"targetfieldname":"summe_SRSZw",
"column_type":"logicalColumn",
"col_function":"case when geschlecht=2 and fach_sem_zahl<=dim_studiengang_regel then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende in der Regelstudienzeit weiblich"
},
{"uniquename":"SRSZD",
"caption_der_spalte":"Studierende in der RSZ deutsch",
"caption_in_ergebnistabelle":"Studierende in der RSZ deutsch",
"srcfieldname":"summe_SRSZD",
"targetfieldname":"summe_SRSZD",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat=0 and fach_sem_zahl<=dim_studiengang_regel then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende in der Regelstudienzeit deutsch"
},
{"uniquename":"SRSZgesamt",
"caption_der_spalte":"Studierende in der RSZ gesamt",
"caption_in_ergebnistabelle":"Studierende in der RSZ gesamt",
"srcfieldname":"summe_SRSZgesamt",
"targetfieldname":"summe_SRSZgesamt",
"column_type":"logicalColumn",
"col_function":"case when fach_sem_zahl<=dim_studiengang_regel then summe else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Studierende in der Regelstudienzeit gesamt"
},
{"uniquename":"SRSZquote",
"caption_der_spalte":"Quote Studierende in der RSZ",
"caption_in_ergebnistabelle":"Quote Studierende in der RSZ",
"srcfieldname":"summe_SRSZquote",
"targetfieldname":"summe_SRSZquote",
"column_type":"computedColumn",
"col_function":"((100.00 * summe_SRSZgesamt) / summe)",
"is_visible":"1",
"format_code":"INT_PERCENT",
"visible_size":"5",
"is_aggregate":"0",
"description":"Anteil Studierender in der Regelstudienzeit"
}
]
/>
<@rpta_column_layout_fuellen />

450
src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql

@ -1,450 +0,0 @@ @@ -1,450 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_stg_aggr_exists">
select sp_table_exists('sos_stg_aggr') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_stg_aggr'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=sos_stg_aggr.tid_stg' as joinclause
from sx_tables where name in ('dim_studiengang')
union
select 10::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.stort=sos_k_stort.apnr' as joinclause
from sx_tables where name in ('sos_k_stort')
union
select 20::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sos_stg_aggr.stutyp=sos_k_stutyp.apnr' as joinclause
from sx_tables where name in ('sos_k_stutyp')
union
select 30::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sos_stg_aggr.stuart=sos_k_stuart.apnr' as joinclause
from sx_tables where name in ('sos_k_stuart')
union
select 40::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sos_stg_aggr.stufrm=sos_k_stufrm.apnr' as joinclause
from sx_tables where name in ('sos_k_stufrm')
union
select 50::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sos_stg_aggr.hrst=sos_k_hrst.apnr' as joinclause
from sx_tables where name in ('sos_k_hrst')
order by 1
</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
<#foreach added_table in added_tables>
union
select tid,table_name,
name,
'${added_table.prefix}' || name as targetname
from sx_fields where table_name ='${added_table.name}'
and currentlyused=1
and name in ('fach_sem_zahl','hs','summe')
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_stg_aggr_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"sos_stud_astat_dashboard", "caption":"Studierende (Fachsem., HS-Sem., Studiengang) Dashboard"}
/>
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)
);
--Vorbereitung:
UPDATE sx_tables
SET caption = 'Standorte'
WHERE name='sos_k_stort';
UPDATE sx_tables
SET caption = 'Studienart'
WHERE name = 'sos_k_stuart';
UPDATE sx_tables
SET caption = 'Studiumstyp'
WHERE name = 'sos_k_stutyp';
UPDATE sx_tables
SET caption = 'Studienform'
WHERE name = 'sos_k_stufrm';
UPDATE sx_tables
SET caption = 'Hörerstatus'
WHERE name = 'sos_k_hrst';
--drop view if exists sos_stud_astat;
drop VIEW sos_k_stutyp;
CREATE VIEW sos_k_stutyp
(
apnr,
druck,
astat
)
AS
SELECT cifx.apnr,
cifx.druck,
astat
FROM cifx
WHERE cifx.key = 40;
update sx_fields set
is_sum=0
where table_name='sos_stg_aggr'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_stg_aggr'
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_stg_aggr_exists=1

26
src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql

@ -3,10 +3,6 @@ @@ -3,10 +3,6 @@
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
{"mask":"48140", "filename":"tabelle_html.xsl", "ord":"10"},
{"mask":"48140", "filename":"tabelle_xls_48140.xsl", "ord":"1"},
{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge.jrxml", "ord":"1"}
] />
<#assign stylesheet = [
@ -31,28 +27,6 @@ @@ -31,28 +27,6 @@
"usage_resultset_data":"T",
"stylesheet_type":"XSL",
"jr_datasource":""
},
{"filename":"tabelle_xls_48140.xsl",
"caption":"Prüfungsergebnisse (Excel)",
"description":"Studiengangsweise Ausgabe pro Reiter",
"relation":"table",
"contenttype":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"is_generic":"0",
"toolbar_icon_filepath":"",
"usage_resultset_data":"T",
"stylesheet_type":"XSL_XLSX",
"jr_datasource":""
},
{"filename":"48110_leistungen_und_studiengaenge.jrxml",
"caption":"Prüfungsergebnisse (Excel)",
"description":"Studiengangsweise Ausgabe pro Reiter",
"relation":"table",
"contenttype":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"is_generic":"0",
"toolbar_icon_filepath":"",
"usage_resultset_data":"T",
"stylesheet_type":"JRXML",
"jr_datasource":""
}
] />

14
src-modules/module/rpta/upgrade/rpta_pre_upgrade_pg.sql

@ -1,14 +0,0 @@ @@ -1,14 +0,0 @@
--Duplikate raus:
select uniquename,resultset_id into temp tmp_doppelt
from rpta_column
group by 1,2
having count(*)>1;
delete from rpta_column where (uniquename,resultset_id)
in (select uniquename,resultset_id
from tmp_doppelt);
drop table tmp_doppelt;

1
src-modules/module/rpta/upgrade/rpta_upgrade_man.sql

@ -29,7 +29,6 @@ drop table tmp_delete_mask; @@ -29,7 +29,6 @@ drop table tmp_delete_mask;
alter table rpta_resultset alter column fieldclause type text;
alter table rpta_resultset alter column joinclause type text;
alter table rpta_resultset alter column whereclause type text;
alter table rpta_column2layout ALTER COLUMN is_visible SET DEFAULT 1;
</#if>

414
superx/WEB-INF/reports/48110_leistungen_und_studiengaenge.jrxml

@ -1,414 +0,0 @@ @@ -1,414 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.21.3.final using JasperReports Library version 6.21.3-4a3078d20785ebe464f18037d738d12fc98c13cf -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Leistungen und Studiengänge" language="groovy" pageWidth="842" pageHeight="5595" orientation="Landscape" columnWidth="818" leftMargin="12" rightMargin="12" topMargin="12" bottomMargin="12" uuid="d58082fe-8941-478b-b06e-8d7250737b92">
<property name="net.sf.jasperreports.export.xls.create.custom.palette" value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.one.page.per.sheet" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows " value="true"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="Prüfungsergebnisse"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<template><![CDATA["simple_table.jrtx"]]></template>
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8" isBold="false">
<box rightPadding="2">
<pen lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#030303"/>
<leftPen lineWidth="0.5" lineColor="#030303"/>
<bottomPen lineWidth="0.5" lineColor="#030303"/>
<rightPen lineWidth="0.5" lineColor="#030303"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">
<![CDATA[/ergebnisse/ergebnis/ergebniselement[@ordnr='0']/sqlerg/row]]>
</queryString>
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION]]></fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_URL]]></fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_LOGO_FILE]]></fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_ADRESS]]></fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_EMAIL]]></fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL]]></fieldDescription>
</field>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/maskenname]]></fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/explanation]]></fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/hinweis]]></fieldDescription>
</field>
<field name="Fach" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="0" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Abschluss" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="1" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Semester der Prüfung (Schlüssel)" class="java.lang.Integer">
<fieldDescription><![CDATA[col[@id="2" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Semester der Prüfung" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="3" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="pnr" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="4" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Name der Prüfung" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="5" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Teilnehmer" class="java.lang.Integer">
<fieldDescription><![CDATA[col[@id="6" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Durchschnittsnote *" class="java.lang.Double">
<fieldDescription><![CDATA[col[@id="7" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Durchfallquote in % *" class="java.lang.Double">
<fieldDescription><![CDATA[col[@id="8" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Nicht erschienen" class="java.lang.Integer">
<fieldDescription><![CDATA[col[@id="9" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Seit Semester"]/@varname]]></fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Seit Semester"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Bis Semester"]/@varname]]></fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Bis Semester"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Semestertyp"]/@varname]]></fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Semestertyp"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Studiengang"]/@varname]]></fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Studiengang"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Fächer_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Fächer"]/@varname]]></fieldDescription>
</field>
<field name="legende_Fächer_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Fächer"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Abschluss"]/@varname]]></fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Abschluss"]/value_caption]]></fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="bis Fachsemester"]/@varname]]></fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="bis Fachsemester"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Spaltenlayout"]/@varname]]></fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Spaltenlayout"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Spalten_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Spalten"]/@varname]]></fieldDescription>
</field>
<field name="legende_Spalten_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Spalten"]/value_caption]]></fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/stand]]></fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/user]]></fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression><![CDATA[0]]></variableExpression>
</variable>
<variable name="MinSemester" class="java.lang.Integer" resetType="Group" resetGroup="Abschluss" calculation="Lowest">
<variableExpression><![CDATA[$F{Semester der Prüfung (Schlüssel)}]]></variableExpression>
</variable>
<variable name="MaxSemester" class="java.lang.Integer" resetType="Group" resetGroup="Abschluss" calculation="Highest">
<variableExpression><![CDATA[$F{Semester der Prüfung (Schlüssel)}]]></variableExpression>
</variable>
<group name="tabellennr">
<groupExpression><![CDATA[$V{tabellennr}]]></groupExpression>
</group>
<group name="Fach">
<groupExpression><![CDATA[$F{Fach}]]></groupExpression>
</group>
<group name="Abschluss" isStartNewPage="true">
<groupExpression><![CDATA[$F{Abschluss}]]></groupExpression>
<groupHeader>
<band height="60">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
<textField>
<reportElement style="LegendLabel" x="0" y="30" width="818" height="20" uuid="b5c9a9db-b01b-48ab-9dca-3478eae8829e"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Filterkriterien: "]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement style="LegendContent" x="0" y="50" width="818" height="10" isPrintWhenDetailOverflows="true" backcolor="#FFFFFF" uuid="0d6743c3-cd7a-471f-baca-226acf0a9dbc"/>
<box topPadding="10" leftPadding="2" bottomPadding="10" rightPadding="2"/>
<textFieldExpression><![CDATA[""+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="818" height="30" uuid="cd4ea430-054a-4958-a410-35ce51cec7d5">
<propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$F{Fach}+" "+$F{Abschluss}]]></propertyExpression>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{Fach}+" "+$F{Abschluss}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="55">
<staticText>
<reportElement x="0" y="15" width="818" height="20" uuid="63ced6b8-8393-407e-aebf-76351478ff2c">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
</reportElement>
<text><![CDATA[* Bei weniger als 5 Prüfungsteilnehmern werden keine Durchschnittsnoten oder Durchfallquoten ausgewiesen.]]></text>
</staticText>
<staticText>
<reportElement x="0" y="35" width="818" height="20" uuid="30399079-73f3-4bf2-8a55-f7f313aab901"/>
<text><![CDATA[Die Spalte "Nicht erschienen" dient zur ergänzenden Information, d.h. die hier angegebenen "Nicht erschienen" sind in den Spalten "Teilnehmer", "Durchschnittsnote" und "Durchfallquote in %" enthalten.]]></text>
</staticText>
</band>
</groupFooter>
</group>
<group name="Semester">
<groupExpression><![CDATA[$F{Semester der Prüfung (Schlüssel)}]]></groupExpression>
<groupHeader>
<band height="45">
<staticText>
<reportElement positionType="Float" x="0" y="30" width="51" height="15" uuid="b2beb035-a6bc-40a4-844d-d9fe2f5891a4">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[pnr]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="435" y="30" width="128" height="15" uuid="b8f5202b-2d0a-427f-81de-c923cbe2f094">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Durchschnittsnote *]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="358" y="30" width="77" height="15" uuid="7e3c57b7-1ed1-470e-92a4-fe799dae0d9f">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Teilnehmer]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="691" y="30" width="127" height="15" uuid="c77831d1-4cc7-4401-aef8-585d8a64e7a9">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Nicht erschienen]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="51" y="30" width="307" height="15" uuid="1c8d7170-556e-4e09-a555-94f72f81509e">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Name der Prüfung]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="563" y="30" width="128" height="15" uuid="8cd3f230-31bf-4855-8009-22e8e5fcc20b">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Durchfallquote in % *]]></text>
</staticText>
<textField>
<reportElement x="0" y="0" width="818" height="30" uuid="dde46984-9757-4065-970a-042ac9e725c4"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Prüfungen nach dem "+$F{Semester der Prüfung}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="50"/>
</groupFooter>
</group>
<detail>
<band height="15" splitType="Stretch">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="0" y="0" width="51" height="15" uuid="ab1dcbe4-f124-430c-9831-e3a1aba7e82d">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{pnr}]]></textFieldExpression>
<patternExpression><![CDATA[]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="51" y="0" width="307" height="15" uuid="e0421889-bb9a-4324-bcf3-edc738d36828">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Name der Prüfung}]]></textFieldExpression>
<patternExpression><![CDATA[]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="358" y="0" width="77" height="15" uuid="6fcce53f-6e5b-43f5-bee1-74ca78fda172"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Teilnehmer}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0"]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="435" y="0" width="128" height="15" uuid="74f016aa-b70a-44c5-97c7-4a2c458ad6d7"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Durchschnittsnote *}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0.00;-#,##0.00"]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="563" y="0" width="128" height="15" uuid="e02a56f9-bdf2-4ca3-8933-73cded7631de">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Durchfallquote in % *}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0.00;-#,##0.00"]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="691" y="0" width="127" height="15" uuid="39488aeb-b9b9-4656-8e15-f7f00b5f02ea">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Nicht erschienen}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0"]]></patternExpression>
</textField>
</band>
</detail>
</jasperReport>

16
superx/edit/rpta/rpta_column_layout_add_column.inc

@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
<td align="left">
<div id="fld_column_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_rpta_column2layoutcolumn_id" class="schluesselfeld" type="text">
<db:select id="inp_rpta_column2layoutcolumn_id" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="column_id" customEntry=",,true"><%
sql = "select C.tid, coalesce(C.caption,'Unbenannt') || ' (' || coalesce(C.uniquename,'TID: ' || C.tid::varchar) || ') [' || T.caption || ']' from rpta_column C, rpta_column_type T";
sql +=" where C.column_type=T.tid ";
if(currentRow_rpta_column_layout != null && currentRow_rpta_column_layout.get("resultset_id") != null
&& !currentRow_rpta_column_layout.get("resultset_id").toString().equals(""))
{
sql +=" and C.resultset_id= "+currentRow_rpta_column_layout.get("resultset_id").toString();
}
sql +=" order by 1;";
%><db:queryData name="rpta_column2layout_rpta_column7" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>

81
superx/xml/rpta_templates.xsl

@ -14,7 +14,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports"> @@ -14,7 +14,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports">
<xsl:param name="seitenrand" select="12" />
<xsl:param name="topMargin" select="12" />
<xsl:param name="bottomMargin" select="12" />
<xsl:param name="isIgnorePagination" select="'false'" />
<xsl:param name="isIgnorePagination" select="'true'" />
<xsl:param name="orientation" select="'Landscape'" />
<xsl:param name="stylesFile" select="'simple_table.jrtx'" />
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style-->
@ -23,20 +23,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports"> @@ -23,20 +23,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports">
<xsl:param name="std_spaltenbreite" select="'12'" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<xsl:param name="std_zeilenhoehe_tablerow" select="25" />
<xsl:param name="RPTContentype" />
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" />
<!-- bei Excel Erzeugung wird Paginierung ausgeschaltet:-->
<xsl:variable name="runTimePagination">
<xsl:choose>
<xsl:when test="$RPTContentype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'">
<xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$isIgnorePagination" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="{/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/maskenname}"
@ -49,9 +36,12 @@ leftMargin="{$seitenrand}" @@ -49,9 +36,12 @@ leftMargin="{$seitenrand}"
rightMargin="{$seitenrand}"
topMargin="{$topMargin}"
bottomMargin="{$bottomMargin}"
isIgnorePagination="{$runTimePagination}" >
isIgnorePagination="{$isIgnorePagination}" >
<xsl:call-template name="jr_properties" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/>
<!-- zum Testen-->
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="TUHH_kennz_bericht_ba"/>
<!--<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="466"/>
@ -170,10 +160,6 @@ isIgnorePagination="{$runTimePagination}" > @@ -170,10 +160,6 @@ isIgnorePagination="{$runTimePagination}" >
</xsl:for-each>
</detail>
<xsl:call-template name="pageFooter">
<xsl:with-param name="seitenbreite" select="$seitenbreite" />
</xsl:call-template>
</jasperReport>
</xsl:template>
@ -194,13 +180,6 @@ isIgnorePagination="{$runTimePagination}" > @@ -194,13 +180,6 @@ isIgnorePagination="{$runTimePagination}" >
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<!-- bei Excel Seitenkopf und Fuss unterdrücken: -->
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns" value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows" value="true"/>
</xsl:template>
@ -1173,51 +1152,5 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. @@ -1173,51 +1152,5 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist.
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="pageFooter">
<xsl:param name="seitenbreite" select="842" />
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent" x="0" y="3" width="89" height="12" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none">
<font fontName="Liberation Sans" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
</textElement>
<text><xsl:text><![CDATA[Erzeugungsdatum:]]></xsl:text></text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent" x="89" y="3" width="96" height="12" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none">
<font fontName="Liberation Sans" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date"><xsl:text><![CDATA[new java.util.Date()]]></xsl:text></textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="{$seitenbreite - 69 }" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String"><xsl:text><![CDATA["" + $V{PAGE_NUMBER} + ""]]></xsl:text></textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="{$seitenbreite - 166 }" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String"><xsl:text><![CDATA["Seite " + $V{PAGE_NUMBER} + " von "]]></xsl:text></textFieldExpression>
</textField>
</band>
</pageFooter>
</xsl:template>
</xsl:stylesheet>

7
superx/xml/tabelle_jrxml_a4_quer.xsl

@ -10,7 +10,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports" @@ -10,7 +10,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports"
<xsl:param name="seitenbreite" select="842" />
<xsl:param name="seitenhoehe" select="595" />
<xsl:param name="seitenrand" select="12" />
<xsl:param name="isIgnorePagination" select="'false'" />
<xsl:param name="isIgnorePagination" select="'true'" />
<xsl:param name="orientation" select="'Landscape'" />
<xsl:param name="stylesFile" select="'simple_table.jrtx'" />
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style-->
@ -19,7 +19,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports" @@ -19,7 +19,7 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports"
<xsl:param name="std_spaltenbreite" select="'12'" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<xsl:param name="std_zeilenhoehe_tablerow" select="30" />
<xsl:param name="RPTContentype" select="'application/pdf'" />
<xsl:output method="text" name="text"/>
<!--<xml:output method="xml" name="text" />-->
<xsl:output indent="yes"/>
@ -36,8 +36,6 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports" @@ -36,8 +36,6 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports"
<xsl:with-param name="seitenhoehe" select="$seitenhoehe" />
<xsl:with-param name="seitenrand" select="$seitenrand" />
<xsl:with-param name="stylesFile" select="$stylesFile" />
<xsl:with-param name="RPTContentype" select="$RPTContentype" />
</xsl:call-template>
<!--output documents klappt noch nicht-->
<!--
@ -66,7 +64,6 @@ Generiere <xsl:value-of select="$filename"/><xsl:text> @@ -66,7 +64,6 @@ Generiere <xsl:value-of select="$filename"/><xsl:text>
<xsl:with-param name="seitenrand" select="$seitenrand" />
<xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" />
<xsl:with-param name="stylesFile" select="$stylesFile" />
<xsl:with-param name="RPTContentype" select="$RPTContentype" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>

320
superx/xml/tabelle_xls_48140.xsl

@ -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' ]) &gt; 0">
<xsl:choose>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '4']) &gt; 0">
<xsl:text>4</xsl:text>
</xsl:when>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '3']) &gt; 0">
<xsl:text>3</xsl:text>
</xsl:when>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '2']) &gt; 0">
<xsl:text>2</xsl:text>
</xsl:when>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '1']) &gt; 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' ]) &gt; 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="'&#160;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="(@typ='2' or @typ='3') and count(../col[f_name=$checkname]) &gt;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="'&#160;'" />
</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="'&#160;'" />
</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) &gt; 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) &lt; 50">
<![CDATA[]]><xsl:value-of select="normalize-space(string(value_caption))" /><![CDATA[]]>
</xsl:if>
<xsl:if test="string-length(wert/caption) &gt; 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…
Cancel
Save