Compare commits

..

4 Commits

  1. 1686
      src-modules/module/rpta/conf/rpta.xml
  2. 10
      src-modules/module/rpta/hilfstabellen/fill_rpta_resultset.sql
  3. 9
      src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
  4. 86
      src-modules/module/rpta/masken/48000_felderinfo.unl
  5. 21
      src-modules/module/rpta/masken/48000_maskeninfo.unl
  6. 2
      src-modules/module/rpta/masken/48110_maskeninfo.unl
  7. 2
      src-modules/module/rpta/masken/48180_maskeninfo.unl
  8. 2
      src-modules/module/rpta/masken/48220_felderinfo.unl
  9. 2
      src-modules/module/rpta/masken/48220_maskeninfo.unl
  10. 17
      src-modules/module/rpta/masken/48250_felderinfo.unl
  11. 3
      src-modules/module/rpta/masken/48250_masken_felder_bez.unl
  12. 10
      src-modules/module/rpta/masken/48250_maskeninfo.unl
  13. 6
      src-modules/module/rpta/masken/48280_felderinfo.unl
  14. 5
      src-modules/module/rpta/masken/48280_maskeninfo.unl
  15. 2
      src-modules/module/rpta/masken/48310_felderinfo.unl
  16. 6
      src-modules/module/rpta/masken/48310_maskeninfo.unl
  17. 45
      src-modules/module/rpta/masken/48460_felderinfo.unl
  18. 2
      src-modules/module/rpta/masken/48460_maske_system_bez.unl
  19. 12
      src-modules/module/rpta/masken/48460_masken_felder_bez.unl
  20. 111
      src-modules/module/rpta/masken/48460_maskeninfo.unl
  21. 2
      src-modules/module/rpta/masken/48460_sachgeb_maske_bez.unl
  22. 108
      src-modules/module/rpta/masken/48490_felderinfo.unl
  23. 1
      src-modules/module/rpta/masken/48490_maske_system_bez.unl
  24. 18
      src-modules/module/rpta/masken/48490_masken_felder_bez.unl
  25. 187
      src-modules/module/rpta/masken/48490_maskeninfo.unl
  26. 1
      src-modules/module/rpta/masken/48490_sachgeb_maske_bez.unl
  27. 85
      src-modules/module/rpta/masken/48520_felderinfo.unl
  28. 1
      src-modules/module/rpta/masken/48520_maske_system_bez.unl
  29. 20
      src-modules/module/rpta/masken/48520_masken_felder_bez.unl
  30. 171
      src-modules/module/rpta/masken/48520_maskeninfo.unl
  31. 1
      src-modules/module/rpta/masken/48520_sachgeb_maske_bez.unl
  32. 2
      src-modules/module/rpta/schluesseltabellen/absolvierende_datenblatt_virtuell.sql
  33. 384
      src-modules/module/rpta/schluesseltabellen/absolvierende_gewichtet_datenblatt_virtuell.sql
  34. 600
      src-modules/module/rpta/schluesseltabellen/finanzen_virtuell.sql
  35. 233
      src-modules/module/rpta/schluesseltabellen/fm_templates.unl
  36. 384
      src-modules/module/rpta/schluesseltabellen/pruefungen_im_detail_datenblatt_virtuell.sql
  37. 384
      src-modules/module/rpta/schluesseltabellen/pruefungen_im_detail_gewichtet_datenblatt_virtuell.sql
  38. 431
      src-modules/module/rpta/schluesseltabellen/pruefungen_nach_ppruef_historisiert_virtuell.sql
  39. 92
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout__fin_einnahmen_dm_fuellen.sql
  40. 2
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_fuellen.sql
  41. 90
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_mtknr_fuellen.sql
  42. 127
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_bewerbungsprozess_sicht.sql
  43. 2
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_internationale_studierende_sicht.sql
  44. 83
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_lm_ects_soll_ist_matrikelnummer_sicht.sql
  45. 76
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_lm_ects_soll_ist_sicht.sql
  46. 74
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_rpta_exam_unit_dim_studiengang_exam_written.sql
  47. 107
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_rsz_2_fuellen.sql
  48. 92
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stg_verlauf_exmagr_fuellen.sql
  49. 58
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_hssem1_repo_fuellen.sql
  50. 313
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_hssem1_repo_fuellen_generated.sql
  51. 63
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sxc_zahl_wert_stammdaten_nrw.sql
  52. 11
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sxc_zahl_wert_stammdaten_nrw_lfb.sql
  53. 302
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_zul_antr_aggr_bewerberstatisik_vergl_anhalt.sql
  54. 102
      src-modules/module/rpta/schluesseltabellen/rpta_column_rpta_exam_unit_dim_studiengang_fuellen.sql
  55. 180
      src-modules/module/rpta/schluesseltabellen/rpta_column_rpta_lm_ects_soll_ist_fuellen.sql
  56. 1
      src-modules/module/rpta/schluesseltabellen/rpta_column_type.unl
  57. 384
      src-modules/module/rpta/schluesseltabellen/rpta_lm_ects_soll_ist_virtuell.sql
  58. 43
      src-modules/module/rpta/schluesseltabellen/sos_stg_verlauf_virtuell.sql
  59. 450
      src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_historisiert_virtuell.sql
  60. 53
      src-modules/module/rpta/schluesseltabellen/sx_captions_einfuegen.sql
  61. 38
      src-modules/module/rpta/schluesseltabellen/sx_repository_fuellen.sql
  62. 6
      src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
  63. 4
      src-modules/module/rpta/schluesseltabellen/sxconnect_kennzahlen_virtuell.sql
  64. 52
      src-modules/module/rpta/upgrade/rpta_upgrade_man.sql
  65. 99
      superx/WEB-INF/reports/simple_table.jrtx
  66. 64
      superx/xml/rpta_assistent.xsl
  67. 9
      superx/xml/rpta_templates.xsl

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

File diff suppressed because it is too large Load Diff

10
src-modules/module/rpta/hilfstabellen/fill_rpta_resultset.sql

@ -1,7 +1,6 @@ @@ -1,7 +1,6 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "RPTA-Makros"/>
--
--Autor D. Quathamer 2024
<sqlvars>
@ -50,17 +49,12 @@ R.uniquename as rpta_name @@ -50,17 +49,12 @@ R.uniquename as rpta_name
<#if basetable.is_virtual==0>
<#foreach rpta_clause in rpta_clauses>
<#assign whereclauseTemplate= "<#assign whereclause=\""+rpta_clause.whereclause +"\">"/>
<#assign t2=whereclauseTemplate?interpret />
<@t2/>
<#if rpta_clause.rpta_uniquename=basetable.uniquename>
<#if rpta_clause.joinclause?exists && rpta_clause.joinclause !=''>
<#assign sqlString = "select current_timestamp as creation_date, " + parseRepoVars(rpta_clause.fieldclause) + " from " + rpta_clause.joinclause + " where 1=1 " + parseRepoVars(rpta_clause.whereclause) />
<#assign sqlString = "select current_timestamp as creation_date, " + rpta_clause.fieldclause + " from " + rpta_clause.joinclause + " where 1=1 " + rpta_clause.whereclause />
<#else>
<#assign sqlString = "select current_timestamp as creation_date, " + parseRepoVars(rpta_clause.fieldclause) + " where 1=1 " + parseRepoVars(rpta_clause.whereclause) />
<#assign sqlString = "select current_timestamp as creation_date, " + rpta_clause.fieldclause + " where 1=1 " + rpta_clause.whereclause />
</#if>

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

@ -34,8 +34,7 @@ insert into rpta_exam_unit (matrikel_nr, @@ -34,8 +34,7 @@ insert into rpta_exam_unit (matrikel_nr,
elementnr,
summe,
shortcomment,
panerk,
d_abg_pruefung
panerk
)
SELECT
matrikel_nr,
@ -63,8 +62,7 @@ SELECT @@ -63,8 +62,7 @@ SELECT
<#else>
null::varchar(255) as shortcomment,
</#if>
panerk,
d_abg_pruefung
panerk
FROM lm_exam_unit
@ -90,8 +88,7 @@ UNION SELECT @@ -90,8 +88,7 @@ UNION SELECT
pnr::varchar(255) as elementnr,
summe,
null::varchar(255) as shortcomment,
(select L.panerk from sos_lab L where L.labnr=sos_lab_pord.labnr and L.sourcesystem = 5),
d_abg_pruefung
(select L.panerk from sos_lab L where L.labnr=sos_lab_pord.labnr and L.sourcesystem = 5)
FROM sos_lab_pord
WHERE sourcesystem = 5
;

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

@ -1,37 +1,14 @@ @@ -1,37 +1,14 @@
48000^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
48000^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_gew')\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat','sos_stud_astat_gew')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA_GEW' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr ILIKE '%gew%')\
)\
union\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat','sos_stud_astat_archiv')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr NOT ILIKE '%gew%')\
)\
order by sortnr, caption;^ ^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_gew')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA_GEW' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr ILIKE '%gew%')\
)\
union\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat','sos_stud_astat_archiv')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr NOT ILIKE '%gew%')\
)\
order by sortnr, caption\
limit 1;^
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^
48001^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48002^Fächer^30^0^0^130^200^6^integer^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48003^Abschluss^40^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
@ -48,52 +25,7 @@ limit 1;^ @@ -48,52 +25,7 @@ limit 1;^
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^ ^
48016^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^13^^ ^ ^
48018^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, 'R_' || id as id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
\
UNION ALL\
\
SELECT 999999 AS sort1, 'K_' || tid AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE 1=1\
--AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^ ^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, 'R_' || id as id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
AND caption = 'Fälle'\
\
UNION ALL\
\
SELECT 999999 AS sort1, 'K_' || tid AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE eintrag = 'Fälle'\
--AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^
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';^
48019^Status^340^330^-1^130^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^ ^ ^
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>>\

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

@ -85,15 +85,6 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -85,15 +85,6 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
;\
\
]]></sqlvar>\
<sqlvar name="koepfe_oder_faelle_prep"><![CDATA[\
\
select apnr from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>'\
union\
select content from sx_repository where 'R_' || tid='<<Köpfe oder Fälle ?>>'\
limit 1;\
]]>\
</sqlvar>\
\
</sqlvars>\
\
<#assign jahr_param="" />\
@ -120,7 +111,7 @@ limit 1;\ @@ -120,7 +111,7 @@ limit 1;\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_rueck_beur_ein = "+endsemester /> \
</#if>\
\
<#assign filter="${(koepfe_oder_faelle_prep?has_content)?then(koepfe_oder_faelle_prep, '1=1')}\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and <<Hochschulzugangsberechtigung>> */\
@ -167,17 +158,11 @@ limit 1;\ @@ -167,17 +158,11 @@ limit 1;\
<#if basetable.is_virtual==1>\
\
create temp table ${basetable.runtime_tablename} as\
select ${parseRepoVars(rpta_resultset.fieldclause)} \
select ${rpta_resultset.fieldclause} \
from ${rpta_resultset.joinclause} \
where 1=1\
<#if rpta_resultset.whereclause != ""> \
--damit Repo Variablen interpretiert werden:\
<#assign whereclauseTemplate= "<#assign whereclause=\\""+rpta_resultset.whereclause +"\\">"/>\
<#assign t2=whereclauseTemplate?interpret />\
<@t2/>\
\
${whereclause} \
</#if>\
${rpta_resultset.whereclause} </#if>\
and ${filter}\
;\
</#if>\

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

@ -109,4 +109,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -109,4 +109,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^Studienfach^Anzahl bzw. Anteil^Leistungen und Studiengänge^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^Studienfach^Anzahl bzw. Anteil^Leistungen und Studiengänge^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/rpta/masken/48180_maskeninfo.unl

@ -271,4 +271,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -271,4 +271,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^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>>;^

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

@ -24,7 +24,7 @@ order by sortnr, caption\ @@ -24,7 +24,7 @@ order by sortnr, caption\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_man_kennz_aggr'\
and R.systeminfo_id=200) limit 1;^
and R.systeminfo_id=200) and uniquename='man_kennz_aggr_tuhh_behoerdenbericht';^
48227^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;^^^

2
src-modules/module/rpta/masken/48220_maskeninfo.unl

@ -163,4 +163,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -163,4 +163,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^^^Übersicht über vorberechnete Kennzahlen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^1^600^360^0^^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^^^Übersicht über vorberechnete Kennzahlen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^1^600^360^0^^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

17
src-modules/module/rpta/masken/48250_felderinfo.unl

@ -3,20 +3,20 @@ @@ -3,20 +3,20 @@
48252^Vertragsart^10^380^-1^200^160^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA-Vertragsart-Sicht' and aktiv=1 order by type,name;^^^
48253^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;^^^
(select tid from rpta_column_layout where tid=<<Spaltenlayout>>) order by 2;^^^
48254^Geschlecht^81^310^-1^100^70^1^integer^4^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
48255^Personal-Nr.^50^350^-1^150^80^1^integer^10^0^999^^^^
48256^Amtsbezeichnung^55^0^0^150^160^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Amtsdienstbez.' and aktiv=1 order by type,name;^ ^^
48255^Personal-Nr.^50^350^-1^150^80^1^integer^10^0^0^^^^
48256^Amtsbezeichnung^55^0^0^150^160^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Amtsdienstbez.' and aktiv=1 order by type,name;^hidden^^
48257^Filter Personal^120^310^-1^100^300^1^sql^20^0^1^<<SQL>> select id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SVA_PERS_FILTER' order by 2;^^^
48258^Kostenstelle (Person)^70^350^-1^150^150^1^char^30^0^12^<<SQL>> select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Kostenstellen-Sicht','SVA-Kst-spezial') and aktiv=1 order by sortnr,type,name;^ ^^
48258^Kostenstelle (Person)^70^350^-1^150^150^1^char^30^0^12^<<SQL>> select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Kostenstellen-Sicht','SVA-Kst-spezial') and aktiv=1 order by sortnr,type,name;^hidden^^
48259^Alter (bis)^21^170^-1^100^70^1^integer^5^0^0^^^^
48260^Spaltenlayout^3000^350^-1^140^180^1^char^50^1^1^<<SQL>>SELECT uniquename,\
48260^Spaltenlayout^3000^350^-1^140^180^1^integer^50^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sva_pbv_aggr_pgd'\
and R.systeminfo_id=6)\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sva_pbv_aggr_pgd'\
@ -24,10 +24,7 @@ and R.systeminfo_id=6)\ @@ -24,10 +24,7 @@ and R.systeminfo_id=6)\
order by sortnr, caption\
limit 1 \
;^
48261^ProfGruppe^1000^0^0^200^150^10^char^30^0^12^<<SQL>>select tid,type,name,sortnr from sichten where art in ('SVA-PBV-Gruppe-Sicht') and aktiv=1 order by sortnr,type,name;^hidden^^
48262^Dienstart^3^350^-1^150^150^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Dienstart' and aktiv=1 order by type,name;^hidden^^
48263^Beschv.-Nr.^305^0^0^100^70^1^integer^8^0^0^^^^
48264^BVL-Gruppe^80^350^-1^150^120^10^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA BVL-Gruppen' and aktiv=1 order by type,name;^ ^^
48265^Leere Zeilen ausblenden^5000^350^-1^140^80^1^char^30^1^1^<<SQL>> select 'true','ja' from xdummy union select 'false','nein' from xdummy^ ^<<SQL>> select 'true','ja' from xdummy^
48264^BVL-Gruppe^80^350^-1^150^120^10^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA BVL-Gruppen' and aktiv=1 order by type,name;^hidden^^
48267^Personalkategorie^310^0^0^100^200^3^char^30^0^1^<<SQL>> select id,caption from sx_repository where art='SVA_PERSONALKATEGORIE' and aktiv=1 and gueltig_seit<=date_val(<<Datum>>) and gueltig_bis>=date_val(<<Datum>>) order by sort1^hidden^^
48269^Alter (von)^20^0^0^80^70^1^integer^4^0^0^^^^

3
src-modules/module/rpta/masken/48250_masken_felder_bez.unl

@ -9,10 +9,7 @@ @@ -9,10 +9,7 @@
48250^48258^
48250^48259^
48250^48260^
48250^48261^
48250^48262^
48250^48263^
48250^48264^
48250^48265^
48250^48267^
48250^48269^

10
src-modules/module/rpta/masken/48250_maskeninfo.unl

@ -39,7 +39,7 @@ select L.uniquename,\ @@ -39,7 +39,7 @@ select L.uniquename,\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
and L.uniquename=<<Spaltenlayout>>;\
and L.tid=<<Spaltenlayout>>;\
\
]]></sqlvar>\
<sqlvar name="columns" type="hashsequence"><![CDATA[\
@ -59,7 +59,7 @@ left outer join rpta_format_code F on (F.tid=CL.format_code_id)\ @@ -59,7 +59,7 @@ left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
and L.uniquename=<<Spaltenlayout>>\
and L.tid=<<Spaltenlayout>>\
/* and C.uniquename in (<<Spalten>>) */\
order by CL.sortnr\
;\
@ -78,8 +78,6 @@ order by CL.sortnr\ @@ -78,8 +78,6 @@ order by CL.sortnr\
/* and ca501_staat <<Staatsangehörigkeit>> */\
/* and geschlecht= <<Geschlecht>> */\
/* and ${<<Filter Personal>>} */\
/* and personal_nr=<<Pers.-Nr.>> */\
/* and besch_verh_nr=<<Beschv.-Nr.>> */\
" />\
\
/* <#assign filter = filter + " and sva_pbv_aggr.kostenstelle in "+.vars["Kostenstelle (Person)"].allNeededKeysList /> -- <<Kostenstelle (Person)>> */\
@ -87,7 +85,7 @@ order by CL.sortnr\ @@ -87,7 +85,7 @@ order by CL.sortnr\
/* <#assign filter = filter + " and sva_pbv_aggr.ca108_amtsbez in "+.vars["Amtsbezeichnung"].allNeededKeysList /> -- <<Amtsbezeichnung>> */\
/* <#assign filter = filter + " and sva_pbv_aggr.ch212_geldgeber in "+.vars["Geldgeber"].allNeededKeysList /> -- <<Geldgeber>> */\
/* <#assign filter = filter + " and sva_pbv_aggr.vertart in "+.vars["Vertragsart"].allNeededKeysList /> -- <<Vertragsart>> */\
/* <#assign filter = filter + " and sva_pbv_aggr.ca109_key_bvl in "+.vars["BVL-Gruppe"].allNeededKeysList /> -- <<BVL-Gruppe>> */\
\
\
\
\
@ -108,7 +106,7 @@ and ${filter}\ @@ -108,7 +106,7 @@ and ${filter}\
</#if>\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter removeEmptyLines=<<Leere Zeilen ausblenden>> />\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\
\
</#if> --wenn columns?has_content^--Freemarker Template\
XIL List\

6
src-modules/module/rpta/masken/48280_felderinfo.unl

@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
48280^Studiengang^39^0^0^150^200^6^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art in ('MAN-STG-Kostenstellen-Sicht','MAN-Studiengang-Sicht') and aktiv=1 order by 3,2;^ ^ ^
48281^Kennzahl^100^0^0^150^200^2^char^255^0^1^<<SQL>> select C.id,trim(C.name) || ' - (' || C.id || ')'\
from sxc_katalog C\
from kenn_katalog C\
where \
C.id in (select distinct katalog_id from sxc_zahl_wert where bestand_id=<<Bestand>>)\
C.id in (select distinct kenn_zahl from sxc_zahl_wert where sxc_bestand_id=<<Bestand>>)\
order by id^ ^ ^
48282^Lehr- und Forschungsbereich^3001^0^0^150^200^2^char^30^0^1^<<SQL>>select distinct lfb,lfb_str from k_astat_lfb_fg where lfb in (select target_value from sxc_mapping_bestand where object_type='Lehr- und Forschungsbereich') order by 2;^ ^ ^
48282^Institution^2^0^0^150^200^1^char^30^0^999^<<SQL>>select tid,type,name from sichten where art ='MAN-Kostenstellen-Sicht' and aktiv=1 order by type,name;^ ^ ^
48283^Start-Jahr^4^0^0^100^50^1^integer^30^0^1^<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<<SQL>> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^
48284^Startsemester^7^0^0^140^80^1^integer^30^0^999^<<SQL>> select tid, eintrag from man_semester order by tid DESC;^ ^ ^
48285^tablestylesheet^121^0^0^100^200^1^char^200^0^13^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=888881430^hidden^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=888881430 and S.ord=1^

5
src-modules/module/rpta/masken/48280_maskeninfo.unl

@ -99,10 +99,9 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -99,10 +99,9 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
<#assign filter="1=1\
/* and hs_nr in (<<Hochschule>>) */\
/* and geschlecht=<<Geschlecht>> */\
/* and sxc_katalog.id in (<<Kennzahl>>) */ \
/* and kenn_katalog.id in (<<Kennzahl>>) */ \
/* and jahr >= <<Start-Jahr>> */\
/* and jahr <= <<End-Jahr>> */\
/* and generic_dim1 in (select object_value from sxc_mapping_bestand where target_value=<<Lehr- und Forschungsbereich>>) */\
" />\
\
\
@ -139,4 +138,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -139,4 +138,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^ ^ ^Übersicht über vorberechnete Kennzahlen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^1^600^360^^0^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^ ^ ^Übersicht über vorberechnete Kennzahlen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^1^600^360^^0^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

@ -22,7 +22,7 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp @@ -22,7 +22,7 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp
48323^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
48324^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;^^^
48325^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
48326^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^0^^^^
48326^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^13^^^^
48328^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';^
48332^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;^ ^ ^
48333^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\

6
src-modules/module/rpta/masken/48310_maskeninfo.unl

@ -108,9 +108,9 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -108,9 +108,9 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
</#if>\
\
\
<#assign mtknr_filter="matrikel_nr::varchar(255)" />\
<#assign mtknr_filter=basetable.name+".matrikel_nr::varchar(255)" />\
<#if SOS_MTKNR_EXT=1>\
<#assign mtknr_filter="pseudonym" />\
<#assign mtknr_filter=basetable.name+".pseudonym" />\
</#if>\
<#if richtung="gw" >\
<#assign tid_stg_col="abschluss_vorher_tid_stg" />\
@ -199,4 +199,4 @@ Column CID=0 heading_text="sortnr" center_heading explanation=""\ @@ -199,4 +199,4 @@ Column CID=0 heading_text="sortnr" center_heading explanation=""\
row_selectable heading_platform readonly\
width=5 text_size=60\
</#if>\
@@@^Studienfach^Anzahl bzw. Anteil^Übergang nach Abschluss zu einem neuen Studiengang oder vorheriger Abschluss bei Studienbeginn^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^Studienfach^Anzahl bzw. Anteil^Übergang nach Abschluss zu einem neuen Studiengang oder vorheriger Abschluss bei Studienbeginn^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>>;^

45
src-modules/module/rpta/masken/48460_felderinfo.unl

@ -1,25 +1,32 @@ @@ -1,25 +1,32 @@
48460^Grafik^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=48460 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=48460 order by 2 limit 1;^
48461^Org. Einheit^1^0^0^150^200^1^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by sortnr;^^^
48462^Haushaltsjahr (HHJ)^2^0^0^100^50^1^integer^30^0^1^<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' order by 1;^^ ^
48463^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\
</#if>\
order by tid DESC;^hidden^ ^
48464^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=48460 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=48460 order by ord limit 1^
48460^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr,eintrag from koepfe_oder_faelle where eintrag='Köpfe' union select apnr,eintrag from koepfe_oder_faelle where eintrag not in ('Köpfe','gewichtete Fälle') and\
0 < (select count(*) from konstanten K where K.beschreibung='ERFOLG_NUR_KOEPFE' and K.apnr != 1) order by 2^^<<SQL>> select apnr,eintrag from koepfe_oder_faelle where eintrag='Fälle'^
48461^Einschreibsemester von^2^0^0^100^100^1^integer^30^1^1^<<SQL>> select tid,eintrag from semester order by 1 desc^^<<SQL>> select tid, eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^
48462^Art des Studienbeginns^32^300^-1^100^220^1^char^30^1^1^<<SQL>> SELECT 'E','Einschreibung' from xdummy union select '1','1. Fachsemester' from xdummy union select 'H','Erstes Hochschulsemester' from xdummy union SELECT 'L','3.-4.Lehrplansemester' from xdummy order by 2;^^<<SQL>> select '1','1. Fachsemester' from xdummy^
48463^Staatsangehörigkeit^35^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^^^
48464^Verlaufsbetr. bis^4^0^0^100^100^1^integer^30^0^1^<<SQL>> select tid,eintrag from semester order by 1 desc^^<<SQL>> select tid,eintrag from semester where sem_beginn <= today() and sem_ende >= today();^
48465^Hörerstatus^34^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48466^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='fin_konto_aggr_gege'\
and R.systeminfo_id=3)\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_stg_verlauf')\
and R.systeminfo_id=120)\
order by sortnr, caption\
;^^<<SQL>> SELECT uniquename,\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='fin_konto_aggr_gege'\
and R.systeminfo_id=3)\
order by sortnr, caption\
;^
48468^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^0^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_stg_verlauf'\
and R.systeminfo_id=120) order by sortnr, 2 limit 1;^
48467^bis Fachsemester^31^350^-1^140^100^1^integer^30^0^0^^^^
48468^Filter Studienbeginn^33^0^0^100^100^1^sql^20^0^1^<<SQL>> SELECT content,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='ERFOLG_FILTER' order by 2;^^^
48469^bis^3^300^-1^100^100^1^integer^30^0^1^<<SQL>> select tid,eintrag from semester order by 1 desc^^^
48471^Geschlecht^36^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;^^^
48472^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;^ ^ ^
48473^Studiengang^5^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
48474^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
48475^tablestylesheet^121^0^0^100^200^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=48460^^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=30000 and S.ord=1^
48476^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
48477^Matrikel-Nr.^21^350^-1^150^50^1^char^30^0^0^^^^
48478^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
48479^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

2
src-modules/module/rpta/masken/48460_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
48460^3^
48460^120^

12
src-modules/module/rpta/masken/48460_masken_felder_bez.unl

@ -3,5 +3,17 @@ @@ -3,5 +3,17 @@
48460^48462^
48460^48463^
48460^48464^
48460^48465^
48460^48466^
48460^48467^
48460^48468^
48460^48469^
48460^48471^
48460^48472^
48460^48473^
48460^48474^
48460^48475^
48460^48476^
48460^48477^
48460^48478^
48460^48479^

111
src-modules/module/rpta/masken/48460_maskeninfo.unl

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
48460^Kontostände Finanzbuchhaltung^--Freemarker Template\
48460^Studienverlauf (Kohortenbetrachtung) Spaltenlayouts^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--\
@ -73,20 +73,98 @@ and L.uniquename=<<Spaltenlayout>>\ @@ -73,20 +73,98 @@ and L.uniquename=<<Spaltenlayout>>\
order by CL.sortnr\
;\
]]></sqlvar>\
<sqlvar name="jahr_filter" ><![CDATA[\
select max(rechnungsjahr) from fin_konto_aggr\
where 1=1\
/* and rechnungsjahr <=<<Haushaltsjahr (HHJ)>> */\
/* and rechnungsjahr<=get_akad_jahr(<<Bis Semester>>,'A') */\
;\
]]></sqlvar>\
<sqlvar name="sem_seq">\
select tid,eintrag from semester order by tid;\
</sqlvar>\
<sqlvar name="sem_max">\
select max(tid) from semester;\
</sqlvar>\
<sqlvar name="sem_max_stg">\
select max(sem_rueck_beur_ein) from sos_stg;\
</sqlvar>\
</sqlvars>\
\
\
<#assign filter="fin_konto_aggr.rechnungsjahr BETWEEN ("+jahr_filter+"-4) AND "+jahr_filter />\
<#assign ende_art_selected=0 />\
\
\
<#assign i = 0 />\
<#assign dauer = "" />\
<#assign dauer_sem = "" />\
/* <#assign dauer = "<<Dauer Verlaufsbetr.>>" /> */\
<#if dauer != "" && sem_seq?has_content >\
<#foreach row_sem in sem_seq>\
\
<#if dauer_sem=="" && (i == dauer?number || i &gt; dauer?number || i == (sem_seq?size+1)) >\
<#assign dauer_sem = row_sem.key />\
</#if>\
<#assign i = i + 1 />\
</#foreach>\
</#if>\
\
\
<#assign bis_sem = "<<bis>>" />\
<#if bis_sem != "" >\
<#assign sem_operator = ">=" />\
<#else>\
<#assign sem_operator = "=" />\
</#if>\
\
<#assign einschreib_sem = "<<Einschreibsemester>>" />\
/* <#assign dauer_sem = "<<Verlaufsbetr. bis>>" /> */\
<#if dauer_sem == "" >\
<#assign dauer_sem = sem_max />\
</#if>\
\
\
<#assign filter=" anfang_sem "+ sem_operator + "<<Einschreibsemester von>>" />\
<#assign filter=filter+" \
/* and anfang_sem <= <<bis>> */\
and anfang_art=<<Art des Studienbeginns>>\
/* and geschlecht = <<Geschlecht>> */\
/* and ende_fachsem <= <<bis Fachsemester>> */\
/* and <<Hochschulzugangsber.>> */\
/* and stufrm = <<Studienform>> */\
/* and <<Hörerstatus>>*/\
/* and <<Filter Studienbeginn>> */\
" />\
\
\
\
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
/* \
<#assign filter = filter + " and anfang_fach in "+Fächer.allNeededKeysList /> --<<Fächer>> */\
/* \
<#assign filter = filter + " and anfang_abschluss in "+Studienabschluss.allNeededKeysList /> --<<Studienabschluss>> */\
\
/* \
<#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\
\
\
\
<#assign mtknr_filter="matrikel_nr::varchar(255)" />\
<#if K_SOS_MTKNR_EXT=1>\
<#assign mtknr_filter="pseudonym" />\
</#if>\
<#assign matrikel_nr_sel="" />\
/*<#assign matrikel_nr_sel=<<Matrikel-Nr.>> />*/\
\
\
<#if matrikel_nr_sel !="">\
<#assign filter=filter+" and "+mtknr_filter+"='"+matrikel_nr_sel+"'" />\
</#if>\
<#if columns?has_content>\
\
<#foreach column in columns>\
<#if column.srcfieldname=="ende_art">\
<#assign ende_art_selected=ende_art_selected+1 />\
</#if>\
<#if column.srcfieldname=="ende_sem_d_pruef">\
<#assign ende_art_selected=ende_art_selected+1 />\
</#if>\
</#foreach>\
\
\
<#if basetable.is_virtual==1>\
\
create temp table ${basetable.runtime_tablename} as\
@ -98,10 +176,14 @@ ${rpta_resultset.whereclause} </#if>\ @@ -98,10 +176,14 @@ ${rpta_resultset.whereclause} </#if>\
and ${filter}\
;\
</#if>\
--in ende_art steht der Verlauf relativ zum Semester der Verlaufsbetrachtung\
<#if ende_art_selected==2>\
update ${basetable.runtime_tablename} set ende_art='I' where ende_sem_d_pruef > ${dauer_sem} ;\
update ${basetable.runtime_tablename} set ende_sem_d_pruef=${dauer_sem} where ende_sem_d_pruef > ${dauer_sem} ;\
</#if>\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter/>\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\
\
</#if> --wenn columns?has_content^--Freemarker Template\
XIL List\
@ -116,4 +198,9 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -116,4 +198,9 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^^^Einnahmen / Ausgaben nach Geldgeber^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^1^600^360^0^^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^
<#if 1=0>\
Column CID=0 heading_text="sortnr" center_heading explanation=""\
row_selectable heading_platform readonly\
width=5 text_size=60\
</#if>\
@@@^Altersgruppe^Anzahl^Studienverlaufsstatistik auf der Basis von Einzelfällen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^0^1^^

2
src-modules/module/rpta/masken/48460_sachgeb_maske_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
50^48460^
120^48460^

108
src-modules/module/rpta/masken/48490_felderinfo.unl

@ -1,108 +0,0 @@ @@ -1,108 +0,0 @@
48490^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, 'R_' || id as id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
\
UNION ALL\
\
SELECT 999999 AS sort1, 'K_' || tid AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE 1=1\
--AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^ ^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, 'R_' || id as id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
AND caption = 'Fälle'\
\
UNION ALL\
\
SELECT 999999 AS sort1, 'K_' || tid AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE eintrag = 'Fälle'\
--AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^
48491^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\
</#if>\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^
48492^Stichtag^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^
48493^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^ ^
48494^Prüfungsstatus^13^0^0^140^70^1^char^30^0^1^<<SQL>> select apnr,druck from sos_k_pstatus;^ ^<<SQL>> select apnr,druck from sos_k_pstatus where apnr='BE';^
48495^Fächer^9^0^0^130^150^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48497^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^ ^ ^
48499^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\
</#if>\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48501^Geschlecht^37^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;^ ^ ^
48503^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48504^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^
48505^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=48490 order by ord,2^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=48490 order by ord,2 limit 1^
48508^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_stg_gew')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA_GEW' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr ILIKE '%gew%')\
)\
union\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_aggr','rpta_sos_lab_stg','rpta_sos_lab_stg_archiv')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr NOT ILIKE '%gew%')\
)\
order by sortnr, caption;^ ^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_stg_gew')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA_GEW' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr ILIKE '%gew%')\
)\
union\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_aggr')\
and R.systeminfo_id=7)\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and 'R_' || id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>' AND apnr NOT ILIKE '%gew%')\
)\
order by sortnr, caption\
limit 1;^
48509^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^ ^
48510^##line##^30^0^0^100^100^1^char^5000^0^8^^ ^1^
48511^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
48512^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^ ^
48513^##line##^40^0^0^100^100^1^char^5000^0^8^^ ^1^

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

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

18
src-modules/module/rpta/masken/48490_masken_felder_bez.unl

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
48490^48490^
48490^48491^
48490^48492^
48490^48493^
48490^48494^
48490^48495^
48490^48497^
48490^48499^
48490^48501^
48490^48503^
48490^48504^
48490^48505^
48490^48508^
48490^48509^
48490^48510^
48490^48511^
48490^48512^
48490^48513^

187
src-modules/module/rpta/masken/48490_maskeninfo.unl

@ -1,187 +0,0 @@ @@ -1,187 +0,0 @@
48490^Absolvent*innen nach Studiengang^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--\
--Autor D. Quathamer 2024\
<sqlvars>\
<sqlvar name="my_base_rs"><![CDATA[\
select R.uniquename\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and L.uniquename=<<Spaltenlayout>>;]]>\
</sqlvar>\
<sqlvar name="basetable" type="hash"><![CDATA[\
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,\
R.is_virtual,\
L.sortclause\
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,\
F.sql_code as format_sql,\
F.uniquename as format_uniquename,\
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_column C, rpta_column_type T, rpta_column2layout CL\
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
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>\
<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>\
<sqlvar name="koepfe_oder_faelle_prep"><![CDATA[\
\
select apnr from koepfe_oder_faelle where 'K_' || tid='<<Köpfe oder Fälle ?>>'\
union\
select content from sx_repository where 'R_' || tid='<<Köpfe oder Fälle ?>>'\
limit 1;\
]]>\
</sqlvar>\
</sqlvars>\
\
<#assign jahr_param="" />\
<#assign jahr_filter="1=1" />\
/* <#assign jahr_param="<<Jahr>>" /> */\
--Akad. Jahr 2022: WS + SS - Beispiel: WS 22/23 + SS 2023\
<#if jahr_param !="">\
<#assign jahr_filter="(" />\
<#assign jahr_filter=jahr_filter + "(substring('' || sem_der_pruefung from 5 for 1)='2' and val(substring('' || sem_der_pruefung from 1 for 4))="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + " or "/>\
<#assign jahr_filter=jahr_filter + "(substring('' || sem_der_pruefung from 5 for 1)='1' and (val(substring('' || sem_der_pruefung from 1 for 4))-1)="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign semester_filter ="1=1\
/* and sem_der_pruefung >= <<Seit Semester>> */\
/* and sem_der_pruefung <= <<Bis Semester>> */\
" />\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
<#assign semester_filter = semester_filter+ " and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>'" />\
</#if>\
<#if "<<Nur Endsemester>>"="1">\
--nur Endsemester\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_der_pruefung = "+endsemester /> \
</#if>\
\
\
\
<#if my_base_rs = "rpta_sos_lab_aggr">\
<#assign filter="${(koepfe_oder_faelle_prep?has_content)?then(koepfe_oder_faelle_prep, '1=1')}\
/* and sem_der_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
/* and pstatus=<<Prüfungsstatus>> */\
" />\
<#elseif my_base_rs = "rpta_sos_lab_stg">\
<#assign filter="${(koepfe_oder_faelle_prep?has_content)?then(koepfe_oder_faelle_prep, '1=1')}\
/* and sem_d_abg_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
/* and pstatus=<<Prüfungsstatus>> */\
" />\
</#if>\
\
\
\
\
\
<#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 tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.stg in "+Fächer.allNeededKeysList +")" /> --<<Fächer>> */\
/* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in "+Abschluss.allNeededKeysList +")" /> --<<Abschluss>> */\
\
<#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>\
\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=1/>\
\
\
</#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>\
@@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^^1^^

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

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

85
src-modules/module/rpta/masken/48520_felderinfo.unl

@ -1,85 +0,0 @@ @@ -1,85 +0,0 @@
48520^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
\
UNION ALL\
\
SELECT 999999 AS sort1, apnr AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^ ^<<SQL>>SELECT id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art = 'SOS_KOEPFE_FAELLE_RPTA'\
AND caption = 'Fälle'\
\
UNION ALL\
\
SELECT apnr AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE eintrag = 'Fälle'\
AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
);^
48521^Seit Semester^3^0^0^140^80^1^integer^30^0^999^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\
</#if>\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^
48522^Stichtag^1^350^-1^140^100^1^sql^30^0^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^
48523^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^ ^
48524^Prüfungsstatus^13^0^0^140^70^1^char^30^0^999^<<SQL>> select apnr,druck from sos_k_pstatus;^ ^<<SQL>> select apnr,druck from sos_k_pstatus where apnr='BE';^
48525^Fächer^9^0^0^130^150^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48527^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^^ ^ ^
48529^Bis Semester^4^350^-1^140^80^1^integer^30^0^999^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\
</#if>\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48531^Geschlecht^37^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;^ ^ ^
48533^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48534^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^
48535^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=48520 order by ord,2^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=48520 order by ord,2 limit 1^
48538^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_lm_ects_soll_ist')\
and R.systeminfo_id=7)\
order by sortnr, caption;^ ^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_lm_ects_soll_ist')\
and R.systeminfo_id=7)\
order by sortnr, caption\
limit 1;^
48539^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^ ^
48540^##line##^30^0^0^100^100^1^char^5000^0^8^^ ^1^
48541^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
48542^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^{InputCheck:matrikelnummern}^ ^
48543^##line##^40^0^0^100^100^1^char^5000^0^8^^ ^1^
48544^Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(2*365) between sem_beginn and sem_ende;^
48545^Hochschulzugangsber.^60^300^-1^100^200^1^sql^30^0^1^<<SQL>> select apnr,eintrag from hs_zugangsber order by 2^apnr,eintrag^ ^

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

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

20
src-modules/module/rpta/masken/48520_masken_felder_bez.unl

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
48520^48520^
48520^48521^
48520^48522^
48520^48523^
48520^48524^
48520^48525^
48520^48527^
48520^48529^
48520^48531^
48520^48533^
48520^48534^
48520^48535^
48520^48538^
48520^48539^
48520^48540^
48520^48541^
48520^48542^
48520^48543^
48520^48544^
48520^48545^

171
src-modules/module/rpta/masken/48520_maskeninfo.unl

@ -1,171 +0,0 @@ @@ -1,171 +0,0 @@
48520^ECTS-Konten^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--\
--Autor D. Quathamer 2024\
<sqlvars>\
<sqlvar name="my_base_rs"><![CDATA[\
select R.uniquename\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and L.uniquename=<<Spaltenlayout>>;]]>\
</sqlvar>\
<sqlvar name="basetable" type="hash"><![CDATA[\
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,\
R.is_virtual,\
L.sortclause\
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,\
F.sql_code as format_sql,\
F.uniquename as format_uniquename,\
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_column C, rpta_column_type T, rpta_column2layout CL\
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
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>\
<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="" />\
<#assign jahr_filter="1=1" />\
/* <#assign jahr_param="<<Jahr>>" /> */\
--Akad. Jahr 2022: WS + SS - Beispiel: WS 22/23 + SS 2023\
<#if jahr_param !="">\
<#assign jahr_filter="(" />\
<#assign jahr_filter=jahr_filter + "(substring('' || sem_der_pruefung from 5 for 1)='2' and val(substring('' || sem_der_pruefung from 1 for 4))="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + " or "/>\
<#assign jahr_filter=jahr_filter + "(substring('' || sem_der_pruefung from 5 for 1)='1' and (val(substring('' || sem_der_pruefung from 1 for 4))-1)="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign semester_filter ="1=1\
/* and sem_der_pruefung >= <<Seit Semester>> */\
/* and sem_der_pruefung <= <<Bis Semester>> */\
" />\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
<#assign semester_filter = semester_filter+ " and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>'" />\
</#if>\
<#if "<<Nur Endsemester>>"="1">\
--nur Endsemester\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_der_pruefung = "+endsemester /> \
</#if>\
\
\
\
<#assign filter="1=1\
/* and endsemester = <<Semester>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl_max_student <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
/* and <<Hochschulzugangsber.>> */\
/* and matrikel_nr = <<Matrikel-Nr.>> */\
" />\
\
\
\
\
\
\
\
\
<#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 tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.stg in "+Fächer.allNeededKeysList +")" /> --<<Fächer>> */\
/* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in "+Abschluss.allNeededKeysList +")" /> --<<Abschluss>> */\
\
<#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>\
\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=1/>\
\
\
</#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>\
@@@^Altersgruppe^Anzahl^Auswertungen zu Leistungsmonitoring-ECTS-Daten^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^^1^^

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

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

2
src-modules/module/rpta/schluesseltabellen/absolvierende_datenblatt_virtuell.sql

@ -217,7 +217,7 @@ joinclause='${fact_table_source} @@ -217,7 +217,7 @@ joinclause='${fact_table_source}
<#foreach added_table in added_tables>
left outer join ${added_table.name} on (${added_table.joinclause})
</#foreach>',
whereclause='and abschnitt=2 and pstatus=''BE''';
whereclause='and stichtag=(select ST.tid from sos_stichtag ST where ST.appl_key=''2'') and abschnitt=2 and pstatus=''BE''';
select * into temp tmp_rs1
from rpta_resultset

384
src-modules/module/rpta/schluesseltabellen/absolvierende_gewichtet_datenblatt_virtuell.sql

@ -1,384 +0,0 @@ @@ -1,384 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_aggr_exists">
select sp_table_exists('sos_lab_aggr') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_lab_aggr'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=sos_lab_aggr.tid_stg' as joinclause
from sx_tables where name in ('dim_studiengang')
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
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_lab_aggr_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_sos_lab_aggr", "caption":"Absolvierende"}
/>
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='sos_lab_aggr'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_lab_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>',
whereclause='and stichtag=(select ST.tid from sos_stichtag ST where ST.appl_key=''2'') and abschnitt=2 and pstatus=''BE''';
select * into temp tmp_rs1
from rpta_resultset
;
update rpta_resultset set caption=T.caption,
fieldclause=T.fieldclause,
joinclause=T.joinclause,
whereclause=T.whereclause
from tmp_rpta_resultset T
where T.systeminfo_id=rpta_resultset.systeminfo_id
and T.uniquename=rpta_resultset.uniquename
;
insert into rpta_resultset(caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id)
select caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id
from tmp_rpta_resultset
where 0=(select count(*)
from tmp_rs1 T
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id
and T.uniquename=tmp_rpta_resultset.uniquename)
;
drop table tmp_rpta_resultset;
drop table tmp_rs1;
delete from sx_tables where name
in (select T.name from tmp_tables T);
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id
from tmp_tables;
delete from sx_fields where table_name
in (select T.table_name from tmp_fields T);
insert into sx_fields (table_name,name,caption,description,field_type,
field_size,
field_not_null,
currentlyUsed,
foreignkey_tab,
foreignkey_col,
foreignkey_cap,
foreignkey_int,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
)
select
F.table_name,F.name,F.caption,F.description,F.field_type,
F.field_size,
F.field_not_null,
F.currentlyUsed,
F.foreignkey_tab,
F.foreignkey_col,
F.foreignkey_cap,
F.foreignkey_int,
F.foreignkey_cond,
F.foreignkey_func,
F.check_integrity,
F.is_sum,
F.foreignkey_uniquename
from tmp_fields F;
drop table tmp_fields;
drop table tmp_tables;
--rpta_column füllen:
select * into temp tmp_rc1
from rpta_column;
create temp table tmp_rpta_column(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
column_type integer,
col_function text,
is_aggregate smallint,
resultset_id integer,
description text,
custom integer default 0
);
insert into tmp_rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description)
select F.name as uniquename,
coalesce(T.caption,T.name) || ' - ' || F.caption,
F.name as srcfieldname,
1 as column_type,
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function,
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate,
R.tid as resultset_id,
F.description
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name)
where F.table_name='${fact_table_target.name}'
and R.uniquename='${fact_table_target.name}'
and F.currentlyused=1
;
update rpta_column set
caption=T.caption,
srcfieldname=T.srcfieldname,
column_type=T.column_type,
col_function=T.col_function,
is_aggregate=T.is_aggregate,
resultset_id=R.tid,
description=T.description,
custom=T.custom
from tmp_rpta_column T, rpta_resultset R
where T.uniquename=rpta_column.uniquename
and rpta_column.resultset_id=R.tid
and R.uniquename='${fact_table_target.name}'
;
insert into rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description,
custom)
select T.uniquename,
T.caption,
T.srcfieldname,
T.column_type,
T.col_function,
T.is_aggregate,
R.tid as resultset_id,
T.description,
T.custom
from tmp_rpta_column T, rpta_resultset R
where R.uniquename='${fact_table_target.name}'
and 0=(select count(*) from tmp_rc1 C
where C.uniquename=T.uniquename
and C.resultset_id=R.tid)
;
drop table tmp_rpta_column;
drop table tmp_rc1;
</#if> --wenn sos_lab_aggr_exists=1

600
src-modules/module/rpta/schluesseltabellen/finanzen_virtuell.sql

@ -1,600 +0,0 @@ @@ -1,600 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="fin_konto_aggr_exists">
select sp_table_exists('fin_konto_aggr') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='fin_konto_aggr'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence"><![CDATA[
--Vorbereitung:
UPDATE sx_tables
SET caption = 'Kontostände'
WHERE name='fin_konto_aggr';
UPDATE sx_tables
SET caption = 'Geldgeber'
WHERE name='fin_geldgeber';
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'fin_geldgeber.ggnr=fin_konto_aggr.titelgruppe_gege' as joinclause
from sx_tables where name in ('fin_geldgeber')
]]></sqlvar>
<sqlvar name="fields_target" type="hashsequence"><![CDATA[
<#if fact_table_source?exists>
select tid, table_name,
name,
name as targetname
from sx_fields where table_name ='${fact_table_source}'
and currentlyused=1
and name in ('dritt','rechnungsjahr','buchungsab_fb','titelgruppe_gege','einnahmen_dr','ausgaben_dr','ch110_institut','fikr')
union
</#if>
select tid,table_name,
name,
'fin_geldgeber_' || name as targetname
from sx_fields where table_name ='fin_geldgeber'
and currentlyused=1
and name in ('ggnr','ggdruck')
]]>
</sqlvar>
</sqlvars>
<#if fin_konto_aggr_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"fin_konto_aggr_gege", "caption":"Einnahmen/Ausgaben nach Geldgeber"}
/>
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='fin_konto_aggr'
and name not in ('hhans_tit',
'hhans_dr',
'verfuegbar_tit',
'verfuegbar_dr',
'verfuegbar_geld',
'akt_soll_tit',
'akt_soll_dr',
'sperr_tit',
'sperr_dr',
'reste_tit',
'reste_dr',
'vojs_tit',
'vojs_dr',
'angeordneta_tit',
'angeordneta_dr',
'angeordnete_tit',
'angeordnete_dr',
'festgelegt_tit',
'festgelegt_dr',
'bewegungen',
'ausz_dr',
'ausz_tit',
'ausgaben_dr',
'ausgaben_tit',
'ein_dr',
'ein_tit',
'einnahmen_dr',
'einnahmen_tit',
'ein_a',
'ein_e',
'soll_tit',
'soll_dr',
'offsoll_a_tit',
'offsoll_a_dr',
'offsoll_e_tit',
'offsoll_e_dr',
'offsolle_ohneaa',
'bewill_f_s',
'bewill_f_h',
'bewill_f_sa',
'bewill_f_ab_s',
'bewill_f_ab_h',
'bewill_f_ab_sa',
'bewill_f_u_s',
'bewill_f_u_h',
'bewill_f_u_sa',
'bewill_g_s',
'bewill_g_h',
'bewill_g_sa',
'bewill_g_ab_s',
'bewill_g_ab_h',
'bewill_g_ab_sa',
'bewill_g_u_s',
'bewill_g_u_h',
'bewill_g_u_sa',
'forder_f_s',
'forder_f_h',
'forder_f_sa',
'forder_f_ab_s',
'forder_f_ab_h',
'forder_f_ab_sa',
'forder_f_u_s',
'forder_f_u_h',
'forder_f_u_sa',
'forder_g_s',
'forder_g_h',
'forder_g_sa',
'forder_g_ab_s',
'forder_g_ab_h',
'forder_g_ab_sa',
'forder_g_u_s',
'forder_g_u_h',
'forder_g_u_sa',
'geldbestand_s',
'geldbestand_h',
'geldbestand_sa',
'einzahl_f_s',
'einzahl_f_h',
'einzahl_f_sa',
'einzahl_g_s',
'einzahl_g_h',
'einzahl_g_sa',
'auszahl_s',
'auszahl_h',
'auszahl_sa',
'verbind_s',
'verbind_h',
'verbind_sa',
'verbind_ab_s',
'verbind_ab_h',
'verbind_ab_sa',
'verbind_u_s',
'verbind_u_h',
'verbind_u_sa',
'verpflicht_s',
'verpflicht_h',
'verpflicht_sa',
'verpflicht_ab_s',
'verpflicht_ab_h',
'verpflicht_ab_sa',
'verpflicht_u_s',
'verpflicht_u_h',
'verpflicht_u_sa');
update sx_fields set
is_sum=1
where table_name='fin_konto_aggr'
and name in ('hhans_tit',
'hhans_dr',
'verfuegbar_tit',
'verfuegbar_dr',
'verfuegbar_geld',
'akt_soll_tit',
'akt_soll_dr',
'sperr_tit',
'sperr_dr',
'reste_tit',
'reste_dr',
'vojs_tit',
'vojs_dr',
'angeordneta_tit',
'angeordneta_dr',
'angeordnete_tit',
'angeordnete_dr',
'festgelegt_tit',
'festgelegt_dr',
'bewegungen',
'ausz_dr',
'ausz_tit',
'ausgaben_dr',
'ausgaben_tit',
'ein_dr',
'ein_tit',
'einnahmen_dr',
'einnahmen_tit',
'ein_a',
'ein_e',
'soll_tit',
'soll_dr',
'offsoll_a_tit',
'offsoll_a_dr',
'offsoll_e_tit',
'offsoll_e_dr',
'offsolle_ohneaa',
'bewill_f_s',
'bewill_f_h',
'bewill_f_sa',
'bewill_f_ab_s',
'bewill_f_ab_h',
'bewill_f_ab_sa',
'bewill_f_u_s',
'bewill_f_u_h',
'bewill_f_u_sa',
'bewill_g_s',
'bewill_g_h',
'bewill_g_sa',
'bewill_g_ab_s',
'bewill_g_ab_h',
'bewill_g_ab_sa',
'bewill_g_u_s',
'bewill_g_u_h',
'bewill_g_u_sa',
'forder_f_s',
'forder_f_h',
'forder_f_sa',
'forder_f_ab_s',
'forder_f_ab_h',
'forder_f_ab_sa',
'forder_f_u_s',
'forder_f_u_h',
'forder_f_u_sa',
'forder_g_s',
'forder_g_h',
'forder_g_sa',
'forder_g_ab_s',
'forder_g_ab_h',
'forder_g_ab_sa',
'forder_g_u_s',
'forder_g_u_h',
'forder_g_u_sa',
'geldbestand_s',
'geldbestand_h',
'geldbestand_sa',
'einzahl_f_s',
'einzahl_f_h',
'einzahl_f_sa',
'einzahl_g_s',
'einzahl_g_h',
'einzahl_g_sa',
'auszahl_s',
'auszahl_h',
'auszahl_sa',
'verbind_s',
'verbind_h',
'verbind_sa',
'verbind_ab_s',
'verbind_ab_h',
'verbind_ab_sa',
'verbind_u_s',
'verbind_u_h',
'verbind_u_sa',
'verpflicht_s',
'verpflicht_h',
'verpflicht_sa',
'verpflicht_ab_s',
'verpflicht_ab_h',
'verpflicht_ab_sa',
'verpflicht_u_s',
'verpflicht_u_h',
'verpflicht_u_sa');
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}',
3
;
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 fin_konto_aggr_exists=1

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

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
47^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
96^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
@ -267,9 +267,8 @@ drop TABLE tmp_rpta_column_layout;\ @@ -267,9 +267,8 @@ drop TABLE tmp_rpta_column_layout;\
drop TABLE tmp_rpta_column2layout;\
</#macro>\
\
<#macro rpta_interpret_column_layout nonvirtualTableFilter removeEmptyLines="true">\
<#macro rpta_interpret_column_layout nonvirtualTableFilter>\
<#assign columnLayoutHasTreeColumn=0 />\
select '${removeEmptyLines}';\
\
<#assign treeColumnSrcFieldname="" />\
<#assign treeColumnTargetFieldname="" />\
@ -277,11 +276,7 @@ select '${removeEmptyLines}';\ @@ -277,11 +276,7 @@ select '${removeEmptyLines}';\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype=="treeColumn" || column.coltype=="treechildColumn">\
<#assign maxEbenePlusEins=0 />\
<#if column.coltype=="treechildColumn">\
<#assign maxEbenePlusEins=1 />\
</#if>\
<#if column.coltype=="treeColumn">\
<#assign columnLayoutHasTreeColumn=1 />\
<#assign treeColumnSrcFieldname=column.srcfieldname />\
<#assign treeColumnTargetFieldname=column.targetfieldname />\
@ -289,10 +284,8 @@ select '${removeEmptyLines}';\ @@ -289,10 +284,8 @@ select '${removeEmptyLines}';\
null::varchar(255) as ${column.targetfieldname},\
<#elseif column.coltype=="physicalColumn">\
${column.srcfieldname} as ${column.targetfieldname},\
<#elseif column.coltype=="logicalColumn" && column.colfunction!="">\
${parseRepoVars(column.colfunction)} as ${column.targetfieldname},\
<#elseif column.coltype=="logicalColumn">\
null::varchar(255) as ${column.targetfieldname},\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype=="preparingColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype=="lookupColumn">\
@ -306,13 +299,8 @@ select '${removeEmptyLines}';\ @@ -306,13 +299,8 @@ select '${removeEmptyLines}';\
from ${basetable.runtime_tablename}\
where 1=1 \
<#if rpta_column_layout.whereclause !="">\
\
--damit Repo Variablen interpretiert werden:\
\
<#assign whereclauseTemplate= "<#assign whereclause=\\""+rpta_column_layout.whereclause +"\\">"/>\
<#assign t2=whereclauseTemplate?interpret />\
<@t2/>\
and ${whereclause} </#if>\
and ${rpta_column_layout.whereclause}\
</#if>\
<#if basetable.is_virtual==0>\
and ${nonvirtualTableFilter}\
</#if>\
@ -331,7 +319,7 @@ select '${removeEmptyLines}';\ @@ -331,7 +319,7 @@ select '${removeEmptyLines}';\
<#elseif column.is_aggregate==0 && column.coltype=="processingColumn"> \
<#assign groupby=groupby+1 />\
<#if column.colfunction?has_content>\
${parseRepoVars(column.colfunction)} as ${column.targetfieldname},\
${column.colfunction} as ${column.targetfieldname},\
<#else>\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
@ -342,10 +330,9 @@ select '${removeEmptyLines}';\ @@ -342,10 +330,9 @@ select '${removeEmptyLines}';\
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\
<#foreach column in columns>\
<#if column.is_aggregate==1 \
&& column.colfunction?has_content\
&& column.colfunction !=""\
&& column.colfunction?has_content \
&& column.coltype=="processingColumn"> \
${parseRepoVars(column.colfunction)} as ${column.targetfieldname},\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.is_aggregate==1 \
&& (column.coltype == "logicalColumn" || column.coltype == "lookupColumn" || column.coltype == "physicalColumn")> \
sum(${column.targetfieldname}) as ${column.targetfieldname},\
@ -381,9 +368,7 @@ select '${removeEmptyLines}';\ @@ -381,9 +368,7 @@ select '${removeEmptyLines}';\
--Zuerst leere Zieltabelle anlegen:\
select \
<#foreach column in columns>\
<#if column.coltype!="preparingColumn">\
${column.targetfieldname},\
</#if>\
</#foreach>\
null::integer as sortnr\
into temp tmp_stud3\
@ -409,101 +394,80 @@ select '${removeEmptyLines}';\ @@ -409,101 +394,80 @@ select '${removeEmptyLines}';\
<@addcomment "${einElement.name}"/>\
\
--zuerst Summenzeile:\
<#if einElement.level != maxEbene || maxEbenePlusEins=1>\
<#assign sortnr=sortnr+1>\
insert into tmp_stud3(\
<#foreach column in columns>\
<#if column.coltype!="preparingColumn">\
${column.targetfieldname},\
</#if>\
</#foreach>\
sortnr)\
select\
<#foreach column in columns>\
<#if column.coltype!="preparingColumn">\
<#if column.targetfieldname=treeColumnTargetFieldname>\
'${einElement.name}',\
<#elseif column.targetfieldname="ebene">\
${einElement.level},\
<#elseif column.targetfieldname=treeColumnSrcFieldname>\
null::char(1),\
<#elseif column.is_aggregate==1 \
&& column.colfunction?has_content \
&& column.coltype=="processingColumn"> \
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.is_aggregate==1 \
&& (column.coltype == "logicalColumn" || column.coltype == "lookupColumn" || column.coltype == "physicalColumn")> \
sum(${column.targetfieldname}) as ${column.targetfieldname},\
<#else>\
null,\
</#if>\
</#if>\
</#foreach>\
--(${einElement.level}*10000) + ${sortnr} as sortnr\
${sortnr} *10000 as sortnr\
from tmp_stud\
where ${treeColumnSrcFieldname} in ${einElement.subkeys}\
\
;\
</#if>\
<#assign sortnr=sortnr+1>\
insert into tmp_stud3(\
<#foreach column in columns>\
${column.targetfieldname},\
</#foreach>\
sortnr)\
select\
<#foreach column in columns>\
<#if column.targetfieldname=treeColumnTargetFieldname>\
'${einElement.name}',\
<#elseif column.targetfieldname="ebene">\
${einElement.level},\
<#elseif column.targetfieldname=treeColumnSrcFieldname>\
null::char(1),\
<#elseif column.is_aggregate==1 \
&& column.colfunction?has_content \
&& column.coltype=="processingColumn"> \
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.is_aggregate==1 \
&& (column.coltype == "logicalColumn" || column.coltype == "lookupColumn" || column.coltype == "physicalColumn")> \
sum(${column.targetfieldname}) as ${column.targetfieldname},\
<#else>\
null,\
</#if>\
</#foreach>\
--(${einElement.level}*10000) + ${sortnr} as sortnr\
${sortnr} *10000 as sortnr\
from tmp_stud\
where ${treeColumnSrcFieldname} in ${einElement.subkeys}\
\
;\
\
--Unterste Ebene die Werte:\
<#if einElement.level == maxEbene>\
<#assign sortnr=sortnr+1>\
insert into tmp_stud3(\
<#foreach column in columns>\
<#if column.coltype!="preparingColumn">\
${column.targetfieldname},\
</#if>\
</#foreach>\
sortnr)\
select\
<#foreach column in columns>\
<#if column.targetfieldname=treeColumnTargetFieldname>\
'${einElement.name}',\
<#elseif column.targetfieldname="ebene">\
<#if maxEbenePlusEins=1>\
${einElement.level+ 1},\
<#else>\
${einElement.level},\
</#if>\
<#elseif column.targetfieldname=treeColumnSrcFieldname>\
null::char(1),\
<#elseif column.is_aggregate==1 \
&& column.colfunction?has_content \
&& column.coltype=="processingColumn"> \
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.is_aggregate==1 \
&& (column.coltype == "logicalColumn" || column.coltype == "lookupColumn" || column.coltype == "physicalColumn")> \
sum(${column.targetfieldname}) as ${column.targetfieldname},\
<#else>\
<#if (column.is_aggregate==0 && column.coltype!="preparingColumn" && column.coltype!="processingColumn") || column.coltype=="computedColumn"> \
${column.targetfieldname},\
<#elseif column.is_aggregate==0 && column.coltype=="processingColumn"> \
<#if column.colfunction?has_content>\
${column.colfunction} as ${column.targetfieldname},\
<#else>\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
</#if>\
</#if>\
</#foreach>\
${sortnr} *10000 --(${einElement.level}*10000) + ${sortnr} as sortnr\
<#if removeEmptyLines=="true">\
from tmp_stud\
where ${treeColumnSrcFieldname} in ${einElement.subkeys}\
<#if columnLayoutWithTreeColumnAdditionalGrouping != "" \
&& einElement.level == maxEbene >\
<#assign sortnr=sortnr+1>\
insert into tmp_stud3(\
<#foreach column in columns>\
${column.targetfieldname},\
</#foreach>\
sortnr)\
select\
<#foreach column in columns>\
<#if column.targetfieldname=treeColumnTargetFieldname>\
'${einElement.name}',\
<#elseif column.targetfieldname="ebene">\
<#if einElement.level == maxEbene >\
${einElement.level+ 1},\
<#else>\
${einElement.level},\
</#if>\
<#elseif column.targetfieldname=treeColumnSrcFieldname>\
null::char(1),\
<#elseif column.is_aggregate==1 \
&& column.colfunction?has_content \
&& column.coltype=="processingColumn"> \
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.is_aggregate==1 \
&& (column.coltype == "logicalColumn" || column.coltype == "lookupColumn" || column.coltype == "physicalColumn")> \
sum(${column.targetfieldname}) as ${column.targetfieldname},\
<#else>\
from xdummy left outer join tmp_stud on (\
${treeColumnSrcFieldname} in ${einElement.subkeys})\
</#if>\
\
group by ${columnLayoutWithTreeColumnAdditionalGrouping}\
;\
${column.targetfieldname},\
</#if>\
</#foreach>\
${sortnr} *10000 --(${einElement.level}*10000) + ${sortnr} as sortnr\
from tmp_stud\
where s_tid_stg in ${einElement.subkeys}\
group by ${columnLayoutWithTreeColumnAdditionalGrouping}\
;\
</#if>\
</#foreach>\
\
drop table tmp_stud2;\
select * into temp tmp_stud2\
select * into tmp_stud2\
from tmp_stud3;\
drop table tmp_stud3;\
--Ende Sicht\
@ -522,7 +486,7 @@ select '${removeEmptyLines}';\ @@ -522,7 +486,7 @@ select '${removeEmptyLines}';\
<#assign colnr=colnr+1 />\
<#assign myfieldclause=column.targetfieldname />\
<#if column.coltype=="computedColumn">\
<#assign myfieldclause=parseRepoVars(column.colfunction) />\
<#assign myfieldclause=column.colfunction />\
</#if>\
<@format_code2sql selectclause=myfieldclause format_code_uniquename=column.format_uniquename format_sql=column.format_sql /> as ${column.targetfieldname}\
\
@ -530,27 +494,14 @@ select '${removeEmptyLines}';\ @@ -530,27 +494,14 @@ select '${removeEmptyLines}';\
</#if> \
</#foreach>\
from tmp_stud2\
<#if removeEmptyLines=="true" >where 1=0\
<#foreach column in columns>\
<#assign count_aggregate=0>\
<#if column.is_aggregate==1>\
<#assign count_aggregate=count_aggregate+1>\
or ${column.targetfieldname} is not null\
-- folgende elseif sorgt dafür, dass Spaltenlayouts ohne Aggregate immer true sind\
-- denn ohne diese elseif wären Spaltenlayout ohne Aggregate immer false\
<#elseif column.is_aggregate==0 && column?is_last && count_aggregate=0>\
or 1=1\
</#if>\
</#foreach>\
</#if>\
order by \
<#if rpta_column_layout.sortclause?has_content>\
${rpta_column_layout.sortclause}\
<#else>\
<#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
</#if>\
;\
@ -567,16 +518,11 @@ select '${removeEmptyLines}';\ @@ -567,16 +518,11 @@ select '${removeEmptyLines}';\
<#function sichtHasAdditionalGrouping treeColumnTargetFieldnameParam>\
<#assign ret="" />\
<#foreach column in columns>\
<#if (column.targetfieldname !=treeColumnTargetFieldnameParam\
<#if column.targetfieldname !=treeColumnTargetFieldnameParam\
&& column.targetfieldname!="ebene"\
&& column.is_aggregate==0 \
&& column.coltype!="preparingColumn")\
|| column.coltype=="computedColumn">\
<#if column?is_first>\
<#assign ret=column.targetfieldname/>\
<#else>\
<#assign ret=ret + "," + column.targetfieldname/>\
</#if>\
>\
<#assign ret=column.targetfieldname />\
</#if>\
</#foreach>\
<#return ret />\
@ -893,7 +839,6 @@ where rpta_column_layout.uniquename=(select uniquename from tmp_rpta_column_layo @@ -893,7 +839,6 @@ where rpta_column_layout.uniquename=(select uniquename from tmp_rpta_column_layo
\
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\
@ -1000,14 +945,4 @@ ${selectclause}\ @@ -1000,14 +945,4 @@ ${selectclause}\
<#else>\
${selectclause}${format_sql}\
</#if>\
</#macro>\
\
<#function parseRepoVars inputClause>\
<#if inputClause?exists && inputClause !="">\
--damit Repo Variablen interpretiert werden:\
<#assign inputClauseTemplate= "<#assign inputClauseParsed=\\""+inputClause +"\\">"/>\
<#assign t2=inputClauseTemplate?interpret />\
<@t2/>\
<#return inputClauseParsed /> \
<#else><#return "" /> </#if>\
</#function>^Makros zum Umgang mit Spaltenlayouts^ ^1^
</#macro>^Makros zum Umgang mit Spaltenlayouts^ ^1^

384
src-modules/module/rpta/schluesseltabellen/pruefungen_im_detail_datenblatt_virtuell.sql

@ -1,384 +0,0 @@ @@ -1,384 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_stg_exists">
select sp_table_exists('sos_lab_stg') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_lab_stg'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=sos_lab_stg.tid_stg' as joinclause
from sx_tables where name in ('dim_studiengang')
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
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_lab_stg_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_sos_lab_stg", "caption":"Prüfungen"}
/>
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='sos_lab_stg'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_lab_stg'
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>',
whereclause='and stichtag=(select ST.tid from sos_stichtag ST where ST.appl_key=''2'') and abschnitt=2 and pstatus=''BE''';
select * into temp tmp_rs1
from rpta_resultset
;
update rpta_resultset set caption=T.caption,
fieldclause=T.fieldclause,
joinclause=T.joinclause,
whereclause=T.whereclause
from tmp_rpta_resultset T
where T.systeminfo_id=rpta_resultset.systeminfo_id
and T.uniquename=rpta_resultset.uniquename
;
insert into rpta_resultset(caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id)
select caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id
from tmp_rpta_resultset
where 0=(select count(*)
from tmp_rs1 T
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id
and T.uniquename=tmp_rpta_resultset.uniquename)
;
drop table tmp_rpta_resultset;
drop table tmp_rs1;
delete from sx_tables where name
in (select T.name from tmp_tables T);
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id
from tmp_tables;
delete from sx_fields where table_name
in (select T.table_name from tmp_fields T);
insert into sx_fields (table_name,name,caption,description,field_type,
field_size,
field_not_null,
currentlyUsed,
foreignkey_tab,
foreignkey_col,
foreignkey_cap,
foreignkey_int,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
)
select
F.table_name,F.name,F.caption,F.description,F.field_type,
F.field_size,
F.field_not_null,
F.currentlyUsed,
F.foreignkey_tab,
F.foreignkey_col,
F.foreignkey_cap,
F.foreignkey_int,
F.foreignkey_cond,
F.foreignkey_func,
F.check_integrity,
F.is_sum,
F.foreignkey_uniquename
from tmp_fields F;
drop table tmp_fields;
drop table tmp_tables;
--rpta_column füllen:
select * into temp tmp_rc1
from rpta_column;
create temp table tmp_rpta_column(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
column_type integer,
col_function text,
is_aggregate smallint,
resultset_id integer,
description text,
custom integer default 0
);
insert into tmp_rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description)
select F.name as uniquename,
coalesce(T.caption,T.name) || ' - ' || F.caption,
F.name as srcfieldname,
1 as column_type,
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function,
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate,
R.tid as resultset_id,
F.description
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name)
where F.table_name='${fact_table_target.name}'
and R.uniquename='${fact_table_target.name}'
and F.currentlyused=1
;
update rpta_column set
caption=T.caption,
srcfieldname=T.srcfieldname,
column_type=T.column_type,
col_function=T.col_function,
is_aggregate=T.is_aggregate,
resultset_id=R.tid,
description=T.description,
custom=T.custom
from tmp_rpta_column T, rpta_resultset R
where T.uniquename=rpta_column.uniquename
and rpta_column.resultset_id=R.tid
and R.uniquename='${fact_table_target.name}'
;
insert into rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description,
custom)
select T.uniquename,
T.caption,
T.srcfieldname,
T.column_type,
T.col_function,
T.is_aggregate,
R.tid as resultset_id,
T.description,
T.custom
from tmp_rpta_column T, rpta_resultset R
where R.uniquename='${fact_table_target.name}'
and 0=(select count(*) from tmp_rc1 C
where C.uniquename=T.uniquename
and C.resultset_id=R.tid)
;
drop table tmp_rpta_column;
drop table tmp_rc1;
</#if> --wenn sos_lab_aggr_exists=1

384
src-modules/module/rpta/schluesseltabellen/pruefungen_im_detail_gewichtet_datenblatt_virtuell.sql

@ -1,384 +0,0 @@ @@ -1,384 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_stg_gew_exists">
select sp_table_exists('sos_lab_stg_gew') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_lab_stg_gew'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang_gew.tid=sos_lab_stg_gew.tid_stg' as joinclause
from sx_tables where name in ('dim_studiengang_gew')
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
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_lab_stg_gew_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_sos_lab_stg_gew", "caption":"Prüfungen gewichtet"}
/>
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='sos_lab_stg_gew'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_lab_stg_gew'
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>',
whereclause='and stichtag=(select ST.tid from sos_stichtag ST where ST.appl_key=''2'') and abschnitt=2 and pstatus=''BE''';
select * into temp tmp_rs1
from rpta_resultset
;
update rpta_resultset set caption=T.caption,
fieldclause=T.fieldclause,
joinclause=T.joinclause,
whereclause=T.whereclause
from tmp_rpta_resultset T
where T.systeminfo_id=rpta_resultset.systeminfo_id
and T.uniquename=rpta_resultset.uniquename
;
insert into rpta_resultset(caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id)
select caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id
from tmp_rpta_resultset
where 0=(select count(*)
from tmp_rs1 T
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id
and T.uniquename=tmp_rpta_resultset.uniquename)
;
drop table tmp_rpta_resultset;
drop table tmp_rs1;
delete from sx_tables where name
in (select T.name from tmp_tables T);
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id
from tmp_tables;
delete from sx_fields where table_name
in (select T.table_name from tmp_fields T);
insert into sx_fields (table_name,name,caption,description,field_type,
field_size,
field_not_null,
currentlyUsed,
foreignkey_tab,
foreignkey_col,
foreignkey_cap,
foreignkey_int,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
)
select
F.table_name,F.name,F.caption,F.description,F.field_type,
F.field_size,
F.field_not_null,
F.currentlyUsed,
F.foreignkey_tab,
F.foreignkey_col,
F.foreignkey_cap,
F.foreignkey_int,
F.foreignkey_cond,
F.foreignkey_func,
F.check_integrity,
F.is_sum,
F.foreignkey_uniquename
from tmp_fields F;
drop table tmp_fields;
drop table tmp_tables;
--rpta_column füllen:
select * into temp tmp_rc1
from rpta_column;
create temp table tmp_rpta_column(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
column_type integer,
col_function text,
is_aggregate smallint,
resultset_id integer,
description text,
custom integer default 0
);
insert into tmp_rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description)
select F.name as uniquename,
coalesce(T.caption,T.name) || ' - ' || F.caption,
F.name as srcfieldname,
1 as column_type,
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function,
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate,
R.tid as resultset_id,
F.description
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name)
where F.table_name='${fact_table_target.name}'
and R.uniquename='${fact_table_target.name}'
and F.currentlyused=1
;
update rpta_column set
caption=T.caption,
srcfieldname=T.srcfieldname,
column_type=T.column_type,
col_function=T.col_function,
is_aggregate=T.is_aggregate,
resultset_id=R.tid,
description=T.description,
custom=T.custom
from tmp_rpta_column T, rpta_resultset R
where T.uniquename=rpta_column.uniquename
and rpta_column.resultset_id=R.tid
and R.uniquename='${fact_table_target.name}'
;
insert into rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description,
custom)
select T.uniquename,
T.caption,
T.srcfieldname,
T.column_type,
T.col_function,
T.is_aggregate,
R.tid as resultset_id,
T.description,
T.custom
from tmp_rpta_column T, rpta_resultset R
where R.uniquename='${fact_table_target.name}'
and 0=(select count(*) from tmp_rc1 C
where C.uniquename=T.uniquename
and C.resultset_id=R.tid)
;
drop table tmp_rpta_column;
drop table tmp_rc1;
</#if> --wenn sos_lab_aggr_exists=1

431
src-modules/module/rpta/schluesseltabellen/pruefungen_nach_ppruef_historisiert_virtuell.sql

@ -1,431 +0,0 @@ @@ -1,431 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_pord_archiv_exists">
select sp_table_exists('sos_lab_pord_archiv') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_lab_pord_archiv'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence"><![CDATA[
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=sos_lab_pord_archiv.tid_stg and sos_lab_pord_archiv.sem_der_pruefung >= semester_von and sos_lab_pord_archiv.sem_der_pruefung <= semester_bis' as joinclause
from sx_tables where name in ('dim_studiengang')
union select 10::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sos_lab_pord_archiv.labnr=sos_lab.labnr and sos_lab_pord_archiv.sourcesystem=sos_lab.sourcesystem' as joinclause
from sx_tables where name in ('sos_lab')
union select 20::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'cif.apnr=sos_lab_pord_archiv.pversion and sos_lab_pord_archiv.sourcesystem=5 and cif.key=632' as joinclause
from sx_tables where name in ('cif')
]]></sqlvar>
<sqlvar name="fields_target" type="hashsequence"><![CDATA[
<#if fact_table_source?exists >
select tid, table_name,
name,
name as targetname
from sx_fields where table_name ='${fact_table_source}'
--and currentlyused=1
and name in ('matrikel_nr',
'sem_der_pruefung',
'hrst',
'fach_sem_zahl',
'kz_rueck_beur_ein',
'part',
'pnr',
'pversuch',
'prueck',
'pversion',
'pstatus',
'd_abg_pruefung',
'note',
'pvermerk',
'pform',
'studiengang_nr',
'fach_nr',
'is_modul',
'tid_stg',
'pdtxt',
'pktxt',
'sourcesystem',
'labnr'
)
union
select tid,table_name,
name,
'dim_studiengang_' || name as targetname
from sx_fields where table_name ='dim_studiengang'
and currentlyused=1
union
select tid,table_name,
name,
'sos_lab_' || name as targetname
from sx_fields where table_name ='sos_lab'
and name in ('ppruef1','ppruef2','panerk')
union
select tid,table_name,
name,
'pversion_ktxt' as targetname
from sx_fields where table_name ='cif'
and name in ('lang_3')
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_lab_pord_archiv_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"sos_lab_pord_archiv_ppruef", "caption":"Modulprüfungen und Prüfer_innen historisiert"}
/>
drop index if exists ix_sos_lab_pord_archiv_is_modul;
create index ix_sos_lab_pord_archiv_is_modul on sos_lab_pord_archiv (is_modul );
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='sos_lab_pord_archiv'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_lab_pord_archiv'
and name='summe';
insert into tmp_tables (
name,
caption,
description,
table_type,
systeminfo_id,
thema,
sachgebiete_id
)
select
'${fact_table_target.name}',
'${fact_table_target.caption}',
description,
table_type,
systeminfo_id,
thema,
sachgebiete_id
from sx_tables where name='${fact_table_source}'
;
insert into tmp_fields (table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename)
select '${fact_table_target.name}' as table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
from sx_fields where table_name ='${fact_table_source}'
and currentlyused=1;
<#foreach added_table in added_tables>
insert into tmp_fields (table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename)
select '${fact_table_target.name}' as table_name,
'${added_table.prefix}' || name,
'${added_table.caption}: ' || caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
from sx_fields where table_name ='${added_table.name}'
and currentlyused=1;
</#foreach>
CREATE temp TABLE tmp_rpta_resultset
(
caption varchar(255),
uniquename varchar(255),
fieldclause text,
joinclause text,
whereclause text,
systeminfo_id integer
);
insert into tmp_rpta_resultset(caption,
uniquename,
systeminfo_id)
select '${fact_table_target.caption}',
'${fact_table_target.name}',
7
;
update tmp_rpta_resultset set fieldclause='
<#foreach field_target in fields_target>
${field_target.table_name}.${field_target.name} as ${field_target.targetname},
</#foreach>
null::varchar as dummy',
joinclause='${fact_table_source}
<#foreach added_table in added_tables>
left outer join ${added_table.name} on (${added_table.joinclause})
</#foreach>';
select * into temp tmp_rs1
from rpta_resultset
;
update rpta_resultset set caption=T.caption,
fieldclause=T.fieldclause,
joinclause=T.joinclause,
whereclause=T.whereclause
from tmp_rpta_resultset T
where T.systeminfo_id=rpta_resultset.systeminfo_id
and T.uniquename=rpta_resultset.uniquename
;
insert into rpta_resultset(caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id)
select caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id
from tmp_rpta_resultset
where 0=(select count(*)
from tmp_rs1 T
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id
and T.uniquename=tmp_rpta_resultset.uniquename)
;
drop table tmp_rpta_resultset;
drop table tmp_rs1;
delete from sx_tables where name
in (select T.name from tmp_tables T);
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id
from tmp_tables;
delete from sx_fields where table_name
in (select T.table_name from tmp_fields T);
insert into sx_fields (table_name,name,caption,description,field_type,
field_size,
field_not_null,
currentlyUsed,
foreignkey_tab,
foreignkey_col,
foreignkey_cap,
foreignkey_int,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
)
select
F.table_name,F.name,F.caption,F.description,F.field_type,
F.field_size,
F.field_not_null,
F.currentlyUsed,
F.foreignkey_tab,
F.foreignkey_col,
F.foreignkey_cap,
F.foreignkey_int,
F.foreignkey_cond,
F.foreignkey_func,
F.check_integrity,
F.is_sum,
F.foreignkey_uniquename
from tmp_fields F;
drop table tmp_fields;
drop table tmp_tables;
--rpta_column füllen:
select * into temp tmp_rc1
from rpta_column;
create temp table tmp_rpta_column(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
column_type integer,
col_function text,
is_aggregate smallint,
resultset_id integer,
description text,
custom integer default 0
);
insert into tmp_rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description)
select F.name as uniquename,
coalesce(T.caption,T.name) || ' - ' || F.caption,
F.name as srcfieldname,
1 as column_type,
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function,
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate,
R.tid as resultset_id,
F.description
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name)
where F.table_name='${fact_table_target.name}'
and R.uniquename='${fact_table_target.name}'
and F.currentlyused=1
;
update rpta_column set
caption=T.caption,
srcfieldname=T.srcfieldname,
column_type=T.column_type,
col_function=T.col_function,
is_aggregate=T.is_aggregate,
resultset_id=R.tid,
description=T.description,
custom=T.custom
from tmp_rpta_column T, rpta_resultset R
where T.uniquename=rpta_column.uniquename
and rpta_column.resultset_id=R.tid
and R.uniquename='${fact_table_target.name}'
;
insert into rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description,
custom)
select T.uniquename,
T.caption,
T.srcfieldname,
T.column_type,
T.col_function,
T.is_aggregate,
R.tid as resultset_id,
T.description,
T.custom
from tmp_rpta_column T, rpta_resultset R
where R.uniquename='${fact_table_target.name}'
and 0=(select count(*) from tmp_rc1 C
where C.uniquename=T.uniquename
and C.resultset_id=R.tid)
;
drop table tmp_rpta_column;
drop table tmp_rc1;
</#if> --wenn sos_lab_pord_archiv_exists=1

92
src-modules/module/rpta/schluesseltabellen/rpta_column_layout__fin_einnahmen_dm_fuellen.sql

@ -1,92 +0,0 @@ @@ -1,92 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"fin_ein_aus_gege",
"caption":"Einnahmen/Ausgaben nach Geldgeber",
"rpta_resultset":"fin_konto_aggr_gege",
"whereclause":"",
"description":"Einnahmen/Ausgaben nach Geldgeber Drittmittel"
}
/>
<#assign rpta_columns = [
{"uniquename":"fibu_cifx_geldgebergruppe",
"caption":"Geldgebergruppe",
"srcfieldname":"fin_geldgeber_ggdruck",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"jahr_minus_4",
"caption":"2012",
"srcfieldname":"",
"targetfieldname":"jahr_minus_4",
"column_type":"logicalColumn",
"col_function":"case when rechnungsjahr = 2012 then einnahmen_dr else 0 end",
"format_code":"",
"is_visible":"1",
"is_aggregate":1,
"visible_size":10,
"description":"2012"
},
{"uniquename":"jahr_minus_3",
"caption":"2013",
"srcfieldname":"",
"targetfieldname":"jahr_minus_3",
"column_type":"logicalColumn",
"col_function":"case when rechnungsjahr = 2013 then einnahmen_dr else 0 end",
"format_code":"",
"is_visible":"1",
"is_aggregate":1,
"visible_size":10,
"description":"2013"
},
{"uniquename":"jahr_minus_2",
"caption":"2014",
"srcfieldname":"",
"targetfieldname":"jahr_minus_2",
"column_type":"logicalColumn",
"col_function":"case when rechnungsjahr = 2014 then einnahmen_dr else 0 end",
"format_code":"",
"is_visible":"1",
"is_aggregate":1,
"visible_size":10,
"description":"2014"
},
{"uniquename":"jahr_minus_1",
"caption":"2015",
"srcfieldname":"",
"targetfieldname":"jahr_minus_1",
"column_type":"logicalColumn",
"col_function":"case when rechnungsjahr = 2015 then einnahmen_dr else 0 end",
"format_code":"",
"is_visible":"1",
"is_aggregate":1,
"visible_size":10,
"description":"2015"
},
{"uniquename":"jahr_minus_0",
"caption":"2016",
"srcfieldname":"",
"targetfieldname":"jahr_minus_0",
"column_type":"logicalColumn",
"col_function":"case when rechnungsjahr = 2016 then einnahmen_dr else 0 end",
"format_code":"",
"is_visible":"1",
"is_aggregate":1,
"visible_size":10,
"description":"2016"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

2
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_fuellen.sql

@ -43,7 +43,7 @@ select count(*) from rpta_resultset where uniquename='rpta_erfolg_ba_ma_uebergan @@ -43,7 +43,7 @@ select count(*) from rpta_resultset where uniquename='rpta_erfolg_ba_ma_uebergan
"srcfieldname":"",
"targetfieldname":"fach_ba_ext",
"column_type":"lookupColumn",
"col_function":"select coalesce(trim(H.name) || ''-'' || K.name,F.hs || ''-'' || F.studienfach) from kenn_hochschulen H,k_astat_abschl_grp A,sos_pruefungenext F left outer join k_astat_studienfach_land K on (F.studienfach=''0'' || K.schluessel and K.land=5) where F.hs=H.hs_nr::varchar(10) and F.ang_abschl=A.abschluss_astat_bund and A.abschlussart=''A24'' and F.matrikel_nr=tmp_rpta_erfolg_ba_ma_uebergang.matrikel_nr and F.prfg_sem <= tmp_rpta_erfolg_ba_ma_uebergang.einschr_nachher_semester limit 1",
"col_function":"select coalesce(K.name,F.studienfach) from k_astat_abschl_grp A,sos_pruefungenext F left outer join k_astat_studienfach_land K on (F.studienfach=''0'' || K.schluessel and K.land=5) where F.ang_abschl=A.abschluss_astat_bund and A.abschlussart=''A24'' and F.matrikel_nr=tmp_rpta_erfolg_ba_ma_uebergang.matrikel_nr and F.prfg_sem <= tmp_rpta_erfolg_ba_ma_uebergang.einschr_nachher_semester limit 1",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",

90
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_mtknr_fuellen.sql

@ -1,90 +0,0 @@ @@ -1,90 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_erfolg_ba_ma_uebergang_exists">
select count(*) from rpta_resultset where uniquename='rpta_erfolg_ba_ma_uebergang';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"ba_ma_uebergang_nach_abschluss_fach_mtknr",
"caption":"Herkunftsstudiengang der Master-Studienanfänger_innen nach Matrikelnummer",
"rpta_resultset":"rpta_erfolg_ba_ma_uebergang",
"whereclause":"richtung=''wg'' and einschr_nachher_abschlussart=''A37''",
"description":"Übergang Bachelor-Master mit Aggregierung auf Abschluss und Fach beim vorherigen Abschluss und Abschluss beim nachfolgenden Studiengang"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_abschluss_vorher_1_stg_str",
"caption_der_spalte":"Vorheriger Abschluss Fach",
"caption_in_ergebnistabelle":"Fach bei Bachelor Abschluss eigene Hochschule",
"srcfieldname":"dim_studiengang_abschluss_vorher_1_stg_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Erstes Fach beim Bachelor Abschluss eigene Hochschule"
},
{"uniquename":"sos_k_abint_abschluss_vorher_druck",
"caption_der_spalte":"Vorheriger Abschluss",
"caption_in_ergebnistabelle":"Bachelor Abschluss eigene Hochschule",
"srcfieldname":"sos_k_abint_abschluss_vorher_druck",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"fach_ba_ext",
"caption_der_spalte":"Vorheriger Studiengang extern",
"caption_in_ergebnistabelle":"Fach bei Bachelor Abschluss fremde Hochschule",
"srcfieldname":"",
"targetfieldname":"fach_ba_ext",
"column_type":"lookupColumn",
"col_function":"select coalesce(K.name,F.studienfach) from k_astat_abschl_grp A,sos_pruefungenext F left outer join k_astat_studienfach_land K on (F.studienfach=''0'' || K.schluessel and K.land=5) where F.ang_abschl=A.abschluss_astat_bund and A.abschlussart=''A24'' and F.matrikel_nr=tmp_rpta_erfolg_ba_ma_uebergang.matrikel_nr and F.prfg_sem <= tmp_rpta_erfolg_ba_ma_uebergang.einschr_nachher_semester limit 1",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"k_abint_einschr_nachher_dtxt",
"caption_der_spalte":"Nachfolgender Studiengang (Abschluss)",
"caption_in_ergebnistabelle":"Master-Abschluss bei Studienbeginn",
"srcfieldname":"k_abint_einschr_nachher_dtxt",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"summe",
"caption":"Summe der Studienfälle",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studienfälle"
},
{"uniquename":"matrikel_nr",
"caption_der_spalte":"Übergang Bacherlor - Master - Matrikelnr.",
"caption_in_ergebnistabelle":"Matrikelnummer",
"srcfieldname":"matrikel_nr",
"format_code":"INT_NO_SEP",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
}
]
/>
<@rpta_column_layout_fuellen />

127
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_bewerbungsprozess_sicht.sql

@ -1,127 +0,0 @@ @@ -1,127 +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":"bewerbungsprozess_sicht",
"caption":"Bewerbungsprozess (Baum)",
"rpta_resultset":"rpta_zul_antr_aggr",
"whereclause":"",
"description":"Bewerbungsprozess mit Baumstruktur nach Studiengang-Sicht",
"sortclause":"sortnr"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_s_tid_stg",
"caption":"Studiengang Sichtelement-ID",
"srcfieldname":"",
"targetfieldname":"tree_lowkey",
"column_type":"logicalColumn",
"col_function":"(''s_'' || tid_stg)::varchar(255)",
"is_visible":"0",
"format_code":"",
"visible_size":"30",
"is_aggregate":"0",
"description":"Studiengang"
},
{"uniquename":"dim_studiengang_s_tid_stg_ebene",
"caption":"Ebene",
"srcfieldname":"",
"targetfieldname":"ebene",
"column_type":"logicalColumn",
"col_function":"null::integer",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Studiengang"
},
{"uniquename":"dim_studiengang_sicht",
"caption":"Studiengang",
"srcfieldname":"tree_lowkey",
"targetfieldname":"studiengang",
"column_type":"treeColumn",
"col_function":"Studiengang",
"is_visible":"1",
"format_code":"",
"visible_size":"30",
"is_aggregate":"0",
"description":"Studiengang"
},
{"uniquename":"geschl_w",
"caption":"Geschlecht weiblich",
"srcfieldname":"",
"targetfieldname":"geschl_w",
"column_type":"preparingColumn",
"col_function":"case when geschlecht=2 then 1 else 0 end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht weiblich"
},
{"uniquename":"bewerbungen_ges",
"caption_der_spalte":"Bewerbungen gesamt",
"caption_in_ergebnistabelle":"Bewerbungen\\000gesamt",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"bewerbungen_w",
"caption_der_spalte":"Bewerbungen weiblich",
"caption_in_ergebnistabelle":"Bewerbungen\\000weiblich",
"srcfieldname":"geschl_w",
"targetfieldname":"bewerbungen_w",
"column_type":"processingColumn",
"col_function":"sum(geschl_w)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"bewerbungen_w_quote",
"srcfieldname":"bewerbungen_w",
"targetfieldname":"bewerbungen_w_quote",
"column_type":"computedColumn",
"col_function":"bewerbungen_w/summe::decimal(18,2)*100",
"format_code":"DEC_2",
"caption_der_spalte":"Bewerbungen weiblich in Prozent",
"caption_in_ergebnistabelle":"Bewerbungen\\000weiblich in %",
"is_visible":"1",
"is_aggregate":0,
"visible_size":25,
"description":""
},
{"uniquename":"antrags_status_zu",
"caption":"Zugelassen",
"srcfieldname":"",
"targetfieldname":"antrags_status_zu",
"column_type":"logicalColumn",
"col_function":"case when zul_kz=''J'' then 1 else 0 end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"1"
},
{"uniquename":"einschreib_kz_j",
"caption":"Eingeschrieben",
"srcfieldname":"",
"targetfieldname":"einschreib_kz_j",
"column_type":"logicalColumn",
"col_function":"case when einschreib_kz=''J'' then 1 else 0 end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"1"
}
]
/>
<@rpta_column_layout_fuellen />

2
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_internationale_studierende_sicht.sql

@ -43,7 +43,7 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat'; @@ -43,7 +43,7 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat';
"caption":"Studiengang",
"srcfieldname":"s_tid_stg",
"targetfieldname":"studiengang",
"column_type":"treechildColumn",
"column_type":"treeColumn",
"col_function":"Studiengang",
"is_visible":"1",
"format_code":"",

83
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_lm_ects_soll_ist_matrikelnummer_sicht.sql

@ -1,83 +0,0 @@ @@ -1,83 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_lm_ects_soll_ist_exists">
select count(*) from rpta_resultset where uniquename='rpta_lm_ects_soll_ist';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"lm_ects_soll_ist_matrikelnummer_sicht",
"caption":"ECTS-Soll-IST Vergleich nach Studiengang + Matrikelnummern",
"rpta_resultset":"rpta_lm_ects_soll_ist",
"whereclause":"aktiv=1",
"description":"ECTS-Soll-IST Vergleich mit Baumstruktur nach Studiengang-Sicht",
"sortclause":"sortnr"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_s_tid_stg",
"caption_in_ergebnistabelle":"Studiengang Sichtelement-ID",
"is_visible":"0",
"visible_size":"4",
"description_in_ergebnistabelle":"Studiengang Sichtelement-ID"
},
{"uniquename":"dim_studiengang_s_tid_stg_ebene",
"caption_in_ergebnistabelle":"Ebene",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":"Studiengang"
},
{"uniquename":"dim_studiengang_sicht_kind",
"caption_in_ergebnistabelle":"Studiengang",
"is_visible":"1",
"format_code":"",
"visible_size":"30",
"description_in_ergebnistabelle":"Studiengang"
},
{"uniquename":"matrikel_nr",
"caption_in_ergebnistabelle":"Matrikelnr./Pseudonym",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"description_in_ergebnistabelle":"Matrikelnr./Pseudonym"
},
{"uniquename":"dim_studiengang_regel",
"caption_in_ergebnistabelle":"Regelstudienzeit",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"dim_studiengang_lehr_str",
"caption_in_ergebnistabelle":"Lehreinheit",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"ects_soll",
"caption_in_ergebnistabelle":"Soll-ECTS",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"ects_ist",
"caption_in_ergebnistabelle":"Ist-ECTS",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"ects_ist_anteil",
"caption_in_ergebnistabelle":"Ist-ECTS Anteil",
"is_visible":"1",
"format_code":"INT_PERCENT",
"visible_size":"5",
"description_in_ergebnistabelle":""
}
]
/>
<@rpta_column2layout_fuellen />

76
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_lm_ects_soll_ist_sicht.sql

@ -1,76 +0,0 @@ @@ -1,76 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_lm_ects_soll_ist_exists">
select count(*) from rpta_resultset where uniquename='rpta_lm_ects_soll_ist';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"lm_ects_soll_ist_sicht",
"caption":"ECTS-Soll-IST Vergleich nach Studiengang",
"rpta_resultset":"rpta_lm_ects_soll_ist",
"whereclause":"aktiv=1",
"description":"ECTS-Soll-IST Vergleich mit Baumstruktur nach Studiengang-Sicht",
"sortclause":"sortnr"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_s_tid_stg",
"caption_in_ergebnistabelle":"Studiengang Sichtelement-ID",
"is_visible":"0",
"visible_size":"4",
"description_in_ergebnistabelle":"Studiengang Sichtelement-ID"
},
{"uniquename":"dim_studiengang_s_tid_stg_ebene",
"caption_in_ergebnistabelle":"Ebene",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":"Studiengang"
},
{"uniquename":"dim_studiengang_sicht",
"caption_in_ergebnistabelle":"Studiengang",
"is_visible":"1",
"format_code":"",
"visible_size":"30",
"description_in_ergebnistabelle":"Studiengang"
},
{"uniquename":"dim_studiengang_regel",
"caption_in_ergebnistabelle":"Regelstudienzeit",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"dim_studiengang_lehr_str",
"caption_in_ergebnistabelle":"Lehreinheit",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"ects_soll",
"caption_in_ergebnistabelle":"Soll-ECTS",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"ects_ist",
"caption_in_ergebnistabelle":"Ist-ECTS gesamt",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"ects_ist_anteil",
"caption_in_ergebnistabelle":"Ist-ECTS Anteil",
"is_visible":"1",
"format_code":"INT_PERCENT",
"visible_size":"5",
"description_in_ergebnistabelle":""
}
]
/>
<@rpta_column2layout_fuellen />

74
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_rpta_exam_unit_dim_studiengang_exam_written.sql

@ -1,74 +0,0 @@ @@ -1,74 +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>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"rpta_exam_unit_dim_studiengang_exam_written",
"caption":"Abschlussarbeiten",
"rpta_resultset":"rpta_exam_unit_dim_studiengang",
"whereclause":"part in (select K.apnr from sos_k_part K where K.hiskey_id=''99'')
and pstatus in (''BE'')
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)))",
"description":"",
"sortclause":""
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg",
"caption_in_ergebnistabelle":"Fach",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"dim_studiengang_abschluss",
"caption_in_ergebnistabelle":"Abschluss",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"exam_instructor_1",
"caption_in_ergebnistabelle":"Betreuer 1",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"exam_instructor_2",
"caption_in_ergebnistabelle":"Betreuer 2",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"exam_written_title",
"caption_in_ergebnistabelle":"Titel der Arbeit",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"d_abg_pruefung",
"caption_in_ergebnistabelle":"Prüfungsdatum",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
},
{"uniquename":"note",
"caption_in_ergebnistabelle":"Note",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"description_in_ergebnistabelle":""
}
]
/>
<@rpta_column2layout_fuellen />

107
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_rsz_2_fuellen.sql

@ -1,107 +0,0 @@ @@ -1,107 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_sem_rsz_2",
"caption":"Absolvierende nach RSZ+2 nach Studiengang und Semester",
"rpta_resultset":"rpta_sos_lab_stg",
"whereclause":"pstatus=''BE'' ",
"description":"Absolvierende in RSZ+2 nach Studiengang und Semester",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"sem_der_pruefung",
"caption":"Semester (Schlüssel)",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"TEXT",
"visible_size":"5",
"is_aggregate":"0",
"description":""
},
{"uniquename":"semester_str",
"caption":"Semester Name",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"semester_str",
"column_type":"logicalColumn",
"col_function":"(case when substring(sem_der_pruefung::varchar from 5 for 1)=''2'' then ''WS '' || substring(sem_der_pruefung::varchar from 3 for 2) || ''/'' || lpad('''' || val(substring(sem_der_pruefung::varchar from 3 for 2))+1,2,''0'')
when substring(sem_der_pruefung::varchar from 5 for 1)=''1'' then ''SS '' || substring(sem_der_pruefung::varchar from 3 for 2)
else '''' end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":""
},
{"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_stg",
"caption":"Studienfach (Schlüssel)",
"srcfieldname":"dim_studiengang_stg",
"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_str",
"caption":"Abschluss",
"srcfieldname":"dim_studiengang_abschluss_str",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Abschluss"
},
{"uniquename":"summe_rsz2",
"caption":"Anzahl der Absolvierenden in RSZ +2",
"srcfieldname":"",
"targetfieldname":"summe_rsz2",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl <= (dim_studiengang_regel +2) then summe else 0 end)",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Absolvierenden in RSZ +2"
},
{"uniquename":"summe",
"caption":"Anzahl der Absolvierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"summe",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Absolvierenden"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

92
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stg_verlauf_exmagr_fuellen.sql

@ -0,0 +1,92 @@ @@ -0,0 +1,92 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="sos_stg_verlauf_exma_exists">
select count(*) from rpta_resultset where uniquename='rpta_sos_stg_verlauf';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"rpta_sos_stg_verlauf_exmagr",
"caption":"Exmatrikulationsgründe von Studienanfänger_innen",
"rpta_resultset":"rpta_sos_stg_verlauf",
"whereclause":"",
"description":""
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_abschluss",
"caption":"Abschluss (Schlüssel)",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Interner Abschluss (Schlüssel)"
},
{"uniquename":"dim_studiengang_abschluss_str",
"caption":"Abschluss",
"srcfieldname":"dim_studiengang_abschluss_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Interner Abschluss"
},
{"uniquename":"dim_studiengang_stg",
"caption":"Fach (Schlüssel)",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Internes Fach (Schlüssel)"
},
{"uniquename":"dim_studiengang_stg_str",
"caption":"Fach",
"srcfieldname":"dim_studiengang_stg_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Internes Fach"
},
{"uniquename":"ende_art",
"caption_der_spalte":"Art Studienende",
"caption_in_ergebnistabelle":"Art Studienende",
"srcfieldname":"ende_art",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0"
},
{"uniquename":"ende_sem_d_pruef",
"caption_der_spalte":"Semester Prüfung",
"caption_in_ergebnistabelle":"Semester Prüfung",
"srcfieldname":"ende_sem_d_pruef",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"0"
},
{"uniquename":"summe",
"caption_der_spalte":"Summe Studierende",
"caption_in_ergebnistabelle":"Summe Studierende",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1"
}
]
/>
--ende_fach=anfang_fach and
<@rpta_column_layout_fuellen />

58
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_hssem1_repo_fuellen.sql

@ -1,58 +0,0 @@ @@ -1,58 +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_hssem_1_repo",
"caption":"Studierende / 1. HS",
"rpta_resultset":"sos_stud_astat",
"whereclause":"${SOS_HH_NH_ZH}",
"description":"Haupt- und Nebenhörer_innen"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg_str",
"caption_der_spalte":"Studienfach",
"caption_in_ergebnistabelle":"Studienfach",
"srcfieldname":"dim_studiengang_stg_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"sos_stud_astat_hssem1",
"caption_der_spalte":"Summe erstes Hochschulsemester",
"caption_in_ergebnistabelle":"Summe erstes Hochschulsemester",
"srcfieldname":"",
"targetfieldname":"sos_stud_astat_hssem1",
"column_type":"logicalColumn",
"col_function":"case when ${SOS_HSSEM_1} then summe else 0 end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"summe",
"caption_der_spalte":"Summe der Studierenden",
"caption_in_ergebnistabelle":"Summe der Studierenden",
"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"
}
]
/>
<@rpta_column_layout_fuellen />

313
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_hssem1_repo_fuellen_generated.sql

@ -1,313 +0,0 @@ @@ -1,313 +0,0 @@
--automatically created by SuperX/Freemarker for Postgres (27.04.2026 07:38:19)
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,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT,
description_in_ergebnistabelle 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,
sortclause text,
description text,
is_virtual smallint default 1
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'sos_stud_astat_hssem_1_repo',
'Studierende / 1. HS',
'${SOS_HH_NH_ZH}',
'Haupt- und Nebenhörer_innen'
FROM rpta_resultset
where uniquename='sos_stud_astat';
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
caption_in_ergebnistabelle,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
description_in_ergebnistabelle,
format_code_uniquename
)
select R.tid,
'dim_studiengang_stg_str',
'Studienfach',
'Studienfach',
'dim_studiengang_stg_str',
'dim_studiengang_stg_str' ,
T.tid as column_type,
'',
1,
10,
0,
10,
'',
'',
null::varchar
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='sos_stud_astat'
and T.uniquename='physicalColumn';
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
caption_in_ergebnistabelle,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
description_in_ergebnistabelle,
format_code_uniquename
)
select R.tid,
'sos_stud_astat_hssem1',
'Summe erstes Hochschulsemester',
'Summe erstes Hochschulsemester',
'',
'sos_stud_astat_hssem1' ,
T.tid as column_type,
'case when ${SOS_HSSEM_1} then summe else 0 end',
1,
10,
1,
20,
'',
'',
null::varchar
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='sos_stud_astat'
and T.uniquename='logicalColumn';
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
caption_in_ergebnistabelle,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
description_in_ergebnistabelle,
format_code_uniquename
)
select R.tid,
'summe',
'Summe der Studierenden',
'Summe der Studierenden',
'summe',
'summe' ,
T.tid as column_type,
'sum',
1,
5,
1,
30,
'Summe der Studierenden',
'Summe der Studierenden',
null::varchar
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='sos_stud_astat'
and T.uniquename='physicalColumn';
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='sos_stud_astat'
and L.uniquename='sos_stud_astat_hssem_1_repo'
)
;
select uniquename into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='sos_stud_astat')
and resultset_id in (select tid
FROM rpta_resultset
where uniquename='sos_stud_astat')
;
--falls neu
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
sortclause,
description,
is_virtual)
select uniquename,
caption,
resultset_id,
whereclause,
null::text as sortclause,
description,
is_virtual
FROM tmp_rpta_column_layout T
where not exists (select T2.uniquename from tmp_rpta_column_layout_target T2
where T2.uniquename=T.uniquename);
--falls geändert, uniquename muss bleiben
update rpta_column_layout
set (caption, resultset_id, whereclause,sortclause, description, is_virtual)
= ( select caption, resultset_id,
whereclause,
null::text as sortclause,
description,
is_virtual
FROM tmp_rpta_column_layout T
where T.uniquename=rpta_column_layout.uniquename)
where rpta_column_layout.uniquename=(select uniquename from tmp_rpta_column_layout);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='sos_stud_astat'
and L.uniquename='sos_stud_astat_hssem_1_repo'
)
;
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_in_ergebnistabelle,
T.description_in_ergebnistabelle,
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='sos_stud_astat_hssem_1_repo'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
drop TABLE tmp_rpta_column2layout;

63
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sxc_zahl_wert_stammdaten_nrw.sql

@ -8,7 +8,7 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -8,7 +8,7 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
<#assign rpta_column_layout = {"uniquename":"sxc_zahl_wert_stammdaten_nrw",
"caption":"Stammdaten NRW",
"rpta_resultset":"rpta_sxc_zahl_wert",
"whereclause":"bestand_id = 1",
"whereclause":"kenn_zahl in (select katalog_id from kenn_katalog_rpt where report_id =''MKWNRW_1'')",
"sortclause":"",
"description":""
}
@ -38,10 +38,10 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -38,10 +38,10 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"is_aggregate":"0",
"description":""
},
{"uniquename":"sxc_katalog_id",
{"uniquename":"kenn_katalog_id",
"caption_der_spalte":"SuperX Connect Kennzahlen - : ID der Kennzahl",
"caption_in_ergebnistabelle":"ID der Kennzahl",
"srcfieldname":"sxc_katalog_id",
"srcfieldname":"kenn_katalog_id",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
@ -50,10 +50,10 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -50,10 +50,10 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"is_aggregate":"0",
"description":""
},
{"uniquename":"sxc_katalog_name",
{"uniquename":"kenn_katalog_name",
"caption_der_spalte":"SuperX Connect Kennzahlen - : Name der Kennzahl",
"caption_in_ergebnistabelle":"Kennzahl",
"srcfieldname":"sxc_katalog_name",
"srcfieldname":"kenn_katalog_name",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
@ -92,7 +92,7 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -92,7 +92,7 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"srcfieldname":"",
"targetfieldname":"lfb_mapping",
"column_type":"preparingColumn",
"col_function":"generic_dim1",
"col_function":"(select M.target_value from sxc_mapping_bestand M where M.object_type=''Lehr- und Forschungsbereich'' and M.object_value = tmp_rpta_sxc_zahl_wert.generic_dim1)",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"0",
@ -116,34 +116,47 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -116,34 +116,47 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"srcfieldname":"wert",
"targetfieldname":"wert_der_kennzahl",
"column_type":"computedColumn",
"col_function":"case when lfb_count>0 and sxc_katalog_id like ''%_quote%'' then wert_summe/lfb_count
when sxc_katalog_id not like ''%_quote%'' and sxc_katalog_id not like ''%_proz%'' then wert_summe
"col_function":"case when lfb_count>0 and kenn_katalog_id like ''%_quote%'' then wert_summe/lfb_count
when kenn_katalog_id not like ''%_quote%'' and kenn_katalog_id not like ''%_proz%'' then wert_summe
else null end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"nrw_schnitt_kennz_lookup",
{"uniquename":"nrw_schnitt_lfb_dec",
"caption_der_spalte":"SuperX Connect Kennzahlen - NRW-Durchschnitt pro LFB",
"caption_in_ergebnistabelle":"NRW-Durchschnitt",
"srcfieldname":"",
"targetfieldname":"nrw_schnitt_lfb",
"column_type":"preparingColumn",
"col_function":"generic_dim2::decimal(30,20)",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"nrw_schnitt_lfb_summe",
"caption_der_spalte":"SuperX Connect Kennzahlen - NRW-Durchschnitt pro LFB summiert",
"caption_in_ergebnistabelle":"NRW-Durchschnitt",
"srcfieldname":"nrw_schnitt_lfb",
"targetfieldname":"nrw_schnitt_lfb_summe",
"column_type":"processingColumn",
"col_function":"sum(nrw_schnitt_lfb)",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"nrw_schnitt_kennz",
"caption_der_spalte":"SuperX Connect Kennzahlen - NRW-Durchschnitt der Kennzahl",
"caption_in_ergebnistabelle":"NRW-Durchschnitt",
"srcfieldname":"wert",
"targetfieldname":"nrw_schnitt_kennz_lookup",
"column_type":"lookupColumn",
"col_function":"SELECT sum(summe_wert)/12 AS durchschnitt
FROM (
SELECT hs_nr,
case when katalog_id like ''%_quote%'' then avg(wert)
when katalog_id not like ''%_quote%'' and katalog_id not like ''%_proz%'' then sum(wert)
else null end AS summe_wert
FROM sxc_zahl_wert
WHERE hs_nr IN (''1480'',''1140'',''1080'',''1090'',''1130'',''0080'',''1100'',''1110'',''1120'',''0121'',''0130'',''0140'')
AND katalog_id = tmp_rpta_sxc_zahl_wert.katalog_id
AND jahr = tmp_rpta_sxc_zahl_wert.jahr
AND wert IS NOT NULL
GROUP BY hs_nr,katalog_id
) AS summen_pro_hs
",
"targetfieldname":"nrw_schnitt_kennz",
"column_type":"computedColumn",
"col_function":"case when lfb_count>0 and kenn_katalog_id like ''%_quote%'' then nrw_schnitt_lfb_summe/lfb_count
when kenn_katalog_id not like ''%_quote%'' and kenn_katalog_id not like ''%_proz%'' then nrw_schnitt_lfb_summe
else null end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",

11
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sxc_zahl_wert_stammdaten_nrw_lfb.sql

@ -8,7 +8,7 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -8,7 +8,7 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
<#assign rpta_column_layout = {"uniquename":"sxc_zahl_wert_stammdaten_nrw_lfb",
"caption":"Stammdaten NRW nach LFB",
"rpta_resultset":"rpta_sxc_zahl_wert",
"whereclause":"bestand_id = 1",
"whereclause":"kenn_zahl in (select katalog_id from kenn_katalog_rpt where report_id =''MKWNRW_1'')",
"sortclause":"",
"description":""
}
@ -43,8 +43,8 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -43,8 +43,8 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"caption_in_ergebnistabelle":"Lehr- und Forschungsbereich Mapping",
"srcfieldname":"",
"targetfieldname":"lfb_mapping",
"column_type":"preparingColumn",
"col_function":"generic_dim1",
"column_type":"lookupColumn",
"col_function":"select M.target_value from sxc_mapping_bestand M where M.object_type=''Lehr- und Forschungsbereich'' and M.object_value = tmp_rpta_sxc_zahl_wert.generic_dim1",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"0",
@ -62,10 +62,10 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -62,10 +62,10 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"is_aggregate":"0",
"description":""
},
{"uniquename":"sxc_katalog_name",
{"uniquename":"kenn_katalog_name",
"caption_der_spalte":"SuperX Connect Kennzahlen - : Name der Kennzahl",
"caption_in_ergebnistabelle":"Kennzahl",
"srcfieldname":"sxc_katalog_name",
"srcfieldname":"kenn_katalog_name",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
@ -105,7 +105,6 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert'; @@ -105,7 +105,6 @@ select count(*) from rpta_resultset where uniquename='rpta_sxc_zahl_wert';
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"DEC_2",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",

302
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_zul_antr_aggr_bewerberstatisik_vergl_anhalt.sql

@ -1,302 +0,0 @@ @@ -1,302 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_zul_antr_aggr_exists">
select count(*) from rpta_resultset where uniquename='rpta_zul_antr_aggr';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"zul_antr_aggr_bewerberstatisik_vergl_anhalt",
"caption":"Bewerberstatistik gesamt Vergleich",
"rpta_resultset":"rpta_zul_antr_aggr",
"whereclause":"",
"sortclause":"",
"description":""
}
/>
<#assign rpta_columns = [
{"uniquename":"stg_str",
"srcfieldname":"stg_str",
"targetfieldname":"zul_antr_aggr_stg_str",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Studiengang Text",
"is_visible":1,
"visible_size":20,
"col_function":"select min(S.stg_str) from dim_studiengang S where S.stg=tmp_rpta_zul_antr_aggr.stg"}
,
{"uniquename":"stg_fb",
"srcfieldname":"stg_fb",
"targetfieldname":"zul_antr_aggr_stg_fb",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Fachbereich",
"is_visible":1,
"visible_size":5,
"col_function":"select min(S.fb) from dim_studiengang S where S.stg=tmp_rpta_zul_antr_aggr.stg"}
,
{"uniquename":"zul_antr_aggr_stg",
"caption":"STG (Schlüssel)",
"srcfieldname":"stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""
},
{"uniquename":"zul_antr_aggr_abschl",
"caption":"Abschluss",
"srcfieldname":"abschl",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""
},
{"uniquename":"international",
"caption":"Anzahl internationaler Bewerber",
"srcfieldname":"",
"targetfieldname":"international",
"column_type":"logicalColumn",
"col_function":"case when ca12_staat!=0 then 1 else 0 end",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":""
},
{"uniquename":"bewerbungen",
"caption":"Bewerbungen",
"srcfieldname":"summe",
"targetfieldname":"bewerbungen",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":""
},
{"uniquename":"bewerbungen_vorjahr",
"srcfieldname":"bewerbungen_vorjahr",
"targetfieldname":"zul_antr_aggr_summe_vorjahr",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Bewerbungen (Vorjahr)",
"is_visible":1,
"visible_size":5,
"col_function":"select sum(Z.summe) from zul_antr_aggr Z where Z.stg=tmp_rpta_zul_antr_aggr.stg and Z.abschl=tmp_rpta_zul_antr_aggr.abschl and Z.bewsem=(tmp_rpta_zul_antr_aggr.bewsem - 10)"}
,
{"uniquename":"bewerber_vergl_vorjahr",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"bewerber_vergl_vorjahr",
"column_type":"computedColumn",
"col_function":"bewerbungen - zul_antr_aggr_summe_vorjahr",
"format_code":"",
"caption":"Bewerber Differenz zum Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"bewerber_vergl_vorjahr_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"bewerber_vergl_vorjahr_prozent",
"column_type":"computedColumn",
"col_function":"case when zul_antr_aggr_summe_vorjahr!=0 then ((bewerbungen - zul_antr_aggr_summe_vorjahr)::decimal(18,4)/zul_antr_aggr_summe_vorjahr::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Differenz der Bewerber in Prozent im Vergleich zum Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"antrags_status_zu",
"caption":"Anzahl Zulassungen",
"srcfieldname":"",
"targetfieldname":"antrags_status_zu",
"column_type":"logicalColumn",
"col_function":"case when zul_kz=''J'' then 1 else 0 end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"1"
},
{"uniquename":"antrags_status_zu_vorjahr",
"srcfieldname":"antrags_status_zu_vorjahr",
"targetfieldname":"zul_antr_aggr_antrags_status_zu_vorjahr",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Anzahl Zulassungen (Vorjahr)",
"is_visible":1,
"visible_size":5,
"col_function":"select sum(Z.summe) from zul_antr_aggr Z where Z.zul_kz=''J'' and Z.stg=tmp_rpta_zul_antr_aggr.stg and Z.abschl=tmp_rpta_zul_antr_aggr.abschl and Z.bewsem=(tmp_rpta_zul_antr_aggr.bewsem - 10)"}
,
{"uniquename":"zulassungen_vergl_vorjahr",
"srcfieldname":"zul_antr_aggr_antrags_status_zu_vorjahr",
"targetfieldname":"zulassungen_vergl_vorjahr",
"column_type":"computedColumn",
"col_function":"antrags_status_zu - zul_antr_aggr_antrags_status_zu_vorjahr",
"format_code":"",
"caption":"Zulassungen absolute Differenz zum Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"zulassungen_vergl_vorjahr_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"zulassungen_vergl_vorjahr_prozent",
"column_type":"computedColumn",
"col_function":"case when zul_antr_aggr_antrags_status_zu_vorjahr!=0 then ((antrags_status_zu - zul_antr_aggr_antrags_status_zu_vorjahr)::decimal(18,4)/zul_antr_aggr_antrags_status_zu_vorjahr::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Differenz der Zulassungen in Prozent im Vergleich zum Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"zulassungen_zu_bewerbungen_vorjahr_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"zulassungen_zu_bewerbungen_vorjahr_prozent",
"column_type":"computedColumn",
"col_function":"case when zul_antr_aggr_summe_vorjahr!=0 then ((zul_antr_aggr_summe_vorjahr)::decimal(18,4)/zul_antr_aggr_summe_vorjahr::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Verhältnis Zulassungen zu Bewerbungen Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"zulassungen_zu_bewerbungen_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"zulassungen_zu_bewerbungen_prozent",
"column_type":"computedColumn",
"col_function":"case when bewerbungen!=0 then ((antrags_status_zu)::decimal(18,4)/bewerbungen::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Verhältnis Zulassungen zu Bewerbern",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"einschreib_kz_j",
"caption":"Eingeschrieben",
"srcfieldname":"",
"targetfieldname":"einschreib_kz_j",
"column_type":"logicalColumn",
"col_function":"case when einschreib_kz=''J'' then 1 else 0 end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"1"
},
{"uniquename":"einschreib_kz_j_vorjahr",
"srcfieldname":"einschreib_kz_j_vorjahr",
"targetfieldname":"zul_antr_aggr_einschreib_kz_j_vorjahr",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Anzahl Einschreibungen (Vorjahr)",
"is_visible":1,
"visible_size":5,
"col_function":"select sum(Z.summe) from zul_antr_aggr Z where einschreib_kz=''J'' and Z.stg=tmp_rpta_zul_antr_aggr.stg and Z.abschl=tmp_rpta_zul_antr_aggr.abschl and Z.bewsem=(tmp_rpta_zul_antr_aggr.bewsem - 10)"},
{"uniquename":"einschreibungen_veraendernungen_vorjahr_absolut",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"einschreibungen_veraendernungen_vorjahr_absolut",
"column_type":"computedColumn",
"col_function":"einschreib_kz_j - zul_antr_aggr_einschreib_kz_j_vorjahr",
"format_code":"",
"caption":"Veränderung Vorjahr Einschreibungen absolut",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"einschreibungen_veraendernungen_vorjahr_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"einschreibungen_veraendernungen_vorjahr_prozent",
"column_type":"computedColumn",
"col_function":"case when zul_antr_aggr_einschreib_kz_j_vorjahr!=0 then ((einschreib_kz_j - zul_antr_aggr_einschreib_kz_j_vorjahr)::decimal(18,4)/zul_antr_aggr_einschreib_kz_j_vorjahr::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Veränderung Vorjahr Einschreibungen Prozent",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"anteil_einschreibung_zulassung_vorjahr_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"anteil_einschreibung_zulassung_vorjahr_prozent",
"column_type":"computedColumn",
"col_function":"case when zul_antr_aggr_antrags_status_zu_vorjahr!=0 then ((zul_antr_aggr_einschreib_kz_j_vorjahr)::decimal(18,4)/zul_antr_aggr_antrags_status_zu_vorjahr::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Anteil Einschreibung/Zulassung Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"anteil_einschreibung_zulassung_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"einschreibungen_verändernungen_prozent",
"column_type":"computedColumn",
"col_function":"case when antrags_status_zu!=0 then ((einschreib_kz_j)::decimal(18,4)/antrags_status_zu::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Anteil Einschreibung/Zulassung aktuell",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"anteil_einschreibung_bewerbung_vorjahr_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"anteil_einschreibung_bewerbung_vorjahr_prozent",
"column_type":"computedColumn",
"col_function":"case when zul_antr_aggr_summe_vorjahr!=0 then ((zul_antr_aggr_einschreib_kz_j_vorjahr)::decimal(18,4)/zul_antr_aggr_summe_vorjahr::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Anteil Einschreibung/ Bewerbung Vorjahr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"anteil_einschreibung_bewerbung_prozent",
"srcfieldname":"zul_antr_aggr_summe_vorjahr",
"targetfieldname":"anteil_einschreibung_bewerbung_prozent",
"column_type":"computedColumn",
"col_function":"case when bewerbungen!=0 then ((einschreib_kz_j)::decimal(18,4)/bewerbungen::decimal(18,4))::decimal(18,4)*100 else 0 end",
"format_code":"",
"caption":"Anteil Einschreibung/ Bewerbung aktuell",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""}
]
/>
<@rpta_column_layout_fuellen />

102
src-modules/module/rpta/schluesseltabellen/rpta_column_rpta_exam_unit_dim_studiengang_fuellen.sql

@ -1,102 +0,0 @@ @@ -1,102 +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>
</sqlvars>
<#assign rpta_column_resultset = {
"rpta_resultset":"rpta_exam_unit_dim_studiengang"
}
/>
<#assign rpta_columns = [
{"uniquename":"note_case",
"caption_der_spalte":"Durchschnittsnote * Vorbereitend",
"srcfieldname":"note",
"targetfieldname":"note_case",
"column_type":"preparingColumn",
"col_function":"(case when note > 6 then null else note end)",
"is_aggregate":0,
"description_der_spalte":""},
{"uniquename":"note_schnitt",
"caption_der_spalte":"Durchschnittsnote * Weiterverarbeitend",
"srcfieldname":"note_case",
"targetfieldname":"note_schnitt",
"column_type":"processingColumn",
"col_function":"avg(note_case)",
"is_aggregate":1,
"description_der_spalte":""},
{"uniquename":"ects_soll",
"caption_der_spalte":"Soll-ECTS",
"srcfieldname":"",
"targetfieldname":"ects_soll",
"column_type":"lookupColumn",
"col_function":"select max(ects_soll) from lm_ects_soll_ist E
where
tmp_rpta_exam_unit_dim_studiengang.matrikel_nr=E.matrikel_nr
and E.tid_stg in (select tid from dim_studiengang where stg=tmp_rpta_exam_unit_dim_studiengang.dim_studiengang_stg
and abschluss=tmp_rpta_exam_unit_dim_studiengang.dim_studiengang_abschluss)",
"is_aggregate":0,
"description_der_spalte":""},
{"uniquename":"ects_ist",
"caption_der_spalte":"Ist-ECTS",
"srcfieldname":"",
"targetfieldname":"ects_ist",
"column_type":"lookupColumn",
"col_function":"select max(ects_ist) from lm_ects_soll_ist E
where
tmp_rpta_exam_unit_dim_studiengang.matrikel_nr=E.matrikel_nr
and E.tid_stg in (select tid from dim_studiengang where stg=tmp_rpta_exam_unit_dim_studiengang.dim_studiengang_stg
and abschluss=tmp_rpta_exam_unit_dim_studiengang.dim_studiengang_abschluss)",
"is_aggregate":0,
"description_der_spalte":""},
{"uniquename":"surname",
"caption_der_spalte":"Nachname",
"srcfieldname":"",
"targetfieldname":"surname",
"column_type":"lookupColumn",
"col_function":"select surname from sos_stud_address A
where tmp_rpta_exam_unit_dim_studiengang.matrikel_nr=A.matrikel_nr",
"is_aggregate":0,
"description_der_spalte":""},
{"uniquename":"exam_written_title",
"caption_der_spalte":"Titel der Abschlussarbeit",
"srcfieldname":"",
"targetfieldname":"exam_written_title",
"column_type":"lookupColumn",
"col_function":"select title from lm_exam_written W
where tmp_rpta_exam_unit_dim_studiengang.labnr=W.examplan_id",
"is_aggregate":0,
"description_der_spalte":""},
{"uniquename":"exam_instructor_1",
"caption_der_spalte":"Betreuer",
"srcfieldname":"",
"targetfieldname":"exam_instructor_1",
"column_type":"lookupColumn",
"col_function":"select distinct lastname||'', ''||firstname from lm_exam_instructor I
where tmp_rpta_exam_unit_dim_studiengang.labnr=I.examplan_id
and ordnr=1",
"is_aggregate":0,
"description_der_spalte":""},
{"uniquename":"exam_instructor_2",
"caption_der_spalte":"Betreuer",
"srcfieldname":"",
"targetfieldname":"exam_instructor_2",
"column_type":"lookupColumn",
"col_function":"select distinct lastname||'', ''||firstname from lm_exam_instructor I
where tmp_rpta_exam_unit_dim_studiengang.labnr=I.examplan_id
and ordnr=2",
"is_aggregate":0,
"description_der_spalte":""}
]
/>
<@rpta_column_fuellen />

180
src-modules/module/rpta/schluesseltabellen/rpta_column_rpta_lm_ects_soll_ist_fuellen.sql

@ -1,180 +0,0 @@ @@ -1,180 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_lm_ects_soll_ist_exists">
select count(*) from rpta_resultset where uniquename='rpta_lm_ects_soll_ist';
</sqlvar>
</sqlvars>
<#assign rpta_column_resultset = {
"rpta_resultset":"rpta_lm_ects_soll_ist"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_s_tid_stg",
"caption_der_spalte":"Studiengang Sichtelement-ID",
"srcfieldname":"",
"targetfieldname":"s_tid_stg",
"column_type":"logicalColumn",
"col_function":"(''s_'' || tid_stg)::varchar(255)",
"is_aggregate":"0",
"description_der_spalte":"Studiengang"
},
{"uniquename":"dim_studiengang_s_tid_stg_ebene",
"caption_der_spalte":"Ebene",
"srcfieldname":"",
"targetfieldname":"ebene",
"column_type":"logicalColumn",
"col_function":"null::integer",
"is_aggregate":"0",
"description_der_spalte":"Studiengang"
},
{"uniquename":"dim_studiengang_sicht",
"caption_der_spalte":"Studiengang",
"srcfieldname":"s_tid_stg",
"targetfieldname":"studiengang",
"column_type":"treeColumn",
"col_function":"Studiengang",
"is_aggregate":"0",
"description_der_spalte":"Studiengang"
},
{"uniquename":"dim_studiengang_sicht_kind",
"caption_der_spalte":"Studiengang",
"srcfieldname":"s_tid_stg",
"targetfieldname":"studiengang",
"column_type":"treechildColumn",
"col_function":"Studiengang",
"is_aggregate":"0",
"description_der_spalte":"Studiengang"
},
{"uniquename":"matrikel_nr",
"caption_der_spalte":"Matrikelnr./Pseudonym",
"srcfieldname":"matrikel_nr",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"0",
"description_der_spalte":""
},
{"uniquename":"dim_studiengang_text",
"caption_der_spalte":"Studiengang",
"srcfieldname":"dim_studiengang_text",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"0",
"description_der_spalte":""
},
{"uniquename":"dim_studiengang_regel",
"caption_der_spalte":"Regelstudienzeit",
"srcfieldname":"dim_studiengang_regel",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"0",
"description_der_spalte":""
},
{"uniquename":"lehr_eigen",
"caption_der_spalte":"Lehreinheit (eigen)",
"srcfieldname":"lehr_eigen",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"0",
"description_der_spalte":""
},
{"uniquename":"fach_sem_zahl_max_student",
"caption_der_spalte":"Letztes Fachsem.",
"srcfieldname":"fach_sem_zahl_max_student",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"0",
"description_der_spalte":""
},
{"uniquename":"endsemester",
"caption_der_spalte":"Endsemester",
"srcfieldname":"endsemester",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"0",
"description_der_spalte":""
},
{"uniquename":"ects_soll",
"caption_der_spalte":"Soll-ECTS",
"srcfieldname":"ects_soll",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"1",
"description_der_spalte":""
},
{"uniquename":"ects_soll_prep",
"caption_der_spalte":"Soll-ECTS Vorbereitung",
"srcfieldname":"",
"targetfieldname":"ects_soll_prep",
"column_type":"preparingColumn",
"col_function":"ects_soll",
"is_aggregate":"0",
"description_der_spalte":"Vorbereitung für Aggregation max(ects_soll)"
},
{"uniquename":"ects_soll_max",
"caption_der_spalte":"Max Soll-ECTS",
"srcfieldname":"ects_soll_prep",
"targetfieldname":"ects_soll_max",
"column_type":"processingColumn",
"col_function":"max(ects_soll_prep)",
"is_aggregate":"1",
"description_der_spalte":"Aggregation max(ects_soll)"
},
{"uniquename":"ects_ist",
"caption_der_spalte":"Ist-ECTS",
"srcfieldname":"ects_ist",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_aggregate":"1",
"description_der_spalte":""
},
{"uniquename":"ects_ist_prep",
"caption_der_spalte":"Ist-ECTS Vorbereitung",
"srcfieldname":"",
"targetfieldname":"ects_ist_prep",
"column_type":"preparingColumn",
"col_function":"ects_ist",
"is_aggregate":"0",
"description_der_spalte":"Vorbereitung für Aggregation max(ects_ist)"
},
{"uniquename":"ects_ist_max",
"caption_der_spalte":"Max Ist-ECTS",
"srcfieldname":"ects_ist_prep",
"targetfieldname":"ects_ist_max",
"column_type":"processingColumn",
"col_function":"max(ects_ist_prep)",
"is_aggregate":"1",
"description_der_spalte":"Aggregation max(ects_ist)"
},
{"uniquename":"ects_ist_anteil",
"caption_der_spalte":"Anteil Ist-ECTS",
"srcfieldname":"",
"targetfieldname":"ects_ist_anteil",
"column_type":"computedColumn",
"col_function":"(ects_ist/ects_soll*100)",
"is_aggregate":"1",
"description_der_spalte":"Anteil der Ist-ECTS and den Soll-ECTS"
},
{"uniquename":"surname",
"caption_der_spalte":"Nachname",
"srcfieldname":"",
"targetfieldname":"surname",
"column_type":"lookupColumn",
"col_function":"select surname from sos_stud_address A
where tmp_rpta_lm_ects_soll_ist.matrikel_nr=A.matrikel_nr",
"is_aggregate":0,
"description_der_spalte":""
}
]
/>
<@rpta_column_fuellen />

1
src-modules/module/rpta/schluesseltabellen/rpta_column_type.unl

@ -5,4 +5,3 @@ @@ -5,4 +5,3 @@
5^processingColumn^Weiterverarbeitende Spalte^
6^preparingColumn^Vorbereitende Spalte^
7^treeColumn^Sicht-Spalten^
8^treechildColumn^Sicht-Spalten mit zusätzlicher Kindebene^

384
src-modules/module/rpta/schluesseltabellen/rpta_lm_ects_soll_ist_virtuell.sql

@ -1,384 +0,0 @@ @@ -1,384 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="lm_ects_soll_ist_exists">
select sp_table_exists('lm_ects_soll_ist') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='lm_ects_soll_ist'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=lm_ects_soll_ist.tid_stg' as joinclause
from sx_tables where name in ('dim_studiengang')
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
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if lm_ects_soll_ist_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_lm_ects_soll_ist", "caption":"ECTS-Soll-IST Vergleich"}
/>
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='lm_ects_soll_ist'
and name not in ('ects_soll','ects_ist','ects_soll_gew','ects_ist_gew');
update sx_fields set
is_sum=1
where table_name='lm_ects_soll_ist'
and name in ('ects_soll','ects_ist','ects_soll_gew','ects_ist_gew');
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>',
whereclause='';
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 lm_ects_soll_ist_exists=1

43
src-modules/module/rpta/schluesseltabellen/pruefungen_im_detail_datenblatt_historisiert_virtuell.sql → src-modules/module/rpta/schluesseltabellen/sos_stg_verlauf_virtuell.sql

@ -1,46 +1,50 @@ @@ -1,46 +1,50 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_stg_archiv_exists">
select sp_table_exists('sos_lab_stg_archiv') from xdummy;
<sqlvar name="sos_stg_verlauf_exists">
select sp_table_exists('sos_stg_verlauf') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_lab_stg_archiv'
from sx_tables where name ='sos_stg_verlauf'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
<sqlvar name="added_tables" type="hashsequence"><![CDATA[
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=sos_lab_stg_archiv.tid_stg' as joinclause
'dim_studiengang.tid=sos_stg_verlauf.tid_stg and sos_stg_verlauf.anfang_sem >= semester_von and sos_stg_verlauf.anfang_sem <= semester_bis' as joinclause
from sx_tables where name in ('dim_studiengang')
order by 1
</sqlvar>
union select 10::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'cifx.apnr=sos_stg_verlauf.ende_art and cifx.key=691' as joinclause
from sx_tables where name in ('cifx')
]]></sqlvar>
<sqlvar name="fields_target" type="hashsequence"><![CDATA[
<#if fact_table_source?exists>
<#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}'
'dim_studiengang_' || name as targetname
from sx_fields where table_name ='dim_studiengang'
and currentlyused=1
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_lab_stg_archiv_exists==1 && fact_table_source?exists >
<#if sos_stg_verlauf_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_sos_lab_stg_archiv", "caption":"Prüfungen historisiert"}
<#assign fact_table_target = {"name":"rpta_sos_stg_verlauf", "caption":"Studienverlauf"}
/>
@ -81,11 +85,11 @@ foreignkey_uniquename VARCHAR(255) @@ -81,11 +85,11 @@ foreignkey_uniquename VARCHAR(255)
update sx_fields set
is_sum=0
where table_name='sos_lab_stg_archiv'
where table_name='sos_stg_verlauf'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_lab_stg_archiv'
where table_name='sos_stg_verlauf'
and name='summe';
@ -204,7 +208,7 @@ insert into tmp_rpta_resultset(caption, @@ -204,7 +208,7 @@ insert into tmp_rpta_resultset(caption,
systeminfo_id)
select '${fact_table_target.caption}',
'${fact_table_target.name}',
7
120
;
@ -216,8 +220,7 @@ null::varchar as dummy', @@ -216,8 +220,7 @@ 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>',
whereclause='and stichtag=(select ST.tid from sos_stichtag ST where ST.appl_key=''2'') and abschnitt=2 and pstatus=''BE''';
</#foreach>';
select * into temp tmp_rs1
from rpta_resultset
@ -381,4 +384,4 @@ T.custom @@ -381,4 +384,4 @@ T.custom
drop table tmp_rpta_column;
drop table tmp_rc1;
</#if> --wenn sos_lab_aggr_exists=1
</#if> --wenn sos_stg_verlauf_exists=1

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

@ -1,450 +0,0 @@ @@ -1,450 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_stg_aggr_archiv_exists">
select sp_table_exists('sos_stg_aggr_archiv') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sos_stg_aggr_archiv'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'dim_studiengang.tid=sos_stg_aggr_archiv.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_archiv.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_archiv.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_archiv.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_archiv.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
</#foreach>
order by 1
</#if>
]]>
</sqlvar>
</sqlvars>
<#if sos_stg_aggr_archiv_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"sos_stud_astat_archiv", "caption":"Studierende (intern und amtlich) historisiert"}
/>
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_archiv'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='sos_stg_aggr_archiv'
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_archiv_exists=1

53
src-modules/module/rpta/schluesseltabellen/sx_captions_einfuegen.sql

@ -1,53 +0,0 @@ @@ -1,53 +0,0 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<#assign sachgebiete_id=16 />
<#assign captions = [
{"table_name":"felderinfo",
"field_name":"Beschv.-Nr.",
"record_no":"48263",
"contents_short":"@@SVA_LABEL_Beschv.-Nr.@@",
"contents_long":""}
] />
<#foreach caption in captions>
delete from sx_captions where 1=0
<#if caption.table_name?exists && caption.table_name=="felderinfo">
or (table_name='${caption.table_name}'
and field_name='${caption.field_name}'
and record_no=${caption.record_no})
<#elseif caption.id?exists && caption.id!="">
or id='${caption.id}'
</#if>
;
insert into sx_captions (
<#if caption.table_name?exists && caption.table_name=="felderinfo">
table_name,
field_name,
record_no,
<#else>
id,
</#if>
locale,
contents_short,
contents_long,
sachgebiete_id)
select
<#if caption.table_name?exists && caption.table_name=="felderinfo">
'${caption.table_name}',
'${caption.field_name}',
${caption.record_no},
<#else>
'${caption.id}',
</#if>
'de',
'${caption.contents_short}',
'${caption.contents_long}',
${sachgebiete_id}
from xdummy;
</#foreach>

38
src-modules/module/rpta/schluesseltabellen/sx_repository_fuellen.sql

@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
INSERT INTO sx_repository
(id, content, caption, comment, art, sachgebiete_id, sort1, sort2, sort3, aktiv)
SELECT
'KoF_RPTA_' || tid::char(255),
content,
caption,
comment,
'SOS_KOEPFE_FAELLE_RPTA',
16, 1, 0, 0, 1
FROM sx_repository k
WHERE id like 'KoF_%'
and art = 'SOS_KOEPFE_FAELLE'
and content not ilike '%gew%'
and NOT EXISTS (
SELECT 1
FROM sx_repository s
WHERE s.id = 'KoF_RPTA_' || k.tid::char(255)
);
INSERT INTO sx_repository
(id, content, caption, comment, art, sachgebiete_id, sort1, sort2, sort3, aktiv)
SELECT
'KoF_RPTA_' || tid::char(255),
content,
caption,
comment,
'SOS_KOEPFE_FAELLE_RPTA_GEW',
16, 1, 0, 0, 1
FROM sx_repository k
WHERE id like 'KoF_%'
and art = 'SOS_KOEPFE_FAELLE'
and content ilike '%gew%'
and NOT EXISTS (
SELECT 1
FROM sx_repository s
WHERE s.id = 'KoF_RPTA_' || k.tid::char(255)
);

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

@ -6,11 +6,7 @@ @@ -6,11 +6,7 @@
{"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"}
{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge_shortcomment.jrxml", "ord":"2"},
{"mask":"48110", "filename":"tabelle_html.xsl", "ord":"10"},
{"mask":"48460", "filename":"tabelle_html.xsl", "ord":"10"},
{"mask":"48490", "filename":"tabelle_html.xsl", "ord":"10"}
{"mask":"48520", "filename":"tabelle_html.xsl", "ord":"10"}
{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge_shortcomment.jrxml", "ord":"2"}
] />

4
src-modules/module/rpta/schluesseltabellen/sxconnect_kennzahlen_virtuell.sql

@ -12,8 +12,8 @@ select name @@ -12,8 +12,8 @@ select name
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sxc_katalog.id=sxc_zahl_wert.katalog_id' as joinclause
from sx_tables where name in ('sxc_katalog')
'kenn_katalog.id=sxc_zahl_wert.kenn_zahl' as joinclause
from sx_tables where name in ('kenn_katalog')
order by 1
</sqlvar>
<sqlvar name="fields_target" type="hashsequence"><![CDATA[

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

@ -33,10 +33,6 @@ alter table rpta_column2layout ALTER COLUMN is_visible SET DEFAULT 1; @@ -33,10 +33,6 @@ alter table rpta_column2layout ALTER COLUMN is_visible SET DEFAULT 1;
</#if>
-- SuperX-Connect Kennzahlen wurde erstmal nur für UDE (Stammdaten) entwickelt, daher ausblenden
delete from themenbaum where maskeninfo_id = 48280;
--update current sos module to most recent version:
update sx_fields set is_sum=0
@ -125,3 +121,51 @@ select @@ -125,3 +121,51 @@ select
--Neue Spaltenbreite bei 0.3:
alter table rpta_column alter column col_function type TEXT;
--Kernmodul 5.3 abwärtskompatibel:
drop view if exists dim_semester;
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;

99
superx/WEB-INF/reports/simple_table.jrtx

@ -1,67 +1,70 @@ @@ -1,67 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio -->
<jasperTemplate xmlns="http://jasperreports.sourceforge.net/jasperreports/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/template http://jasperreports.sourceforge.net/xsd/jaspertemplate.xsd">
<style name="Standard Bodytext" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="9">
<style name="Standard Bodytext" isDefault="true" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8"/>
<style name="ReportTitle" style="Standard Bodytext" fontName="Liberation Sans" fontSize="12" isBold="true"/>
<style name="ReportHeadingInstitution" style="Standard Bodytext" fontName="Liberation Sans" fontSize="8" isBold="false"/>
<style name="subReportTitle" style="Standard Bodytext" fontName="Liberation Sans" fontSize="12" isBold="true"/>
<style name="LegendContent" style="Standard Bodytext" mode="Opaque" backcolor="#CCCCCC">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="HinweisContent" style="Standard Bodytext" mode="Opaque" backcolor="#ffffff">
<pen lineWidth="0.4" lineStyle="Solid" lineColor="#999999"/>
</style>
<!--<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8">
<box rightPadding="2">
<pen lineWidth="1.0" lineColor="#CBD3DF"/>
<leftPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1"/>
<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>-->
<style name="TableRowLevel1" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="Standard Text" isDefault="true" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="9"/>
<style name="ReportHeadingInstitution" style="Standard Text" hTextAlign="Right" fontSize="8"/>
<style name="ReportTitle" style="Standard Text" mode="Transparent" forecolor="#005176" backcolor="#FFFFFF" hTextAlign="Left" fontSize="16">
<paragraph spacingBefore="12" spacingAfter="6"/>
<style name="TableRowLevel2" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="subReportTitle" style="Standard Text" mode="Transparent" forecolor="#005176" backcolor="#FFFFFF" hTextAlign="Left" fontSize="12" isBold="true">
<paragraph spacingBefore="12" spacingAfter="6"/>
<style name="TableRowLevel3" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="LegendLabel" style="Standard Text" fontSize="8"/>
<style name="LegendContent" style="Standard Text" fontSize="8"/>
<style name="HinweisContent" style="Standard Text" fontSize="8"/>
<style name="PageFooter" style="Standard Text" forecolor="#97ACC1" vTextAlign="Bottom" fontSize="8"/>
<style name="TableColumnHeader" style="Standard Bodytext" forecolor="#005176" backcolor="#CBD3DF" hTextAlign="Center" vTextAlign="Middle" isBold="true">
<box>
<pen lineColor="#005176"/>
</box>
<style name="TableRowLevel4" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableColumnHeader2" style="TableColumnHeader" forecolor="#000000" backcolor="#CBD3DF">
<pen lineColor="#005176"/>
<box leftPadding="1"/>
<style name="TableRowLevel5" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowDetail_Universitaet" style="Standard Bodytext" backcolor="#CBD3DF" hTextAlign="Right" vTextAlign="Middle" isBold="true">
<box>
<pen lineColor="#005176"/>
</box>
<style name="TableRowLevel6" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowDetail_Fakultaet" style="Standard Bodytext" isBold="true">
<box>
<topPen lineColor="#005176"/>
</box>
<style name="TableRowLevel7" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowDetail_Lehreinheit" style="Standard Bodytext" backcolor="#E5E9F1"/>
<style name="TableRowDetail_Fach_Abschluss" style="Standard Bodytext"/>
<style name="TableRowDetail_Studiengang" style="Standard Bodytext" forecolor="#005176"/>
<style name="TableRowDetail" style="Standard Bodytext"/>
<style name="TableRowLevel1" style="Standard Bodytext" backcolor="#CBD3DF" isBold="true">
<box>
<pen lineColor="#005176"/>
</box>
<style name="TableRowLevel8" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel9" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel10" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="LegendLabel" style="Standard Bodytext" mode="Transparent" backcolor="#FFFFFF">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel2" style="Standard Bodytext" isBold="true">
<style name="TableColumnHeader" mode="Transparent" forecolor="#000000" backcolor="#ccccff" hTextAlign="Center" vTextAlign="Middle" fontName="Liberation Sans" fontSize="8">
<box>
<topPen lineColor="#005176"/>
<pen lineColor="#FFFFFF"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<paragraph spacingBefore="0" spacingAfter="0"/>
</style>
<style name="TableRowLevel3" style="Standard Bodytext" backcolor="#E5E9F1"/>
<style name="TableRowLevel4" style="Standard Bodytext"/>
<style name="TableRowLevel5" style="Standard Bodytext" forecolor="#005176"/>
<style name="TableRowLevel6" style="Standard Bodytext"/>
<style name="TableRowLevel7" style="Standard Bodytext"/>
<style name="TableRowLevel8" style="Standard Bodytext"/>
<style name="TableRowLevel9" style="Standard Bodytext"/>
<style name="TableRowLevel10" style="Standard Bodytext"/>
<style name="TableRowStandard" style="Standard Bodytext" mode="Opaque" forecolor="#050505" backcolor="#FFFFFF" hTextAlign="Right" fontSize="8" isBold="false">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
<box leftPadding="3" rightPadding="3">

64
superx/xml/rpta_assistent.xsl

@ -1116,47 +1116,22 @@ function deeplink_dialog() @@ -1116,47 +1116,22 @@ function deeplink_dialog()
<xsl:template name="rpta">
<script language="JavaScript" type="text/javascript">
function setPageFormat()
function setPageFormat(selectFormat)
{
var frmFieldX=document.forms[0].elements["RPTPageFormatX"];
var frmFieldY=document.forms[0].elements["RPTPageFormatY"];
var selectFormat=document.forms[0].elements["RPTPageFormat"].value;
var selectOrientation=document.forms[0].elements["RPTPageOrientation"].value;
switch (selectFormat.value) {
case "A4":
if(selectOrientation=="quer"){
frmFieldX.value="842";
frmFieldY.value="595";
}
else
{
frmFieldX.value="595";
frmFieldY.value="842";
}
break;
case "A3":
if(selectOrientation=="quer"){
frmFieldX.value="1191";
frmFieldY.value="842";
}
else
{
frmFieldX.value="842";
frmFieldY.value="1191";
}
break;
case "A0":
if(selectOrientation=="quer"){
frmFieldX.value="3370";
frmFieldY.value="2384";
}
else
{
frmFieldX.value="2384";
frmFieldY.value="3370";
}
frmFieldX.value="3370";
frmFieldY.value="2384";
break;
default:
//A4
@ -1214,7 +1189,7 @@ switch (selectFormat.value) { @@ -1214,7 +1189,7 @@ switch (selectFormat.value) {
<div class="control is-expanded">
<!--<div class="control">--><!--141024BF deaktiviert-->
<div class="select is-small is-fullwidth is-focused">
<select name="RPTPageFormat" onChange="setPageFormat();">
<select name="RPTPageFormat" onChange="setPageFormat(this);">
<option value="A4" selected="selected">DIN A 4</option>
<option value="A3" >DIN A 3</option>
<option value="A0" >DIN A 0</option>
@ -1236,38 +1211,7 @@ switch (selectFormat.value) { @@ -1236,38 +1211,7 @@ switch (selectFormat.value) {
<input name="RPTPageFormatY" type="hidden" value="595" />
</div><!--Ende field is-grouped-->
<div class="field is-grouped">
<div class="label-container">
<span class="labelPflicht">Ausrichtung</span>
</div>
<div class="control-new">
<div class="field has-addons">
<div class="control is-expanded">
<!--<div class="control">--><!--141024BF deaktiviert-->
<div class="select is-small is-fullwidth is-focused">
<select name="RPTPageOrientation" onChange="setPageFormat();">
<option value="quer" selected="selected">Querformat</option>
<option value="hoch" >Hochformat</option>
</select>
</div>
</div>
<div class="control">
<button class="button is-small is-rounded has-tooltip-bottom"
data-tooltip="Wählen Sie hier das Seitenformat, standardmäßig ist die eine Druckseite A3">
<span class="icon" aria-hidden="true"><img src="../images/information_grey_liberation.svg" alt="Info" title="Info" />
</span>
</button>
</div>
<!--</div>--><!--141024BF deaktiviert-->
</div> <!--Ende field has-addons-->
</div> <!--Ende control-new-->
<input name="RPTPageFormatX" type="hidden" value="842" />
<input name="RPTPageFormatY" type="hidden" value="595" />
</div><!--Ende field is-grouped-->
<div class="field is-grouped">
<div class="label-container">
<span class="labelPflicht">Ausgabeformat</span>

9
superx/xml/rpta_templates.xsl

@ -29,7 +29,6 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports"> @@ -29,7 +29,6 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports">
<xsl:param name="defaultdataadapter" />
<xsl:param name="groupBy" />
<xsl:param name="groupLayout" select="'rpta_groupLayout.xml'"/>
<xsl:param name="showPageFooter" select="'true'"/>
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" />
<!-- bei Excel Erzeugung wird Paginierung ausgeschaltet:-->
<xsl:variable name="runTimePagination">
@ -263,12 +262,10 @@ and not(starts-with(f_name,'next')) ]"> @@ -263,12 +262,10 @@ and not(starts-with(f_name,'next')) ]">
</xsl:for-each>
</detail>
<xsl:if test="$showPageFooter='true'">
<xsl:call-template name="pageFooter">
<xsl:with-param name="seitenbreite" select="$seitenbreite" />
</xsl:call-template>
<xsl:call-template name="pageFooter">
<xsl:with-param name="seitenbreite" select="$seitenbreite" />
</xsl:call-template>
</xsl:if>
</jasperReport>
</xsl:template>

Loading…
Cancel
Save