Compare commits

..

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

  1. 2
      .gitignore
  2. 5
      src-modules/module/rpta/conf/includes.txt
  3. 136
      src-modules/module/rpta/conf/rpta.xml
  4. 740
      src-modules/module/rpta/etl/stip_meldung_upload/excel_into_stip_meldung.ktr
  5. 33
      src-modules/module/rpta/etl/stip_meldung_upload/stip_meldung_fuellen.sql
  6. 443
      src-modules/module/rpta/etl/stip_meldung_upload/stip_meldung_upload.kjb
  7. 41
      src-modules/module/rpta/etl/stip_meldung_upload/sx_jobs_fuellen.sql
  8. 149
      src-modules/module/rpta/hilfstabellen/fill_rpta_column_layout.sql
  9. 122
      src-modules/module/rpta/hilfstabellen/fill_rpta_resultset.sql
  10. 18
      src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
  11. 9
      src-modules/module/rpta/masken/48000_felderinfo.unl
  12. 3
      src-modules/module/rpta/masken/48000_masken_felder_bez.unl
  13. 182
      src-modules/module/rpta/masken/48000_maskeninfo.unl
  14. 4
      src-modules/module/rpta/masken/48040_felderinfo.unl
  15. 1
      src-modules/module/rpta/masken/48040_masken_felder_bez.unl
  16. 16
      src-modules/module/rpta/masken/48040_maskeninfo.unl
  17. 8
      src-modules/module/rpta/masken/48080_felderinfo.unl
  18. 33
      src-modules/module/rpta/masken/48080_maskeninfo.unl
  19. 9
      src-modules/module/rpta/masken/48110_felderinfo.unl
  20. 1
      src-modules/module/rpta/masken/48110_masken_felder_bez.unl
  21. 118
      src-modules/module/rpta/masken/48110_maskeninfo.unl
  22. 28
      src-modules/module/rpta/masken/48140_felderinfo.unl
  23. 1
      src-modules/module/rpta/masken/48140_maske_system_bez.unl
  24. 16
      src-modules/module/rpta/masken/48140_masken_felder_bez.unl
  25. 82
      src-modules/module/rpta/masken/48140_maskeninfo.unl
  26. 1
      src-modules/module/rpta/masken/48140_sachgeb_maske_bez.unl
  27. 16
      src-modules/module/rpta/masken/48150_felderinfo.unl
  28. 1
      src-modules/module/rpta/masken/48150_maske_system_bez.unl
  29. 10
      src-modules/module/rpta/masken/48150_masken_felder_bez.unl
  30. 122
      src-modules/module/rpta/masken/48150_maskeninfo.unl
  31. 1
      src-modules/module/rpta/masken/48150_sachgeb_maske_bez.unl
  32. 35
      src-modules/module/rpta/masken/48180_felderinfo.unl
  33. 1
      src-modules/module/rpta/masken/48180_maske_system_bez.unl
  34. 19
      src-modules/module/rpta/masken/48180_masken_felder_bez.unl
  35. 274
      src-modules/module/rpta/masken/48180_maskeninfo.unl
  36. 1
      src-modules/module/rpta/masken/48180_sachgeb_maske_bez.unl
  37. 39
      src-modules/module/rpta/masken/48220_felderinfo.unl
  38. 1
      src-modules/module/rpta/masken/48220_maske_system_bez.unl
  39. 14
      src-modules/module/rpta/masken/48220_masken_felder_bez.unl
  40. 166
      src-modules/module/rpta/masken/48220_maskeninfo.unl
  41. 1
      src-modules/module/rpta/masken/48220_sachgeb_maske_bez.unl
  42. 30
      src-modules/module/rpta/masken/48250_felderinfo.unl
  43. 1
      src-modules/module/rpta/masken/48250_maske_system_bez.unl
  44. 15
      src-modules/module/rpta/masken/48250_masken_felder_bez.unl
  45. 124
      src-modules/module/rpta/masken/48250_maskeninfo.unl
  46. 1
      src-modules/module/rpta/masken/48250_sachgeb_maske_bez.unl
  47. 33
      src-modules/module/rpta/masken/48280_felderinfo.unl
  48. 1
      src-modules/module/rpta/masken/48280_maske_system_bez.unl
  49. 15
      src-modules/module/rpta/masken/48280_masken_felder_bez.unl
  50. 141
      src-modules/module/rpta/masken/48280_maskeninfo.unl
  51. 1
      src-modules/module/rpta/masken/48280_sachgeb_maske_bez.unl
  52. 30
      src-modules/module/rpta/masken/48310_felderinfo.unl
  53. 1
      src-modules/module/rpta/masken/48310_maske_system_bez.unl
  54. 20
      src-modules/module/rpta/masken/48310_masken_felder_bez.unl
  55. 202
      src-modules/module/rpta/masken/48310_maskeninfo.unl
  56. 1
      src-modules/module/rpta/masken/48310_sachgeb_maske_bez.unl
  57. 3
      src-modules/module/rpta/masken/48380_felderinfo.unl
  58. 1
      src-modules/module/rpta/masken/48380_maske_system_bez.unl
  59. 3
      src-modules/module/rpta/masken/48380_masken_felder_bez.unl
  60. 46
      src-modules/module/rpta/masken/48380_maskeninfo.unl
  61. 1
      src-modules/module/rpta/masken/48380_sachgeb_maske_bez.unl
  62. 11
      src-modules/module/rpta/masken/48410_felderinfo.unl
  63. 1
      src-modules/module/rpta/masken/48410_maske_system_bez.unl
  64. 8
      src-modules/module/rpta/masken/48410_masken_felder_bez.unl
  65. 133
      src-modules/module/rpta/masken/48410_maskeninfo.unl
  66. 1
      src-modules/module/rpta/masken/48410_sachgeb_maske_bez.unl
  67. 41
      src-modules/module/rpta/masken/48430_felderinfo.unl
  68. 1
      src-modules/module/rpta/masken/48430_maske_system_bez.unl
  69. 21
      src-modules/module/rpta/masken/48430_masken_felder_bez.unl
  70. 157
      src-modules/module/rpta/masken/48430_maskeninfo.unl
  71. 1
      src-modules/module/rpta/masken/48430_sachgeb_maske_bez.unl
  72. 25
      src-modules/module/rpta/masken/48460_felderinfo.unl
  73. 1
      src-modules/module/rpta/masken/48460_maske_system_bez.unl
  74. 7
      src-modules/module/rpta/masken/48460_masken_felder_bez.unl
  75. 119
      src-modules/module/rpta/masken/48460_maskeninfo.unl
  76. 1
      src-modules/module/rpta/masken/48460_sachgeb_maske_bez.unl
  77. 40
      src-modules/module/rpta/masken/48490_felderinfo.unl
  78. 1
      src-modules/module/rpta/masken/48490_maske_system_bez.unl
  79. 18
      src-modules/module/rpta/masken/48490_masken_felder_bez.unl
  80. 1
      src-modules/module/rpta/masken/48490_sachgeb_maske_bez.unl
  81. 384
      src-modules/module/rpta/schluesseltabellen/absolvierende_datenblatt_virtuell.sql
  82. 400
      src-modules/module/rpta/schluesseltabellen/bewerbungen_datenblatt_historisiert_virtuell.sql
  83. 431
      src-modules/module/rpta/schluesseltabellen/bewerbungen_datenblatt_virtuell.sql
  84. 405
      src-modules/module/rpta/schluesseltabellen/erfolg_ba_ma_uebergang_datenblatt_virtuell.sql
  85. 600
      src-modules/module/rpta/schluesseltabellen/finanzen_virtuell.sql
  86. 751
      src-modules/module/rpta/schluesseltabellen/fm_templates.unl
  87. 23
      src-modules/module/rpta/schluesseltabellen/macro_masken_bez_fuellen.sql
  88. 417
      src-modules/module/rpta/schluesseltabellen/management_datenblatt_virtuell.sql
  89. 472
      src-modules/module/rpta/schluesseltabellen/personal_virtuell.sql
  90. 366
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
  91. 443
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
  92. 92
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout__fin_einnahmen_dm_fuellen.sql
  93. 63
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout__pbv__dm_fuellen.sql
  94. 78
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_fuellen.sql
  95. 52
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fuellen.sql
  96. 81
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_internationale_studierende_sicht.sql
  97. 76
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_man_kennz_aggr_studiengang.sql
  98. 129
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_man_kennz_aggr_tuhh_behoerdenbericht.sql
  99. 554
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql
  100. 15
      src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_astat_fuellen.sql
  101. Some files were not shown because too many files have changed in this diff Show More

2
.gitignore vendored

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

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

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

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="rpta" version="0.5b" sachgebiet_id="330"
<module name="rpta" version="0.3" sachgebiet_id="330"
sachgebiet="Berichtsassistent" systeminfo_id="330"
system="Berichtsassistent" thema="Berichtsassistent" thema_parent="Abfragen">
<database name="superx" system="superx">
@ -21,7 +21,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -21,7 +21,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="column_type" type="INTEGER" size="" default="" notnull="true" description="Spaltentyp" ><comment>Physische Spalte/Logische Spalte/Lookup</comment></column>
<column name="col_function" type="TEXT" size="255" default="" notnull="" description="Funktion" ><comment>Bei logischen Spalten/Lookup</comment></column>
<column name="is_aggregate" type="SMALLINT" size="2" default="" notnull="" description="Aggregierte Spalte" ></column>
<column name="resultset_id" type="INTEGER" size="255" default="" notnull="true" description="Resultset" />
<column name="resultset_id" type="INTEGER" size="255" default="" notnull="" description="Resultset" />
<column name="custom" type="INTEGER" size="255" default="1" notnull="" description="Manuell erstellt" ><comment>0 = Auslieferung</comment></column>
<column name="description" type="TEXT" size="255" default="" notnull="" description="Beschreibung" ><comment>Erläuterungstext</comment></column>
@ -38,10 +38,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -38,10 +38,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
</rs>
</primaryKeys>
<indexes>
<index name="ix_rpta_column1" type="unique">
<index-column name="uniquename"/>
<index-column name="resultset_id"/>
</index>
</indexes>
</table>
@ -104,8 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -104,8 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="description" type="TEXT" size="255" default="" notnull="" description="Beschreibung" ><comment>Erläuterungstext</comment></column>
<column name="userinfo_id" type="INTEGER" size="255" default="" notnull="" description="Angelegt von" ></column>
<column name="sortnr" type="INTEGER" size="255" default="" notnull="" description="Sortiernummer" sortable="true"><comment>Kann leer bleiben, wenn nach Bezeichnung sortiert wird.</comment></column>
<column name="sortclause" type="TEXT" size="255" default="" notnull="false" description="Bedingung (order by)" />
<column name="is_virtual" type="SMALLINT" size="255" default="1" notnull="true" description="Virtuelle Tabelle" ><comment>1=ja,0=nein. Bei 0 wird es nachts berechnet</comment></column>
</columns>
<primaryKeys><rs>
<row>
@ -157,7 +153,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -157,7 +153,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="column_id" type="INTEGER" size="255" default="" notnull="" description="Spalte" />
<column name="layout_id" type="INTEGER" size="255" default="" notnull="" description="Layout" isKey="true" />
<column name="sortnr" type="SMALLINT" size="2" default="" notnull="" description="Sortiernr." sortable="true"/>
<column name="is_visible" type="SMALLINT" size="2" default="1" notnull="" description="Sichtbare Spalte" ></column>
<column name="is_visible" type="SMALLINT" size="2" default="" notnull="" description="Sichtbare Spalte" ></column>
<column name="visible_size" type="SMALLINT" size="2" default="" notnull="" description="Breite in Zeichen" ><comment>Bei String-Spalten</comment></column>
<column name="format_code_id" type="INTEGER" size="255" default="" notnull="" description="Format-Code" ><comment>Bei DECIMAL- und Datumsspalten</comment></column>
<column name="targetfieldname" type="VARCHAR" size="255" default="" notnull="" description="Zielfeld" currentlyUsed="false" />
@ -194,7 +190,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -194,7 +190,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
default="" notnull="true" description="Komponente">
</column>
<column name="is_virtual" type="SMALLINT" size="255" default="1" notnull="true" description="Virtuelle Tabelle" ><comment>1=ja,0=nein. Bei 0 wird sie nachts berechnet</comment></column>
</columns>
<primaryKeys><rs>
<row>
@ -266,8 +261,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -266,8 +261,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="pversuch" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="elementnr" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="summe" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="panerk" type ="CHAR" size ="10" default ="" notnull ="false" />
<column name="shortcomment" type ="VARCHAR" size ="255" default ="" notnull ="false" />
</columns>
<indexes>
<index name="rpta_exam_unit1" unique="false">
@ -336,83 +329,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t @@ -336,83 +329,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48150" name="Spalten anlegen" thema="Administration Berichtsassistent">
<description>Spalten erzeugen</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<!--<maske tid="48180" name="Tabellenausgabe Studierende (amtlich und intern) optimiert" thema="Berichtsassistent">
<description>Performance-Optimiert</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>-->
<maske tid="48220" name="Management-Bericht Kennzahlen" thema="Berichtsassistent">
<description>Performance-Optimiert</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48250" name="Beschäftigungsverhältnisse" thema="Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48280" name="SuperX-Connect Kennzahlen" thema="Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48310" name="Übergang Bachelor-Master" thema="Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48380" name="Spaltenlayout löschen" thema="Administration Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48410" name="Spaltenlayout kopieren" thema="Administration Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48430" name="Bewerbungen und Zulassungen" thema="Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48460" name="Kontostände Finanzbuchhaltung" thema="Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48490" name="Absolvierende nach Studiengang" thema="Berichtsassistent">
<description></description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske> <!--<maske tid="48140" name="Leistungen und Studiengänge (Makro)" thema="Berichtsassistent">
<maske tid="48140" name="Leistungen und Studiengänge (Makro)" thema="Berichtsassistent">
<description>Leistungen und Studiengänge</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<maske tid="48170" name="RPTA-Jobs ausführen" thema="Berichtsassistent">
<description>Leistungen und Studiengänge</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>-->
</masken>
<data-integrity>
@ -473,8 +395,6 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t @@ -473,8 +395,6 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t
<etl-step name="Aggregation" type="aggr">
<action>
<nativeaction sql="" scriptfile="$RPTA_PFAD/hilfstabellen/rpta_exam_unit_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/hilfstabellen/fill_rpta_resultset.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/hilfstabellen/fill_rpta_column_layout.sql" database=""/>
</action>
<action>
<nativeaction sql="" scriptfile="$RPTA_PFAD/hilfstabellen/vacuum_pg.sql" database="POSTGRES" />
@ -566,29 +486,11 @@ scriptfile="" database=""/> @@ -566,29 +486,11 @@ scriptfile="" database=""/>
<!--nun sind die Metadaten vorhanden-->
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/studierende_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/stellen_besetzung_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/personal_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/pruefungen_nach_ppruef_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/management_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/sxconnect_kennzahlen_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/erfolg_ba_ma_uebergang_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_exam_unit_dim_studiengang_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/bewerbungen_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/bewerbungen_datenblatt_historisiert_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_rsz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sgd_pbe_pbv_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_meldung_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_man_kennz_aggr_studiengang.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout__pbv__dm_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sxc_zahl_wert_stammdaten_nrw.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_zul_antr_aggr_basic.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_zul_antr_aggr_basic_archiv.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_internationale_studierende_sicht.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
</action>
</install-step>
@ -625,30 +527,12 @@ scriptfile="" database=""/> @@ -625,30 +527,12 @@ scriptfile="" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/upgrade/rpta_upgrade_man.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/studierende_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/absolvierende_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/stellen_besetzung_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/personal_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/pruefungen_nach_ppruef_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/management_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/erfolg_ba_ma_uebergang_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_exam_unit_dim_studiengang_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/bewerbungen_datenblatt_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/bewerbungen_datenblatt_historisiert_virtuell.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_rsz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sgd_pbe_pbv_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_lab_pord_pruef_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_astat_stip_meldung_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_man_kennz_aggr_studiengang.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout__pbv__dm_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_sxc_zahl_wert_stammdaten_nrw.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_zul_antr_aggr_basic.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_zul_antr_aggr_basic_archiv.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_internationale_studierende_sicht.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fach_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
</action>
@ -712,7 +596,6 @@ mode="full"> @@ -712,7 +596,6 @@ mode="full">
<customfield name="uniquename" visibleSize="50" nullFieldValue="" />
<customfield name="resultset_id" visibleSize="50" nullFieldValue="" />
<customfield name="whereclause" visibleSize="50" nullFieldValue="" />
<customfield name="sortclause" visibleSize="50" nullFieldValue="" />
<customfield name="description" visibleSize="50" nullFieldValue="" />
<customfield name="sortnr" visibleSize="10" nullFieldValue="" />
@ -722,7 +605,7 @@ mode="full"> @@ -722,7 +605,7 @@ mode="full">
mode="full">
<field-selection complete="false" />
<customfield name="layout_id" type="hidden" overrideValue="tid" />
<customfield name="column_id" type="include" path="/edit/rpta/rpta_column_layout_add_column.inc"/>
<customfield name="column_id" nullFieldValue="" visibleSize="5" />
<customfield name="sortnr" nullFieldValue="" visibleSize="10" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_column2layout_edit.jsp"
linkVar="tid" linkid="tid" mandatoryFilter="" mandatoryFilterVar=""/>
@ -800,7 +683,6 @@ mode="full"> @@ -800,7 +683,6 @@ mode="full">
<customfield name="joinclause" visibleSize="50" nullFieldValue="" />
<customfield name="whereclause" visibleSize="10" nullFieldValue="" />
<customfield name="systeminfo_id" visibleSize="10" nullFieldValue="" />
<customfield name="is_virtual" visibleSize="5" nullFieldValue="" />
</form>

740
src-modules/module/rpta/etl/stip_meldung_upload/excel_into_stip_meldung.ktr

@ -1,740 +0,0 @@ @@ -1,740 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<transformation>
<info>
<name>excel_into_tmp_stip_meldung</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>&#x2f;</directory>
<parameters>
<parameter>
<name>Hochschule</name>
<default_value>361</default_value>
<description/>
</parameter>
<parameter>
<name>Modus</name>
<default_value>2</default_value>
<description>2&#x3d;L&#xf6;schen und Hinzuf&#xfc;gen oder nur 1&#x3d;Hinzuf&#xfc;gen</description>
</parameter>
<parameter>
<name>PATH_TO_UPLOADFILE</name>
<default_value>file&#x3a;&#x2f;&#x2f;&#x2f;home&#x2f;superx&#x2f;Downloads&#x2f;Template_f&#xfc;r_die_manuelle_Schnittstelle_des_STBB.xlsx</default_value>
<description>Pfad zur Exceldatei mit Quelldaten</description>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies>
</dependencies>
<partitionschemas>
</partitionschemas>
<slaveservers>
</slaveservers>
<clusterschemas>
</clusterschemas>
<created_user>-</created_user>
<created_date>2022&#x2f;06&#x2f;27 15&#x3a;49&#x3a;54.602</created_date>
<modified_user>-</modified_user>
<modified_date>2022&#x2f;06&#x2f;27 15&#x3a;49&#x3a;54.602</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Microsoft Excel Input</from>
<to>Table output tmp_stip_meldung</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Microsoft Excel Input</name>
<type>ExcelInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<header>Y</header>
<noempty>Y</noempty>
<stoponempty>N</stoponempty>
<filefield/>
<sheetfield/>
<sheetrownumfield/>
<rownumfield/>
<sheetfield/>
<filefield/>
<limit>0</limit>
<encoding>UTF-8</encoding>
<add_to_result_filenames>Y</add_to_result_filenames>
<accept_filenames>N</accept_filenames>
<accept_field/>
<accept_stepname/>
<file>
<name>&#x24;&#x7b;PATH_TO_UPLOADFILE&#x7d;</name>
<filemask/>
<exclude_filemask/>
<file_required>N</file_required>
<include_subfolders>N</include_subfolders>
</file>
<fields>
<field>
<name>Matrikel-Nr.</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format>&#x23;</format>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Vorname</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Nachname</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Status</name>
<type>Integer</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal>.</decimal>
<group/>
</field>
<field>
<name>Fach</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Abschluss</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Adresszusatz</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Stra&#xdf;e</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>PLZ</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Ort</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>F&#xf6;rdermonat</name>
<type>Number</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
<field>
<name>Baf&#xf6;g</name>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
<format/>
<currency/>
<decimal/>
<group/>
</field>
</fields>
<sheets>
<sheet>
<name>Tabellenausgabe Studierend..1</name>
<startrow>3</startrow>
<startcol>0</startcol>
</sheet>
</sheets>
<strict_types>N</strict_types>
<error_ignored>N</error_ignored>
<error_line_skipped>N</error_line_skipped>
<bad_line_files_destination_directory/>
<bad_line_files_extension>warning</bad_line_files_extension>
<error_line_files_destination_directory/>
<error_line_files_extension>error</error_line_files_extension>
<line_number_files_destination_directory/>
<line_number_files_extension>line</line_number_files_extension>
<shortFileFieldName/>
<pathFieldName/>
<hiddenFieldName/>
<lastModificationTimeFieldName/>
<uriNameFieldName/>
<rootUriNameFieldName/>
<extensionFieldName/>
<sizeFieldName/>
<spreadsheet_type>POI</spreadsheet_type>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>112</xloc>
<yloc>112</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table output tmp_stip_meldung</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>eduetl</connection>
<schema/>
<table>tmp_stip_meldung</table>
<commit>100000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>Y</use_batch>
<specify_fields>Y</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>N</return_keys>
<return_field/>
<fields>
<field>
<column_name>matrikel_nr</column_name>
<stream_name>Matrikel-Nr.</stream_name>
</field>
<field>
<column_name>foerdermonat</column_name>
<stream_name>F&#xf6;rdermonat</stream_name>
</field>
<field>
<column_name>bafoeg</column_name>
<stream_name>Baf&#xf6;g</stream_name>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>544</xloc>
<yloc>112</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>
</slave-step-copy-partition-distribution>
<slave_transformation>N</slave_transformation>
</transformation>

33
src-modules/module/rpta/etl/stip_meldung_upload/stip_meldung_fuellen.sql

@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
update tmp_stip_meldung
set userinfo_id=1,
zeitstempel=now()
;
--delete from tmp_stip_meldung where bafoeg is null;
--delete from tmp_stip_meldung where foerdermonat is null and bafoeg = 'j';
delete from stip_meldung
where matrikel_nr in (select M.matrikel_nr::integer from tmp_stip_meldung M) -- Hinzufügen
;
delete from stip_meldung where ${Modus}=2; -- Löschen und Hinzufügen
INSERT INTO stip_meldung
(
matrikel_nr,
foerdermonat,
bafoeg,
userinfo_id,
zeitstempel
)
select distinct
matrikel_nr::integer,
foerdermonat,
bafoeg,
userinfo_id,
zeitstempel
from tmp_stip_meldung
;
drop table tmp_stip_meldung;

443
src-modules/module/rpta/etl/stip_meldung_upload/stip_meldung_upload.kjb

@ -1,443 +0,0 @@ @@ -1,443 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<job>
<name>stip_meldung_upload</name>
<description/>
<extended_description/>
<job_version/>
<job_status>0</job_status>
<directory>&#x2f;</directory>
<created_user>-</created_user>
<created_date>2022&#x2f;06&#x2f;27 14&#x3a;59&#x3a;09.135</created_date>
<modified_user>-</modified_user>
<modified_date>2022&#x2f;06&#x2f;27 14&#x3a;59&#x3a;09.135</modified_date>
<parameters>
<parameter>
<name>Hochschule</name>
<default_value>361</default_value>
<description/>
</parameter>
<parameter>
<name>Modus</name>
<default_value>1</default_value>
<description>2&#x3d;L&#xf6;schen und Hinzuf&#xfc;gen oder nur 1&#x3d;Hinzuf&#xfc;gen</description>
</parameter>
<parameter>
<name>PATH_TO_UPLOADFILE</name>
<default_value>file&#x3a;&#x2f;&#x2f;&#x2f;home&#x2f;superx&#x2f;Downloads&#x2f;Tabellenausgabe_Studierende_&#x28;amtlich_und_intern&#x29;-8.xlsx</default_value>
<description>Pfad zur Exceldatei mit Quelldaten</description>
</parameter>
</parameters>
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_JOB</id>
<enabled>Y</enabled>
<name>ID_JOB</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>JOBNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>START_JOB_ENTRY</id>
<enabled>N</enabled>
<name>START_JOB_ENTRY</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</job-log-table>
<jobentry-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>JOBENTRYNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>RESULT</id>
<enabled>Y</enabled>
<name>RESULT</name>
</field>
<field>
<id>NR_RESULT_ROWS</id>
<enabled>Y</enabled>
<name>NR_RESULT_ROWS</name>
</field>
<field>
<id>NR_RESULT_FILES</id>
<enabled>Y</enabled>
<name>NR_RESULT_FILES</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>COPY_NR</id>
<enabled>N</enabled>
<name>COPY_NR</name>
</field>
</jobentry-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<pass_batchid>N</pass_batchid>
<shared_objects_file/>
<entries>
<entry>
<name>START</name>
<description/>
<type>SPECIAL</type>
<start>Y</start>
<dummy>N</dummy>
<repeat>N</repeat>
<schedulerType>0</schedulerType>
<intervalSeconds>0</intervalSeconds>
<intervalMinutes>60</intervalMinutes>
<hour>12</hour>
<minutes>0</minutes>
<weekDay>1</weekDay>
<DayOfMonth>1</DayOfMonth>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>64</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>tmp_stip_meldung</name>
<description/>
<type>SQL</type>
<sql>drop table if exists tmp_stip_meldung&#x3b;&#xa;&#xa;create table tmp_stip_meldung&#xa;&#x28;&#xa; matrikel_nr varchar&#x28;255&#x29;,&#xa; foerdermonat float,&#xa; bafoeg char&#x28;1&#x29;,&#xa; userinfo_id integer,&#xa; zeitstempel timestamp&#xa;&#x29;&#xa;&#x3b;</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>eduetl</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>208</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>excel_into_stip_meldung</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;excel_into_stip_meldung.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>448</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>Success</name>
<description/>
<type>SUCCESS</type>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>976</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>Update stip_meldung</name>
<description/>
<type>SQL</type>
<sql/>
<useVariableSubstitution>T</useVariableSubstitution>
<sqlfromfile>T</sqlfromfile>
<sqlfilename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;stip_meldung_fuellen.sql</sqlfilename>
<sendOneStatement>F</sendOneStatement>
<connection>eduetl</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>688</xloc>
<yloc>112</yloc>
</entry>
</entries>
<hops>
<hop>
<from>START</from>
<to>tmp_stip_meldung</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>tmp_stip_meldung</from>
<to>excel_into_stip_meldung</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Update stip_meldung</from>
<to>Success</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>excel_into_stip_meldung</from>
<to>Update stip_meldung</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>
</job>

41
src-modules/module/rpta/etl/stip_meldung_upload/sx_jobs_fuellen.sql

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<sqlvars>
<sqlvar name="sx_jobs_exists">select sp_table_exists('sx_jobs') from xdummy;</sqlvar>
</sqlvars>
<#assign jobs = [
{"uniquename":"stip_meldung_upload", "caption":"Stipendiaten-Daten hochladen", "filepath":"rpta/etl/stip_meldung_upload/stip_meldung_upload.kjb","sachgebiete_id":330,
"kenn_profil":"","hs_nr":"","modus_supported":1,"params":"",
"check_sql":"select count(*) from stip_meldung"}
] />
--- Freemarker Magic
<#if sx_jobs_exists=1>
<#foreach job in jobs>
delete from sx_jobs where uniquename='${job.uniquename}';
</#foreach>
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_jobs');
</#if>
<#foreach job in jobs>
insert into sx_jobs (uniquename,caption,filepath,sachgebiete_id,kenn_profil,hs_nr,modus_supported,params
<#if SQLdialect='Postgres'>,check_sql
</#if>)
values ('${job.uniquename}','${job.caption}','${job.filepath}',${job.sachgebiete_id},<#if job.kenn_profil!="">${job.kenn_profil}<#else>null::integer</#if>,
<#if job.hs_nr!="">${job.hs_nr}<#else>null::integer</#if>,${job.modus_supported},'${job.params}'
<#if SQLdialect='Postgres'>
,'${job.check_sql}'
</#if>
);
</#foreach>
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_jobs');
</#if>
</#if>

149
src-modules/module/rpta/hilfstabellen/fill_rpta_column_layout.sql

@ -1,149 +0,0 @@ @@ -1,149 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
--
--Autor D. Quathamer 2024
<sqlvars>
<sqlvar name="column_layouts" type="hashsequence"><![CDATA[
select L.tid,
L.uniquename,
L.caption,
L.whereclause,
L.uniquename as target_tablename,
R.uniquename as resultset_uniquename,
'tmp_' || R.uniquename as resultset_tablename,
R.fieldclause as resultset_fieldclause,
R.joinclause as resultset_joinclause,
R.whereclause as resultset_whereclause,
R.systeminfo_id as resultset_systeminfo_id
from rpta_resultset R, rpta_column_layout L
where L.resultset_id=R.tid
and L.is_virtual=0
]]>
</sqlvar>
<sqlvar name="columns" type="hashsequence"><![CDATA[
SELECT L.tid as layout_id,
C.srcfieldname,
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,
T.uniquename as coltype,
C.is_aggregate,
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,
CL.is_visible,
CL.visible_size as visible_width,
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,
C.col_function as colfunction,
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T
where L.tid=CL.layout_id
and C.tid=CL.column_id
and T.tid=C.column_type
and L.is_virtual=0
order by CL.sortnr
;
]]></sqlvar>
</sqlvars>
<#if column_layouts?has_content>
<#foreach column_layout in column_layouts>
<#if columns?has_content>
--zuerst resultset aufbauen:
create temp table ${column_layout.resultset_tablename} as
select ${column_layout.resultset_fieldclause}
from ${column_layout.resultset_joinclause}
where 1=1
<#if column_layout.resultset_whereclause != "">
${column_layout.resultset_whereclause} </#if>
;
--dann das Spaltenlayout
select
--zuerst die Basisdaten:
<#foreach column in columns>
<#if column.layout_id=column_layout.tid>
<#if column.coltype="physicalColumn">
${column.srcfieldname},
<#elseif column.coltype="logicalColumn">
${column.colfunction} as ${column.targetfieldname},
<#elseif column.coltype="lookupColumn">
(${column.colfunction}) as ${column.targetfieldname},
<#elseif column.coltype="computedColumn">
null::decimal(19,6) as ${column.targetfieldname},
</#if>
</#if>
</#foreach>
null::char(1) as dummycol
into temp tmp_stud
from ${column_layout.resultset_tablename}
where 1=1
<#if column_layout.whereclause !="">
and ${column_layout.whereclause}
</#if>
;
drop table if exists ${column_layout.target_tablename} ;
<#assign index_clause="" />
--ergebnistabelle:
create table ${column_layout.target_tablename} as select
--zuerst die nicht-Aggregate:
<#assign groupby=0 />
<#foreach column in columns>
<#if column.layout_id=column_layout.tid>
<#if column.is_aggregate==0>
<#assign groupby=groupby+1 />
${column.targetfieldname},
<#assign index_clause=index_clause+ "
create index ix_${column_layout.target_tablename}_${groupby} on ${column_layout.target_tablename}(${column.targetfieldname});" />
</#if>
</#if>
</#foreach>
--dann die Aggregate:
<#foreach column in columns>
<#if column.layout_id=column_layout.tid>
<#if column.is_aggregate==1 && column.coltype!="computedColumn">
sum(${column.targetfieldname}) as ${column.targetfieldname},
</#if>
</#if>
</#foreach>
null::char(1) as dummycol
from tmp_stud
where 1=1
<#if groupby !=0 >
group by
<#list 1..groupby as i>${i}
<#if i != groupby>
,
</#if>
</#list>
</#if>
;
${index_clause}
drop table if exists tmp_stud;
drop table if exists tmp_gesamt;
</#if> --wenn columns?has_content
drop table ${column_layout.resultset_tablename};
</#foreach> -- Ende Schleife column_layouts
</#if> --gibt es column_layouts

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

@ -1,122 +0,0 @@ @@ -1,122 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
--
--Autor D. Quathamer 2024
<sqlvars>
<sqlvar name="basetables" type="hashsequence"><![CDATA[
SELECT distinct T.name,
R.is_virtual,
T.name as runtime_tablename,
R.caption,
R.uniquename,
R.fieldclause,
R.joinclause,
R.whereclause,
R.systeminfo_id
from sx_tables T, rpta_resultset R
where T.name=R.uniquename
and R.is_virtual=0
]]>
</sqlvar>
<sqlvar name="basetable_columns" type="hashsequence"><![CDATA[
SELECT distinct T.name as table_name,
F.name,
F.is_sum,
R.uniquename as rpta_name
from sx_tables T, rpta_resultset R , sx_fields F
where T.name=R.uniquename
and R.is_virtual=0
and F.table_name=T.name
order by F.is_sum,2,3
]]>
</sqlvar>
<sqlvar name="rpta_clauses" type="hashsequence"><![CDATA[
select distinct R.uniquename as rpta_uniquename, R.fieldclause, R.joinclause, R.whereclause from sx_tables T, rpta_resultset R
where T.name=R.uniquename
and R.is_virtual=0
]]>
</sqlvar>
</sqlvars>
<#if basetables?has_content>
<#foreach basetable in basetables>
<#if basetable.is_virtual==0>
<#foreach rpta_clause in rpta_clauses>
<#if rpta_clause.rpta_uniquename=basetable.uniquename>
<#if rpta_clause.joinclause?exists && rpta_clause.joinclause !=''>
<#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, " + rpta_clause.fieldclause + " where 1=1 " + rpta_clause.whereclause />
</#if>
drop table if exists ${basetable.runtime_tablename};
create temp table tmp_${basetable.runtime_tablename} as
${sqlString}
;
</#if>
</#foreach>
--Summierung:
<#if basetable_columns?has_content>
<#assign groupby=0 />
drop table if exists ${basetable.runtime_tablename};
create table ${basetable.runtime_tablename} as
select
<#foreach basetable_column in basetable_columns>
<#if basetable_column.rpta_name=basetable.uniquename>
<#if basetable_column.is_sum=0>
<#assign groupby=groupby+1 />
${basetable_column.name},
<#else>
sum(${basetable_column.name})::float as ${basetable_column.name},
</#if>
</#if>
</#foreach>
creation_date
from tmp_${basetable.runtime_tablename}
group by
<#list 1..groupby as i>${i},
</#list>
creation_date
;
drop table tmp_${basetable.runtime_tablename};
</#if> --Ende Summierung
--TODO: indizes
<#foreach basetable_column in basetable_columns>
<#if basetable_column.rpta_name=basetable.uniquename>
<#if basetable_column.is_sum=0>
create index ix_${basetable.runtime_tablename}_${basetable_column.name} on ${basetable.runtime_tablename}(${basetable_column.name});
--create index ix_tid_stg_dashboard_mw on ${basetable.runtime_tablename}(tid_stg);
--create index ix_sem_rueck_beur_ein_dashboard_mw on ${basetable.runtime_tablename}(sem_rueck_beur_ein);
</#if>
</#if>
</#foreach>
</#if> --Ende is_virtual=0
</#foreach>
</#if>

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

@ -32,10 +32,7 @@ insert into rpta_exam_unit (matrikel_nr, @@ -32,10 +32,7 @@ insert into rpta_exam_unit (matrikel_nr,
pdtxt,
pversuch,
elementnr,
summe,
shortcomment,
panerk
)
summe)
SELECT
matrikel_nr,
labnr,
@ -56,14 +53,7 @@ SELECT @@ -56,14 +53,7 @@ SELECT
pdtxt,
pversuch,
elementnr,
summe,
<#if TableFieldExists?exists && TableFieldExists('lm_exam_unit','shortcomment')>
substring(shortcomment from 1 for 255) as shortcomment,
<#else>
null::varchar(255) as shortcomment,
</#if>
panerk
summe
FROM lm_exam_unit
UNION SELECT
@ -86,9 +76,7 @@ UNION SELECT @@ -86,9 +76,7 @@ UNION SELECT
pdtxt,
pversuch,
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)
summe
FROM sos_lab_pord
WHERE sourcesystem = 5
;

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

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
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','sos_stud_astat_gew')\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7)\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
@ -11,9 +11,9 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='so @@ -11,9 +11,9 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='so
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;^ ^ ^
48003^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
48004^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
48005^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^ ^
48005^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^
48006^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^
48007^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48008^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
@ -22,9 +22,6 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^ @@ -22,9 +22,6 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^
48011^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
48012^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^ ^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48013^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
48014^Filter Studierende^100^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^
48015^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
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 apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
48022^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^
48023^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\

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

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

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

@ -4,27 +4,19 @@ @@ -4,27 +4,19 @@
--\
--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 T.name,\
R.is_virtual,\
<#assign my_base_rs='sos_stud_astat' />\
SELECT distinct name,\
0::smallint as is_virtual,\
name as runtime_tablename\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${my_base_rs}'\
and R.is_virtual=0\
\
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,\
R.is_virtual,\
1::smallint as is_virtual,\
'tmp_' || R.uniquename as runtime_tablename\
from rpta_resultset R where R.uniquename='${my_base_rs}'\
and R.is_virtual=1\
;\
]]>\
</sqlvar>\
@ -42,9 +34,7 @@ select caption,\ @@ -42,9 +34,7 @@ select caption,\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause,\
R.is_virtual,\
L.sortclause\
L.whereclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
@ -59,12 +49,10 @@ C.is_aggregate,\ @@ -59,12 +49,10 @@ 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,\
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\
C.col_function as colfunction,\
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
@ -73,18 +61,6 @@ and L.uniquename=<<Spaltenlayout>>\ @@ -73,18 +61,6 @@ and L.uniquename=<<Spaltenlayout>>\
order by CL.sortnr\
;\
]]></sqlvar>\
<sqlvar name="endsemester"><![CDATA[\
SELECT max(tid)\
from semester \
where 1=1\
/* and tid >= <<Seit Semester>> */\
/* and tid <= <<Bis Semester>> */\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
</#if>\
;\
\
]]></sqlvar>\
</sqlvars>\
\
<#assign jahr_param="" />\
@ -99,50 +75,25 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -99,50 +75,25 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign semester_filter ="1=1\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein >= <<Seit Semester>> */\
/* and sem_rueck_beur_ein <= <<Bis Semester>> */\
" />\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
<#assign semester_filter = semester_filter+ " and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>'" />\
</#if>\
<#if "<<Nur Endsemester>>"="1">\
--nur Endsemester\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_rueck_beur_ein = "+endsemester /> \
</#if>\
\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and <<Hochschulzugangsberechtigung>> */\
/* and <<Hörerstatus>>*/\
/* and abschluss in (<<Abschluss>>) */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>' */\
/* and ${<<Filter Studierende>>} */\
" />\
\
<#assign filter= filter + " and " + jahr_filter />\
\
<#assign filter= filter + " and " + semester_filter />\
\
\
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
/* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\
/* <#assign filter = filter + " and stg in "+Fächer.allNeededKeysList /> --<<Fächer>> */\
/* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in "+Abschluss.allNeededKeysList +")" /> --<<Abschluss>> */\
\
<#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>\
\
<#if basetable.is_virtual==1>\
@ -158,7 +109,109 @@ and ${filter}\ @@ -158,7 +109,109 @@ and ${filter}\
</#if>\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\
\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
<#if rpta_column_layout.whereclause !="">\
where ${rpta_column_layout.whereclause}\
</#if>\
;\
\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
<#foreach column in columns>\
<#if column.is_aggregate==0>\
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
</#if>\
</#foreach>\
--dann die Aggregate:\
<#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
/* ${<<Zusatzfilter>>} */\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
;\
--für Prozentwerte alle Aggregate summieren:\
select <#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
</#if>\
\
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by <#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
;\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
\
\
drop table if exists tmp_stud;\
drop table if exists tmp_gesamt;\
\
\
</#if> --wenn columns?has_content^--Freemarker Template\
XIL List\
@ -173,9 +226,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -173,9 +226,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
<#if 1=0>\
Column CID=0 heading_text="sortnr" center_heading explanation=""\
row_selectable heading_platform readonly\
width=5 text_size=60\
</#if>\
@@@^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>>;^

4
src-modules/module/rpta/masken/48040_felderinfo.unl

@ -6,7 +6,3 @@ @@ -6,7 +6,3 @@
48045^Virtuelle Tabellen bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_resultset_list.jsp' from xdummy;^
48046^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^
48047^Spaltentyp^200^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_type order by 2;^^ ^
48048^Spalte (Schlüssel)^15^0^0^150^80^1^char^200^0^1^<<SQL>> select C.uniquename,C.caption from rpta_column C where 1=1 /* and resultset_id=<<Virtuelle Tabelle>> */\
/* and tid in (select L.column_id from rpta_column2layout L\
where L.layout_id=<<Spaltenlayout>>) */\
order by 2;^^^

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

@ -6,4 +6,3 @@ @@ -6,4 +6,3 @@
48040^48045^
48040^48046^
48040^48047^
48040^48048^

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

@ -52,7 +52,6 @@ where T.tid=C.column_type\ @@ -52,7 +52,6 @@ where T.tid=C.column_type\
/* and C.tid in (select P.column_id from rpta_column2layout P where P.layout_id=<<Spaltenlayout>> )*/\
/* and C.resultset_id in (select R.tid from rpta_resultset R where R.systeminfo_id=<<Komponente>> )*/\
/* and C.column_type=<<Spaltentyp>> */\
/* and C.uniquename = <<Spalte (Schlüssel)>> */\
;\
\
\
@ -63,6 +62,19 @@ where R.tid=tmp_rpta_column.resultset_id;\ @@ -63,6 +62,19 @@ where R.tid=tmp_rpta_column.resultset_id;\
\
\
\
insert into tmp_rpta_column (ord,\
caption, \
nextedit) \
select 10, --ord\
'Neuer Eintrag',\
nvl(('../edit/qa/rpta_column_edit.jsp|tid=' || max(tid)+1)::varchar(255),'../edit/qa/rpta_column_edit.jsp'::varchar(255))\
from rpta_column\
;\
\
\
\
\
\
select \
caption,\
uniquename,\
@ -106,4 +118,4 @@ Column CID=1 heading_text="Individuelle Spalte" center_heading\ @@ -106,4 +118,4 @@ Column CID=1 heading_text="Individuelle Spalte" center_heading\
Column CID=1 heading_text="Bearbeiten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
@@@^^^Spaltendefinitionen und deren Zuordnung zu Berichten verwalten.^drop table tmp_rpta_column;^^1^440^360^0^1^ ^
@@@^^^Spaltendefinitionen und deren Zuordnung zu Berichten verwalten.^drop table tmp_rpta_column;^^1^440^360^0^1^^

8
src-modules/module/rpta/masken/48080_felderinfo.unl

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
48080^Institution (Stelle)^1^0^0^150^150^0^char^30^0^12^<<SQL>>select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Besch./Kostenstellen-Sicht','SVA-spez-Kostenstellen-Sicht') and aktiv=1 order by sortnr,type,name;^^^
48081^Datum^0^350^-1^150^80^1^date^10^1^0^^^<<SQL>> select today() from xdummy^
48082^Stellenkategorie^2^0^0^150^150^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Kategorie' and aktiv=1 order by type,name;^ ^^
48082^Stellenkategorie^2^0^0^150^150^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Kategorie' and aktiv=1 order by type,name;^hidden^^
48083^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where tid=<<Spaltenlayout>>) order by 2;^^^
@ -24,12 +24,12 @@ and R.systeminfo_id=6)\ @@ -24,12 +24,12 @@ and R.systeminfo_id=6)\
order by sortnr, caption\
limit 1 \
;^
48091^Filter Stellen^120^350^-1^150^150^1^sql^20^0^1^<<SQL>> select id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SVA_RPTA_STELL_FILTER' order by 2;^ ^^
48091^Filter Stellen^120^350^-1^150^150^1^sql^20^0^1^<<SQL>> select id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SVA_STELL_FILTER' order by 2;^hidden^^
48092^Dienstart^3^350^-1^150^150^3^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA Dienstart' and aktiv=1 order by type,name;^hidden^^
48093^BVL-Gruppe (Stelle)^74^0^0^150^120^10^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA BVL-Gruppen' and aktiv=1 order by type,name;^hidden^^
48094^BVL-Gruppe (Person)^80^350^-1^150^120^10^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='SVA BVL-Gruppen' and aktiv=1 order by type,name;^hidden^^
48095^Filter Besetzung^130^0^0^150^150^1^sql^20^0^1^<<SQL>> select id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SVA_BESETZ_FILTER' order by 2;^hidden^^
48096^Besetzung anzeigen^150^0^0^150^120^1^sql^30^1^1^<<SQL>> select 'z','einschl. zukünftige' from xdummy union select 'a','nur aktuelle' from xdummy;^^<<SQL>>select 'z','einschl. zukünftige' from xdummy^
48096^Finanzierungsquelle^302^0^0^100^200^3^char^30^0^1^<<SQL>> select id,caption from sx_repository where art='SVA_FINANZIERUNGSQUELLE' and aktiv=1 and gueltig_seit<=date_val(<<Datum>>) and gueltig_bis>=date_val(<<Datum>>) order by sort1^hidden^^
48097^Personalkategorie^310^0^0^100^200^3^char^30^0^1^<<SQL>> select id,caption from sx_repository where art='SVA_PERSONALKATEGORIE' and aktiv=1 and gueltig_seit<=date_val(<<Datum>>) and gueltig_bis>=date_val(<<Datum>>) order by sort1^hidden^^
48098^Stellenanzeige^1000^0^0^100^200^1^char^20^0^1^<<SQL>> select 'besetzt','nur besetzte' from xdummy union select 'frei','nur freie' from xdummy union select 'z','einschl. zukünftige' from xdummy^ ^<<SQL>> select 'z','einschl. zukünftige' from xdummy^
48098^Stellenanzeige^1000^0^0^100^200^1^char^20^0^1^<<SQL>> select 'besetzt','nur besetzte' from xdummy union select 'frei','nur freie' from xdummy^hidden^^
48099^Stellen-Nr. im HHPlan^52^350^-1^150^80^1^char^25^0^0^^^^

33
src-modules/module/rpta/masken/48080_maskeninfo.unl

@ -49,12 +49,10 @@ C.is_aggregate,\ @@ -49,12 +49,10 @@ 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,\
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\
C.col_function as colfunction,\
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
@ -66,13 +64,8 @@ order by CL.sortnr\ @@ -66,13 +64,8 @@ order by CL.sortnr\
</sqlvars>\
\
<#assign filter="sva_sgd_aggr.d_gueltig_anfang <= date_val(<<Datum>>) \
and sva_sgd_aggr.d_gueltig_ende >= date_val(<<Datum>>) "/>\
\
<#if "<<Stellenanzeige>>"="'z'">\
<#assign filter="sva_sgd_aggr.d_gueltig_ende >= date_val(<<Datum>>) "/>\
</#if>\
\
<#assign filter = filter + "\
and sva_sgd_aggr.d_gueltig_ende >= date_val(<<Datum>>)\
\
/* and sva_sgd_aggr.ca115_haushverm in <@printkeys .vars["Haushaltsvermerk"].allNeededKeys /> -- <<Haushaltsvermerk>> */\
/* and sva_sgd_aggr.ca107_dienstart in <@printkeys .vars["Dienstart"].allNeededKeys /> --<<Dienstart>>= */\
/* and sva_sgd_aggr.ca259_kategorie in <@printkeys .vars["Stellenkategorie"].allNeededKeys /> -- <<Stellenkategorie>> */\
@ -88,14 +81,7 @@ order by CL.sortnr\ @@ -88,14 +81,7 @@ order by CL.sortnr\
<#assign filter = filter + "and sva_sgd_aggr.haushalt_nr like '"+hn+"%'" />\
</#if>\
\
<#if "<<Stellenanzeige>>"="'besetzt'">\
<#assign filter = filter + " and 0 < (select count(*) from sva_pbe_aggr PB where S.stellen_nr =PB.stellen_nr and date_val(<<Datum>>) between PB.d_besetz_anfang \
and PB.d_besetz_ende )" />\
</#if>\
<#if "<<Stellenanzeige>>"="'frei'">\
<#assign filter = filter + " and 0 = (select count(*) from sva_pbe_aggr PB where S.stellen_nr =PB.stellen_nr and date_val(<<Datum>>) between PB.d_besetz_anfang \
and PB.d_besetz_ende )" />\
</#if>\
\
\
<#assign filter = filter + " and sva_sgd_aggr.ch110_besch_st in "+.vars["Institution (Stelle)"].allNeededKeysList /> \
\
@ -115,13 +101,8 @@ and ${filter}\ @@ -115,13 +101,8 @@ and ${filter}\
\
--Daten außerhalb des Berichtszeitraums entfernen:\
delete from ${basetable.runtime_tablename}\
where <#if '<<Besetzung anzeigen>>'='a'>\
--nur aktuelle, ohne zukünftig:\
sva_pbe_aggr_d_besetz_anfang > date_val(<<Datum>>)\
or \
</#if>\
sva_pbe_aggr_d_besetz_ende < date_val(<<Datum>>)\
;\
where sva_pbe_aggr_d_besetz_anfang > date_val(<<Datum>>)\
or sva_pbe_aggr_d_besetz_ende < date_val(<<Datum>>);\
\
select \
--zuerst die Basisdaten:\

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

@ -13,18 +13,15 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp @@ -13,18 +13,15 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp
48112^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48113^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
48114^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
48115^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^^
48115^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
48116^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^
48117^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48118^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48119^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,-1000 from sichten where name_intern ='sos_kst_fb_stgabint'\
union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48119^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48121^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
48122^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48128^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
48132^Geschlecht^110^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^
48133^Spalten^3002^0^0^150^190^10^char^30^0^1^<<SQL>>\
48133^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^
48134^tablestylesheet^3001^0^0^100^150^1^char^200^1^1^<<SQL>>\
select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48110^ ^<<SQL>>select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48110 and ord=1^

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

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

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

@ -34,8 +34,7 @@ select caption,\ @@ -34,8 +34,7 @@ select caption,\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause,\
L.sortclause\
L.whereclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
@ -50,12 +49,10 @@ C.is_aggregate,\ @@ -50,12 +49,10 @@ 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,\
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\
C.col_function as colfunction,\
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
@ -93,7 +90,114 @@ and ${filter}\ @@ -93,7 +90,114 @@ and ${filter}\
\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=1/>\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname} as ${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn" || column.coltype=="processingColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
<#if rpta_column_layout.whereclause !="">\
where ${rpta_column_layout.whereclause}\
</#if>\
;\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
<#foreach column in columns>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns immer mitnehmen, da später verarbeitet\
<#if column.is_aggregate==0 && column.coltype!="logicalColumn" && column.coltype!="processingColumn" || column.coltype="computedColumn"> \
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
<#elseif column.is_aggregate==0 && column.coltype="processingColumn"> \
<#assign groupby=groupby+1 />\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
</#foreach>\
--dann die Aggregate:\
<#foreach column in columns>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="logicalColumn"> \
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
/* ${<<Zusatzfilter>>} */\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
;\
--für Prozentwerte alle Aggregate summieren:\
select <#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
</#if>\
\
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by <#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
;\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
\
\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
\
\
</#if> --wenn columns?has_content^--Freemarker Template\

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

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
48140^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_exam_unit_dim_studiengang'\
)\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_exam_unit_dim_studiengang'\
) and uniquename='rpta_exam_unit_dim_studiengang_note';^
48141^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48142^Fächer^30^0^0^130^200^6^char^1000^0^999^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48143^Abschluss^40^0^0^100^200^3^char^1500^0^999^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
48144^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
48145^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
48146^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^
48147^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48148^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48149^Studiengang^25^0^0^140^150^50^char^1000^0^999^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48151^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
48152^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48158^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
48162^Geschlecht^110^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^
48163^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^
48164^Fächer^30^0^0^130^200^6^char^1000^1^1^<<SQL>> select stg,dtxt from k_stg order by 2;^ ^ ^

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

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

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

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

82
src-modules/module/rpta/masken/48490_maskeninfo.unl → src-modules/module/rpta/masken/48140_maskeninfo.unl

@ -1,16 +1,11 @@ @@ -1,16 +1,11 @@
48490^Absolvierende nach Studiengang^--Freemarker Template\
48140^Leistungen und Studiengänge (Makro)^--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[\
<#assign my_base_rs='rpta_exam_unit_dim_studiengang' />\
SELECT distinct name,\
0::smallint as is_virtual,\
name as runtime_tablename\
@ -66,62 +61,18 @@ and L.uniquename=<<Spaltenlayout>>\ @@ -66,62 +61,18 @@ and L.uniquename=<<Spaltenlayout>>\
order by CL.sortnr\
;\
]]></sqlvar>\
<sqlvar name="endsemester"><![CDATA[\
SELECT max(tid)\
from semester \
where 1=1\
/* and tid >= <<Seit Semester>> */\
/* and tid <= <<Bis Semester>> */\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
</#if>\
;\
\
]]></sqlvar>\
</sqlvars>\
\
<#assign jahr_param="" />\
<#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\
<#assign 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="<<Köpfe oder Fälle ?>>\
/* 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>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
" />\
\
<#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>> */\
<#assign filter = filter + " and tid_stg in (select tid from lehr_stg_ab where stg in "+Fächer.allNeededKeysList +")"/> \
\
<#if columns?has_content>\
\
@ -143,12 +94,12 @@ select \ @@ -143,12 +94,12 @@ select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname},\
${column.srcfieldname} as ${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn">\
<#elseif column.coltype="computedColumn" || column.coltype=="processingColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
@ -160,21 +111,27 @@ where ${rpta_column_layout.whereclause}\ @@ -160,21 +111,27 @@ where ${rpta_column_layout.whereclause}\
</#if>\
;\
\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
<#foreach column in columns>\
<#if column.is_aggregate==0>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns immer mitnehmen, da später verarbeitet\
<#if column.is_aggregate==0 && column.coltype!="logicalColumn" && column.coltype!="processingColumn" || column.coltype="computedColumn"> \
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
<#elseif column.is_aggregate==0 && column.coltype="processingColumn"> \
<#assign groupby=groupby+1 />\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
</#foreach>\
--dann die Aggregate:\
<#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname}) as ${column.targetfieldname},\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="logicalColumn"> \
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
@ -191,7 +148,7 @@ group by\ @@ -191,7 +148,7 @@ group by\
;\
--für Prozentwerte alle Aggregate summieren:\
select <#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
@ -239,6 +196,7 @@ drop table if exists ${basetable.runtime_tablename};\ @@ -239,6 +196,7 @@ drop table if exists ${basetable.runtime_tablename};\
\
\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
\
\
@ -255,4 +213,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -255,4 +213,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
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^0^1^^
@@@^Studienfach^Anzahl bzw. Anteil^Makrobericht zur Ausgabe nach Fächern^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

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

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

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

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

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

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

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

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

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

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

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

35
src-modules/module/rpta/masken/48180_felderinfo.unl

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
48180^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7)\
and is_virtual=0\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7)\
and is_virtual=0\
order by sortnr, caption\
limit 1^
48181^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;^
48182^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;^ ^ ^
48183^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
48184^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
48185^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^
48186^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^
48187^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48188^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48189^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48190^Semester^100^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^hidden^ ^
48191^Stichtag^23^330^-1^130^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^hidden^ ^
48192^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^ ^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48193^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^
48194^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;^ ^ ^
48195^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
48198^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';^
48202^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;^ ^ ^
48203^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^

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

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

19
src-modules/module/rpta/masken/48180_masken_felder_bez.unl

@ -1,19 +0,0 @@ @@ -1,19 +0,0 @@
48180^48180^
48180^48181^
48180^48182^
48180^48183^
48180^48184^
48180^48185^
48180^48186^
48180^48187^
48180^48188^
48180^48189^
48180^48190^
48180^48191^
48180^48192^
48180^48193^
48180^48194^
48180^48195^
48180^48198^
48180^48202^
48180^48203^

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

@ -1,274 +0,0 @@ @@ -1,274 +0,0 @@
48180^Tabellenausgabe Studierende (amtlich und intern) (optimiert)^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--\
--Autor D. Quathamer 2024\
<sqlvars>\
<sqlvar name="column_layout" type="hash"><![CDATA[\
select R.uniquename as resultset_uniquename,\
L.uniquename,\
L.caption,\
L.whereclause,\
L.is_virtual\
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[\
<#if column_layout.is_virtual==1>\
SELECT distinct T.name,\
1::smallint as is_virtual,\
name as runtime_tablename\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${column_layout.resultset_uniquename}'\
<#else> \
select L.uniquename,\
L.is_virtual,\
L.uniquename as runtime_tablename\
from rpta_column_layout L where L.uniquename='${column_layout.uniquename}'\
;\
</#if>\
]]>\
</sqlvar>\
<sqlvar name="rpta_resultset" type="hash"><![CDATA[\
select caption,\
uniquename,\
fieldclause,\
joinclause,\
whereclause,\
systeminfo_id\
from rpta_resultset\
where uniquename='${basetable.runtime_tablename}';\
\
]]></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_rueck_beur_ein from 5 for 1)='2' and val(substring('' || sem_rueck_beur_ein from 1 for 4))="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + " or "/>\
<#assign jahr_filter=jahr_filter + "(substring('' || sem_rueck_beur_ein from 5 for 1)='1' and (val(substring('' || sem_rueck_beur_ein from 1 for 4))-1)="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign semester_filter ="1=1\
/* and sem_rueck_beur_ein >= <<Seit Semester>> */\
/* and sem_rueck_beur_ein <= <<Bis Semester>> */\
" />\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
<#assign semester_filter = semester_filter+ " and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>'" />\
</#if>\
<#if "<<Nur Endsemester>>"="1">\
--nur Endsemester\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_rueck_beur_ein = "+endsemester /> \
</#if>\
\
<#if basetable.is_virtual==1>\
\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and <<Hochschulzugangsberechtigung>> */\
/* and <<Hörerstatus>>*/\
/* and abschluss in (<<Abschluss>>) */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>' */\
/* and ${<<Filter Studierende>>} */\
" />\
\
<#else>\
<#assign filter="1=1" />\
</#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 stg in "+Fächer.allNeededKeysList /> --<<Fächer>> */\
\
<#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}\
;\
\
\
\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_rs\
from ${basetable.runtime_tablename}\
where 1=1\
<#if rpta_column_layout.whereclause !="">\
and ${rpta_column_layout.whereclause}\
</#if>\
<#if rpta_column_layout.is_virtual ==0>\
and ${filter}\
</#if>\
\
;\
\
<#else>\
--wenn column_layout.is_virtual=0,\
--also die Tabelle ist schon da:\
<#assign groupby=0 />\
\
select <#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn">\
null::float as ${column.targetfieldname},\
<#elseif column.is_visible==1>\
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_rs\
from ${basetable.runtime_tablename}\
where ${filter}\
<#if groupby !=0 >\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
</#if>\
;\
\
</#if>\
--ergebnistabelle:\
select \
--die Aggregate:\
<#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_rs\
where 1=1\
;\
\
\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
</#if>\
\
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_rs\
order by <#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
;\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
\
\
drop table if exists tmp_rs;\
drop table if exists tmp_gesamt;\
\
\
</#if> --wenn columns?has_content^--Freemarker Template\
XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=55\
<#foreach column in columns>\
<#if column.is_visible!=0>\
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\
row_selectable heading_platform readonly\
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^Studienfach^Anzahl bzw. Anteil^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>>;^

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

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

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

@ -1,39 +0,0 @@ @@ -1,39 +0,0 @@
48220^Studiengang^39^0^0^150^200^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('MAN-STG-Kostenstellen-Sicht','MAN-Studiengang-Sicht') and aktiv=1 order by 3,2;^^^
48221^Kennzahl^100^0^0^150^200^1^char^255^0^1^<<SQL>> select C.id,trim(C.name) || ' - (' || C.id || ')',P.sortnr,P.sortnr2\
from man_reports R,man_catalogue_rpt P, man_catalogue C\
where C.id=P.catalogue_id\
and R.id=P.report_id\
/* and P.report_id=<<Bericht>>*/\
and P.active>=1\
and R.active=1\
--and C.timeunit='S'\
--and C.calcratio=0\
--and C.cacheing>0\
order by 3,4,2^ ^ ^
48222^Institution^2^0^0^150^200^1^char^30^0^12^<<SQL>>select tid,type,name from sichten where art ='MAN-Kostenstellen-Sicht' and aktiv=1 order by type,name;^^^
48223^Start-Jahr^4^0^0^100^50^1^integer^30^0^1^<<SQL>> SELECT distinct tid,druck FROM man_jahr order by 1;^^<<SQL>> SELECT tid,druck FROM man_jahr where tid=(year(today())-5) ;^
48224^Startsemester^7^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from man_semester order by tid DESC;^^^
48225^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^
48226^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_man_kennz_aggr'\
and R.systeminfo_id=200)\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_man_kennz_aggr'\
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;^^^
48228^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^
48229^Ausgabeformat^2001^0^0^100^150^1^char^200^0^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML';^
48230^Endsemester^8^0^0^140^100^1^integer^30^0^1^<<SQL>> select tid, eintrag from man_semester order by tid DESC;^^^
48231^End-Jahr^5^0^0^100^50^1^integer^30^0^1^<<SQL>> SELECT distinct tid,druck FROM man_jahr order by 1;^^<<SQL>> SELECT tid,druck FROM man_jahr where tid=(year(today())-1) ;^
48232^Zeitraumtyp^110^0^0^100^150^1^char^30^1^1^<<SQL>> select 'S', 'Semester' from xdummy union select 'J', 'Jahr' from xdummy^hidden^<<SQL>> select 'S', 'Semester' from xdummy^
48233^Bericht^1^0^0^150^200^1^char^30^1^1^<<SQL>> select R.id,trim(R.name) || ' - (' || R.id || ')' from man_reports R where 0<(select count(*) from man_catalogue_rpt P, man_catalogue C\
where C.id=P.catalogue_id\
and C.fromclause is not null\
and P.report_id=R.id) and R.active=1 order by 2^ ^<<SQL>> select id,name || ' - (' || id || ')' from man_reports where id='TUHH_KENNZ' and active=1;^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
48220^200^

14
src-modules/module/rpta/masken/48220_masken_felder_bez.unl

@ -1,14 +0,0 @@ @@ -1,14 +0,0 @@
48220^48220^
48220^48221^
48220^48222^
48220^48223^
48220^48224^
48220^48225^
48220^48226^
48220^48227^
48220^48228^
48220^48229^
48220^48230^
48220^48231^
48220^48232^
48220^48233^

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

@ -1,166 +0,0 @@ @@ -1,166 +0,0 @@
48220^Management-Bericht Kennzahlen^--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,\
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 >= <<Startsemester>> */\
/* and tid <= <<Endsemester>> */\
<#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 from 5 for 1)='2' and val(substring('' || sem_rueck_beur_ein from 1 for 4))="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + " or "/>\
<#assign jahr_filter=jahr_filter + "(substring('' || sem from 5 for 1)='1' and (val(substring('' || sem_rueck_beur_ein from 1 for 4))-1)="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign filter="1=1\
/* and geschlecht=<<Geschlecht>> */\
/* and catalogue_id=<<Kennzahl>> */ \
/* and sem >= <<Startsemester>> */\
/* and sem <= <<Endsemester>> */\
/* and jahr >= <<Start-Jahr>> */\
/* and jahr <= <<End-Jahr>> */\
" />\
\
\
<#assign institutionparam="" />\
/* <#assign institutionparam=<<Institution>> /> */\
<#assign studiengangparam="" />\
/* <#assign studiengangparam="<<Studiengang>>" /> */\
\
--Rechte prüfen:\
--SQL Fehler () abfangen:\
<#assign instRechteList=Institution.allNeededKeysList />\
<#assign studiengangRechteList=Studiengang.allNeededKeysList />\
<#if instRechteList=="()">\
<#assign instRechteList="('-9xy!')" />\
</#if>\
<#if studiengangRechteList=="()">\
<#assign studiengangRechteList="('-9xy!')" />\
</#if>\
--zuerst Rechte prüfen:\
<#assign filter = filter + " and (1!=1 or ch110_institut in "+instRechteList+" or studiengang in "+studiengangRechteList+" )" />\
--jetzt Selektion Inst/Studiengang mit höherer Priorität: \
<#if institutionparam !="" && institutionparam !="'root'">\
<#assign filter = filter + " and ch110_institut in "+.vars["Institution"].allNeededKeys /> \
</#if>\
/* <#assign filter = filter + " and studiengang in "+.vars["Studiengang"].allNeededKeys /> --<<Studiengang>>*/ \
\
\
<#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=filter/>\
\
\
\
</#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>\
@@@^^^Ü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>>;^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
200^48220^

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

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
48250^Beschäftigungsstelle (Person)^1^0^0^200^150^1^char^30^0^12^<<SQL>>select tid,type,name,sortnr from sichten where art in ('SVA-Kostenstellen-Sicht','SVA-spez-Besch./Kostenstellen-Sicht') and aktiv=1 order by sortnr,type,name;^^^
48251^Datum^0^350^-1^150^80^1^date^10^1^0^^^<<SQL>> select today() from xdummy^
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 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^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;^hidden^^
48259^Alter (bis)^21^170^-1^100^70^1^integer^5^0^0^^^^
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 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\
limit 1 \
;^
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^^
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^^^^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
48250^6^

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

@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
48250^48250^
48250^48251^
48250^48252^
48250^48253^
48250^48254^
48250^48255^
48250^48256^
48250^48257^
48250^48258^
48250^48259^
48250^48260^
48250^48262^
48250^48264^
48250^48267^
48250^48269^

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

@ -1,124 +0,0 @@ @@ -1,124 +0,0 @@
48250^Beschäftigungsverhältnisse^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--\
--Autor D. Quathamer 2024\
<sqlvars>\
<sqlvar name="basetable" type="hash"><![CDATA[\
<#assign my_base_rs='sva_pbv_aggr_pgd' />\
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,\
L.sortclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
and L.tid=<<Spaltenlayout>>;\
\
]]></sqlvar>\
<sqlvar name="columns" type="hashsequence"><![CDATA[\
SELECT C.srcfieldname,\
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\
T.uniquename as coltype,\
C.is_aggregate,\
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\
CL.is_visible,\
CL.visible_size as visible_width,\
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.tid=<<Spaltenlayout>>\
/* and C.uniquename in (<<Spalten>>) */\
order by CL.sortnr\
;\
]]></sqlvar>\
</sqlvars>\
\
<#assign filter="sva_pbv_aggr.d_besch_von <= date_val(<<Datum>>) \
and sva_pbv_aggr.d_besch_bis >= date_val(<<Datum>>) "/>\
\
<#assign filter= filter + "\
and sva_pbv_aggr.ch110_besch_st in "+.vars["Beschäftigungsstelle (Person)"].allNeededKeysList + "\
/* and kapitel = <<Kapitel>> */\
/* and titel = <<Titel>> */\
/* and d_befristung <= date_val(<<Befristet bis>>)*/\
/* and teilzeitart in (<<Teilzeitart>>) */\
/* and ca501_staat <<Staatsangehörigkeit>> */\
/* and geschlecht= <<Geschlecht>> */\
/* and ${<<Filter Personal>>} */\
" />\
\
/* <#assign filter = filter + " and sva_pbv_aggr.kostenstelle in "+.vars["Kostenstelle (Person)"].allNeededKeysList /> -- <<Kostenstelle (Person)>> */\
/* <#assign filter = filter + " and sva_pbv_aggr.ca107_dienstart in "+.vars["Dienstart"].allNeededKeysList /> -- <<Dienstart>> */\
/* <#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>> */\
\
\
\
\
\
<#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=filter />\
\
</#if> --wenn columns?has_content^--Freemarker Template\
XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=55\
<#foreach column in columns>\
<#if column.is_visible!=0>\
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\
row_selectable heading_platform readonly\
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^^^Informationen über Stellen und deren Besetzung zu einem bel. Zeitpunkt^ ^^2^700^500^^1^<<SQL>> select 'Achtung: Das Datum des Buttons Institution bzw OrgEinheit (Stelle) unterscheidet sich vom ausgewählten Datum im Maskenfeld.' from xdummy where <<Institution (Stelle)-Stand>> != date_val(<<Datum>>)^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
100^48250^

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

@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
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 kenn_katalog C\
where \
C.id in (select distinct kenn_zahl from sxc_zahl_wert where sxc_bestand_id=<<Bestand>>)\
order by id^ ^ ^
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^
48286^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sxc_zahl_wert'\
and R.systeminfo_id=200)\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sxc_zahl_wert'\
and R.systeminfo_id=200) and uniquename='sxc_zahl_wert_stammdaten_nrw';^
48287^Spalten^3001^0^0^150^190^10^char^30^0^999^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) \
and L.is_visible=1\
order by 2;^ ^ ^
48288^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^
48289^Ausgabeformat^4001^0^0^100^150^1^char^200^0^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^ ^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML';^
48290^Endsemester^8^0^0^140^100^1^integer^30^0^999^<<SQL>> select tid, eintrag from man_semester order by tid DESC;^ ^ ^
48291^End-Jahr^5^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) ;^
48292^Zeitraumtyp^110^0^0^100^150^1^char^30^1^1^<<SQL>> select 'S', 'Semester' from xdummy union select 'J', 'Jahr' from xdummy^hidden^<<SQL>> select 'S', 'Semester' from xdummy^
48293^Bestand^1^0^0^150^200^1^char^30^1^1^<<SQL>> select tid,name from sxc_bestand;^ ^<<SQL>> select tid,name from sxc_bestand order by tid;^
48294^Hochschule^1^0^0^150^200^5^char^30^0^12^<<SQL>> select tid, type, name,sortnr from sichten where art in('SXC_Hochschulen-Sicht') and aktiv=1 order by sortnr desc, name;^ ^ ^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
48280^200^

15
src-modules/module/rpta/masken/48280_masken_felder_bez.unl

@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
48280^48280^
48280^48281^
48280^48282^
48280^48283^
48280^48284^
48280^48285^
48280^48286^
48280^48287^
48280^48288^
48280^48289^
48280^48290^
48280^48291^
48280^48292^
48280^48293^
48280^48294^

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

@ -1,141 +0,0 @@ @@ -1,141 +0,0 @@
48280^SuperX-Connect Kennzahlen^--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,\
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 >= <<Startsemester>> */\
/* and tid <= <<Endsemester>> */\
<#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 from 5 for 1)='2' and val(substring('' || sem_rueck_beur_ein from 1 for 4))="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + " or "/>\
<#assign jahr_filter=jahr_filter + "(substring('' || sem from 5 for 1)='1' and (val(substring('' || sem_rueck_beur_ein from 1 for 4))-1)="+jahr_param+")" />\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign filter="1=1\
/* and hs_nr in (<<Hochschule>>) */\
/* and geschlecht=<<Geschlecht>> */\
/* and kenn_katalog.id in (<<Kennzahl>>) */ \
/* and jahr >= <<Start-Jahr>> */\
/* and jahr <= <<End-Jahr>> */\
" />\
\
\
\
<#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=filter/>\
\
\
</#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>\
@@@^ ^ ^Ü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>>;^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
360^48280^

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

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
48310^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 ('rpta_erfolg_ba_ma_uebergang'))\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_erfolg_ba_ma_uebergang') and uniquename='ba_ma_uebergang_nach_abschluss';^
48311^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;^
48312^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;^ ^ ^
48313^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;^ ^ ^
48314^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
48315^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^ ^
48316^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^
48317^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48318^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48319^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48320^Semester^100^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^hidden^ ^
48321^Richtung^38^0^0^150^190^1^char^30^0^1^<<SQL>>select 'gw','Grundständig zu weiterf.' from xdummy union select 'wg','Weiterf. zu Grundständig' from xdummy order by 1;^ ^ ^
48322^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus where apnr like 'hrst%' order by 2^ ^ ^
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^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>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^^^

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

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

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

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
48310^48310^
48310^48311^
48310^48312^
48310^48313^
48310^48314^
48310^48315^
48310^48316^
48310^48317^
48310^48318^
48310^48319^
48310^48320^
48310^48321^
48310^48322^
48310^48323^
48310^48324^
48310^48325^
48310^48326^
48310^48328^
48310^48332^
48310^48333^

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

@ -1,202 +0,0 @@ @@ -1,202 +0,0 @@
48310^Übergang Bachelor-Master bzw. vorheriger Abschluss bei Master-Studienbeginn^--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 T.name,\
R.is_virtual,\
name as runtime_tablename\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${my_base_rs}'\
and R.is_virtual=0\
\
union\
select R.uniquename,\
R.is_virtual,\
'tmp_' || R.uniquename as runtime_tablename\
from rpta_resultset R where R.uniquename='${my_base_rs}'\
and R.is_virtual=1\
;\
]]>\
</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="SOS_MTKNR_EXT">\
select 1 from xdummy where 0 != (select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)\
union select 0 from xdummy where 0 = (select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)\
;\
</sqlvar>\
\
</sqlvars>\
\
<#assign richtung="" />\
/* <#assign richtung=<<Richtung>> />*/\
<#if richtung="" && rpta_column_layout.whereclause?index_of("gw") != -1>\
<#assign richtung="gw" />\
<#elseif richtung="" && rpta_column_layout.whereclause?index_of("wg") != -1>\
<#assign richtung="wg" />\
<#else>\
<#assign richtung="gw" />\
</#if>\
\
\
<#assign mtknr_filter=basetable.name+".matrikel_nr::varchar(255)" />\
<#if SOS_MTKNR_EXT=1>\
<#assign mtknr_filter=basetable.name+".pseudonym" />\
</#if>\
<#if richtung="gw" >\
<#assign tid_stg_col="abschluss_vorher_tid_stg" />\
<#assign stg_col="abschluss_vorher_stg" />\
<#assign abschluss_col="abschluss_vorher_abschluss" />\
<#assign semester_col="abschluss_vorher_semester" />\
</#if>\
<#if richtung="wg" >\
<#assign tid_stg_col="einschr_nachher_tid_stg" />\
<#assign stg_col="einschr_nachher_stg" />\
<#assign abschluss_col="einschr_nachher_abschluss" />\
<#assign semester_col="einschr_nachher_semester" />\
</#if>\
<#assign filter="1=1" />\
/* <#assign filter=filter+" and richtung='"+richtung+"'" /> --<<Richtung>> */\
\
<#assign studiengang_filter = "" />\
/* <#assign studiengang_filter = Studiengang.allNeededKeysList /> --<<Studiengang>> */ \
<#if studiengang_filter != "" >\
<#assign filter=filter + " and ('s_' || erfolg_ba_ma_uebergang."+tid_stg_col+"_1 in "+ studiengang_filter/> \
<#list 2..5 as fachnr>\
<#assign filter=filter + " or 's_' || erfolg_ba_ma_uebergang."+tid_stg_col+"_"+fachnr+" in "+ studiengang_filter /> \
</#list>\
<#assign filter=filter + ")" />\
</#if>\
\
<#assign fach_filter = "" />\
/* <#assign fach_filter = Fächer.allNeededKeysList /> --<<Fächer>> */ \
<#if fach_filter != "" >\
<#assign filter=filter + " and (erfolg_ba_ma_uebergang."+stg_col+"_1 in "+ fach_filter/> \
<#list 2..5 as fachnr>\
<#assign filter=filter + " or erfolg_ba_ma_uebergang."+stg_col+"_"+fachnr+" in "+ fach_filter /> \
</#list>\
<#assign filter=filter + ")" />\
</#if>\
\
/* \
<#assign filter = filter + " and " +abschluss_col+" in "+Studienabschluss.allNeededKeysList /> --<<Studienabschluss>> */\
\
\
/* <#assign filter=filter+" and "+ semester_col+" >=" + "<<Seit Semester>>" /> */\
/* <#assign filter=filter+" and "+ semester_col+" <=" + "<<Bis Semester>>" /> */\
\
<#assign filter=filter+" \
/* and geschlecht = <<Geschlecht>> */\
/* and einschr_nachher_<<Hörerstatus>>*/\
/* and <<Matrikel-Nr.>>=${mtknr_filter} */\
" />\
\
\
/* \
<#assign filter = filter + " and '' || "+basetable.name+".ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\
\
<#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=filter />\
\
</#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>\
<#if 1=0>\
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 tid=<<Spaltenlayout>>;^

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

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

3
src-modules/module/rpta/masken/48380_felderinfo.unl

@ -1,3 +0,0 @@ @@ -1,3 +0,0 @@
48380^Basistabelle^0^0^0^150^450^1^integer^30^0^1^<<SQL>> select tid, uniquename || ' - ' || caption from rpta_resultset order by caption;^ ^ ^
48381^zu löschendes Spaltenlayout^0^0^0^200^380^1^integer^30^1^1^<<SQL>> select tid, uniquename || ' - ' || caption from rpta_column_layout where 1=1 /* and <<Basistabelle>>=resultset_id*/ order by caption;^^^
48382^gew. Layout löschen?^1^0^0^200^100^1^char^30^1^1^<<SQL>> select 'J', 'ja, Layout löschen' from xdummy union select 'N', 'nein, nicht löschen' from xdummy order by 2;^^^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
48380^9^

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

@ -1,3 +0,0 @@ @@ -1,3 +0,0 @@
48380^48380^
48380^48381^
48380^48382^

46
src-modules/module/rpta/masken/48380_maskeninfo.unl

@ -1,46 +0,0 @@ @@ -1,46 +0,0 @@
48380^Spaltenlayout löschen^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--Layout löschen\
-- Ist nur für User erlaubt, die Administratoren sind\
--Autor: M. Winterstein nach Maske löschen von D. Quathamer\
--Datum: 18.08.2025\
\
--create temp table tmp_loesch (layout_tid integer, layout_uniquename varchar(255), best_tid integer);\
--insert into tmp_loesch(layout_tid, layout_uniquename) \
--values (<<zu löschendes Spaltenlayout>>, <<Spaltenlayout (bestätigen)>>);\
--update tmp_loesch set best_tid=0 where best_tid is null;\
\
<#if <<gew. Layout löschen?>> ='J'>\
delete from rpta_column2layout where layout_id in (<<zu löschendes Spaltenlayout>>)\
and 1=(select administration from userinfo where tid=<<UserID>>);\
delete from rpta_column_layout where tid=<<zu löschendes Spaltenlayout>> \
and 1=(select administration from userinfo where tid=<<UserID>>);\
select sp_update_sequence('rpta_column_layout');\
select sp_update_sequence('rpta_column2layout');\
</#if>\
\
--drop table tmp_ergebnis;\
create temp table tmp_ergebnis \
(sp1 varchar(50),\
sp2 varchar(200)\
); \
insert into tmp_ergebnis \
select 'Ergebnis', 'Spaltenlayout erfolgreich gelöscht' from xdummy where 0= (select count(*) from rpta_column_layout where tid=<<zu löschendes Spaltenlayout>> );\
insert into tmp_ergebnis \
select 'Ergebnis', 'Kein Löschen ausgewählt! Spaltenlayout wurde nicht gelöscht' from xdummy where <<gew. Layout löschen?>> != 'J';\
insert into tmp_ergebnis \
select 'Ergebnis', 'Benutzerrechte reichen nicht aus. Spaltenlayout wurde nicht gelöscht' from xdummy where (select administration from userinfo where tid=<<UserID>>)!= 1;\
\
--drop table tmp_loesch;\
select sp1,sp2 from tmp_ergebnis;^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=2\
min_heading_height=35\
Column CID=0 heading_text="Ergebnis " center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=1 heading_text=" Wert " center_heading\
row_selectable col_selectable heading_platform readonly\
width=150 text_size=200\
@@@^ ^ ^Eine vorhandene Maske löschen^drop table tmp_ergebnis;^^2^440^360^0^1^ ^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
8^48380^

11
src-modules/module/rpta/masken/48410_felderinfo.unl

@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
48410^Basistabelle^0^0^0^150^450^1^integer^30^0^1^<<SQL>> select tid, uniquename || ' - ' || caption from rpta_resultset order by caption;^ ^ ^
48411^Neuer Name^2^0^0^150^250^1^char^100^1^0^^ ^ ^
48412^Neuer Schlüssel^1^0^0^150^200^1^char^30^1^0^^ ^ ^
48413^Erläuterung^12^0^0^150^400^1^char^240^0^0^^ ^ ^
48414^Art der Kopie^1065^0^0^100^150^1^char^30^1^1^<<SQL>> select 'makro','Makrobericht' from xdummy \
union select 'sximport','SX-Importkopie' from xdummy\
union select 'standard','Standardkopie' from xdummy\
;^hidden^<<SQL>> select 'standard','Standardkopie' from xdummy;^
48415^Achtung:^100^0^0^400^450^1^char^100^0^8^<<SQL>> select 'Vorhandene Spaltenlayouts mit gleichem Schlüssel werden überschrieben!' from xdummy;^ ^<<SQL>> select 'Vorhandene Spaltenlayouts mit gleichem Schlüssel werden überschrieben!' from xdummy;^
48416^zu kopierendes Spaltenlayout^1^0^0^150^450^1^integer^30^1^1^<<SQL>> select tid, uniquename || ' - ' || caption from rpta_column_layout where 1=1 /* and <<Basistabelle>>=resultset_id*/ order by caption;^ ^ ^
48417^vorh. Layout überschreiben?^80^0^0^100^150^1^char^30^1^1^<<SQL>> select 'J', 'ja, vorh. Layout überschreiben' from xdummy union select 'N', 'nein, nicht überschreiben' from xdummy order by 2;^ ^<<SQL>> select 'N', 'nein, nicht überschreiben' from xdummy order by 2;^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
48410^9^

8
src-modules/module/rpta/masken/48410_masken_felder_bez.unl

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
48410^48410^
48410^48411^
48410^48412^
48410^48413^
48410^48414^
48410^48415^
48410^48416^
48410^48417^

133
src-modules/module/rpta/masken/48410_maskeninfo.unl

@ -1,133 +0,0 @@ @@ -1,133 +0,0 @@
48410^Spaltenlayout kopieren^--freemarker template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
<sqlvars>\
<sqlvar name="start_serial">\
select max(tid)+1 from rpta_column2layout;\
</sqlvar>\
<sqlvar name="layout_exists">\
select count(*) from rpta_column_layout where uniquename=<<Neuer Schlüssel>>;\
</sqlvar>\
</sqlvars>\
--Autor: D. Quathamer\
--Datum: 2.4.2002\
\
<#assign zeichen1="<"> \
<#assign zeichen2=">"> \
<#assign zeichen3="/"> \
<#if SQLdialect='Postgres'>\
begin work;\
</#if>\
\
create temp table tmp_rpta_column_layout \
(\
tid integer NOT NULL, --vorher serial\
uniquename varchar(255) NOT NULL,\
caption varchar(255),\
resultset_id integer,\
whereclause text,\
description text,\
userinfo_id integer,\
sortnr integer,\
sortclause text,\
is_virtual smallint DEFAULT 1 NOT NULL\
);\
\
create temp table tmp_rpta_column2layout \
(\
tid serial NOT NULL, \
column_id integer,\
layout_id integer,\
sortnr smallint,\
is_visible smallint DEFAULT 1,\
visible_size smallint,\
format_code_id integer,\
targetfieldname varchar(255),\
caption varchar(255),\
description text\
);\
ALTER SEQUENCE tmp_rpta_column2layout_tid_seq RESTART with ${start_serial};\
insert into tmp_rpta_column_layout select * from rpta_column_layout where tid=<<zu kopierendes Spaltenlayout>>;\
\
insert into tmp_rpta_column2layout \
(\
column_id,\
layout_id,\
sortnr,\
is_visible,\
visible_size,\
format_code_id,\
targetfieldname,\
caption,\
description\
)\
select \
column_id,\
layout_id,\
sortnr,\
is_visible,\
visible_size,\
format_code_id,\
targetfieldname,\
caption,\
description\
from rpta_column2layout where layout_id=<<zu kopierendes Spaltenlayout>>;\
\
update tmp_rpta_column_layout set uniquename=<<Neuer Schlüssel>>;\
update tmp_rpta_column_layout set caption=<<Neuer Name>>; \
update tmp_rpta_column_layout set userinfo_id=<<UserID>>;\
/*update tmp_rpta_column_layout set description=<<Erläuterung>>;*/\
\
<#if <<vorh. Layout überschreiben?>> ='J' || layout_exists=0 >\
--Falls das neue Layout bereits existiert, wird es gelöscht:\
delete from rpta_column2layout where layout_id = (select tid from rpta_column_layout where uniquename=<<Neuer Schlüssel>>)\
and (select administration from userinfo where tid=<<UserID>>)= 1;\
delete from rpta_column_layout where uniquename=<<Neuer Schlüssel>>\
and (select administration from userinfo where tid=<<UserID>>)= 1;\
\
update tmp_rpta_column_layout set tid = (select (max(tid)+1) from rpta_column_layout);\
update tmp_rpta_column2layout set layout_id = (select tid from tmp_rpta_column_layout);\
\
\
insert into rpta_column_layout select * from tmp_rpta_column_layout \
where (select administration from userinfo where tid=<<UserID>>)= 1;\
insert into rpta_column2layout select * from tmp_rpta_column2layout \
where (select administration from userinfo where tid=<<UserID>>)= 1;\
select sp_update_sequence('rpta_column_layout');\
select sp_update_sequence('rpta_column2layout');\
\
\
<#if SQLdialect='Postgres'>\
commit;\
</#if>\
</#if>\
\
create temp table tmp_ergebnis \
(sp1 varchar(150),\
sp2 varchar(150), sp3 varchar(150)); \
\
insert into tmp_ergebnis (sp1,sp2)\
select 'Ergebnis', 'Benutzerrechte reichen nicht aus. Spaltenlayout wurde nicht kopiert' from xdummy where (select administration from userinfo where tid=<<UserID>>)!= 1;\
<#if <<vorh. Layout überschreiben?>> ='J' || layout_exists=0 >\
insert into tmp_ergebnis (sp1,sp2,sp3)\
select 'Neues Spaltenlayout:',uniquename || '- ' || caption,'../edit/rpta/rpta_column_layout_edit.jsp|tid=' || tid from rpta_column_layout where tid = (select tid from tmp_rpta_column_layout);\
<#else>\
insert into tmp_ergebnis (sp1,sp2)\
select 'Ergebnis', 'kein Überschreiben gewünscht!' from xdummy ;\
</#if>\
\
\
select sp1,sp2,sp3 as nextedit from tmp_ergebnis ;^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=2\
min_heading_height=35\
Column CID=0 heading_text="Ergebnis " center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=1 heading_text=" Wert " center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=2 heading_text=" Bearbeiten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
@@@^ ^ ^Eine neue Maske kopieren^drop table tmp_ergebnis;drop table tmp_rpta_column_layout;drop table tmp_rpta_column2layout;^^2^440^360^^1^^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
8^48410^

41
src-modules/module/rpta/masken/48430_felderinfo.unl

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
48430^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 ('rpta_zul_antr_aggr','rpta_zul_antr_aggr_archiv')\
and R.systeminfo_id=130)\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_zul_antr_aggr_archiv'\
and R.systeminfo_id=130);^
48431^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select case when tid % 10 = 1 then tid+1 else tid+9 end,\
(select eintrag from semester where tid in \
(select case when tid % 10 = 1 then tid+1 else tid+9 end from semester where today() between sem_beginn and sem_ende)) \
from semester \
where today() between sem_beginn and sem_ende;^
48432^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48433^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;^ ^ ^
48434^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^999^^ ^ ^
48435^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^ ^
48436^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^ ^ ^
48437^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select case when tid % 10 = 1 then tid+1 else tid+9 end,\
(select eintrag from semester where tid in \
(select case when tid % 10 = 1 then tid+1 else tid+9 end from semester where today() between sem_beginn and sem_ende)) \
from semester \
where today() between sem_beginn and sem_ende;^
48438^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48439^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48440^Semester^100^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^hidden^ ^
48441^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
48442^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^ ^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48443^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^
48444^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;^ ^ ^
48445^Nur Endsemester^21^0^0^140^80^1^integer^30^0^999^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
48446^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^13^^ ^ ^
48448^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
48452^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;^ ^ ^
48453^Spalten^3001^0^0^150^190^10^char^30^0^999^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^
48454^Bewerbungen^1^0^0^150^200^1^sql^30^0^1^<<SQL>> select '=1 and antrnr=1','Antragsfächer (je 1. Fach des 1. Antrages)' from xdummy union select '=1','Anträge (je 1. Fach)' from xdummy union select '= fachnr and antrnr=1','Antragsfächer (des 1. Antrages)' from xdummy union select '=fachnr','Antragsfächer (alle)' from xdummy order by 2;^^<<SQL>> select '=1 and antrnr=1','Antragsfächer (je 1. Fach des 1. Antrages)' from xdummy;^

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

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

21
src-modules/module/rpta/masken/48430_masken_felder_bez.unl

@ -1,21 +0,0 @@ @@ -1,21 +0,0 @@
48430^48430^
48430^48431^
48430^48432^
48430^48433^
48430^48434^
48430^48435^
48430^48436^
48430^48437^
48430^48438^
48430^48439^
48430^48440^
48430^48441^
48430^48442^
48430^48443^
48430^48444^
48430^48445^
48430^48446^
48430^48448^
48430^48452^
48430^48453^
48430^48454^

157
src-modules/module/rpta/masken/48430_maskeninfo.unl

@ -1,157 +0,0 @@ @@ -1,157 +0,0 @@
48430^Bewerbungen und Zulassungen^--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 T.name,\
R.is_virtual,\
name as runtime_tablename\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${my_base_rs}'\
and R.is_virtual=0\
\
union\
select R.uniquename,\
R.is_virtual,\
'tmp_' || R.uniquename as runtime_tablename\
from rpta_resultset R where R.uniquename='${my_base_rs}'\
and R.is_virtual=1\
;\
]]>\
</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 semester_filter ="1=1\
/* and bewsem >= <<Seit Semester>> */\
/* and bewsem <= <<Bis Semester>> */\
" />\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
<#assign semester_filter = semester_filter+ " and substring('' || bewsem from 5 for 1)='<<Semestertyp>>'" />\
</#if>\
<#if "<<Nur Endsemester>>"="1">\
--nur Endsemester\
<#assign semester_filter = semester_filter+ " and 1=1 and bewsem = "+endsemester /> \
</#if>\
\
<#assign filter="1=1\
/* and bewsem = <<Semester>> */\
--/* and stichtag = <<Stichtag>> */\
--/* and <<Hochschulzugangsberechtigung>> */\
--/* and <<Hörerstatus>>*/\
/* and geschlecht = <<Geschlecht>> */\
/* and substring('' || bewsem from 5 for 1)='<<Semestertyp>>' */\
/* and ${<<Filter Studierende>>} */\
/* and fachnr <<Bewerbungen>> */\
" />\
\
<#assign filter= filter + " and " + semester_filter />\
\
\
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
/* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\
/* <#assign filter = filter + " and stg in "+Fächer.allNeededKeysList /> --<<Fächer>> */\
/* <#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>\
<#if 1=0>\
Column CID=0 heading_text="sortnr" center_heading explanation=""\
row_selectable heading_platform readonly\
width=5 text_size=60\
</#if>\
@@@^Studienfach^Anzahl bzw. Anteil^Bewerbungen und Zulassungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
130^48430^

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

@ -1,25 +0,0 @@ @@ -1,25 +0,0 @@
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} )\
</#if>\
and sem_beginn <=today()\
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^
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)\
order by sortnr, caption\
;^^<<SQL>> SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='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^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
48460^200^

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

@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
48460^48460^
48460^48461^
48460^48462^
48460^48463^
48460^48464^
48460^48466^
48460^48468^

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

@ -1,119 +0,0 @@ @@ -1,119 +0,0 @@
48460^Kontostände Finanzbuchhaltung^--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 T.name,\
R.is_virtual,\
name as runtime_tablename\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${my_base_rs}'\
and R.is_virtual=0\
\
union\
select R.uniquename,\
R.is_virtual,\
'tmp_' || R.uniquename as runtime_tablename\
from rpta_resultset R where R.uniquename='${my_base_rs}'\
and R.is_virtual=1\
;\
]]>\
</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="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>\
</sqlvars>\
\
\
<#assign filter="fin_konto_aggr.rechnungsjahr BETWEEN ("+jahr_filter+"-4) AND "+jahr_filter />\
\
<#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=filter/>\
\
\
</#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>\
@@@^^^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>>;^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
50^48460^

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

@ -1,40 +0,0 @@ @@ -1,40 +0,0 @@
48490^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';^
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} )\
</#if>\
and sem_beginn <=today()\
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} )\
</#if>\
and sem_beginn <=today()\
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>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7)\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^
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^

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

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

384
src-modules/module/rpta/schluesseltabellen/absolvierende_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

400
src-modules/module/rpta/schluesseltabellen/bewerbungen_datenblatt_historisiert_virtuell.sql

@ -1,400 +0,0 @@ @@ -1,400 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="zul_antr_aggr_archiv_exists">
select sp_table_exists('zul_antr_aggr_archiv') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='zul_antr_aggr_archiv'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
</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 zul_antr_aggr_archiv_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_zul_antr_aggr_archiv", "caption":"Bewerbungen und Zulassungen 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 = 'Institution'
-- WHERE name='man_organigramm';
-- 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;
update sx_fields set
is_sum=0
where table_name='zul_antr_aggr_archiv'
and name not in ('value','value1','value2');
update sx_fields set
is_sum=1
where table_name='zul_antr_aggr_archiv'
and name in ('value','value1','value2');
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}',
130
;
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 zul_antr_aggr_archiv_exists=1

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

@ -1,431 +0,0 @@ @@ -1,431 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="zul_antr_aggr_exists">
select sp_table_exists('zul_antr_aggr') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='zul_antr_aggr'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 10::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'zul_antr_aggr.stg=zul_k_stg.apnr' as joinclause
from sx_tables where name in ('zul_k_stg')
union
select 20::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'zul_antr_aggr.abschl=zul_k_abint.apnr' as joinclause
from sx_tables where name in ('zul_k_abint')
union
select 30::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'zul_antr_aggr.stort=zul_k_stort.apnr' as joinclause
from sx_tables where name in ('zul_k_stort')
</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 zul_antr_aggr_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_zul_antr_aggr", "caption":"Bewerbungen und Zulassungen"}
/>
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 = 'Abschlüsse'
WHERE name='zul_k_abint';
update sx_fields set caption='Schlüssel Abschluss'
where table_name='zul_k_abint'
and name='apnr';
update sx_fields set caption='Bezeichnung Abschluss'
where table_name='zul_k_abint'
and name='druck';
update sx_fields set caption='Amtlicher Schlüssel Abschluss'
where table_name='zul_k_abint'
and name='astat';
update sx_fields set currentlyused=0
where table_name='zul_k_abint'
and name='tid';
UPDATE sx_tables
SET caption = 'Standorte'
WHERE name='zul_k_stort';
update sx_fields set caption='Schlüssel Standort'
where table_name='zul_k_stort'
and name='apnr';
update sx_fields set caption='Bezeichnung Standort'
where table_name='zul_k_stort'
and name='druck';
update sx_fields set caption='Kurztext Abschluss'
where table_name='zul_k_stort'
and name='kurz';
update sx_fields set currentlyused=0
where table_name='zul_k_stort'
and name='tid';
--drop view if exists sos_stud_astat;
update sx_fields set
is_sum=0
where table_name='zul_antr_aggr'
and name not in ('summe');
update sx_fields set
is_sum=1
where table_name='zul_antr_aggr'
and name in ('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}',
130
;
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 zul_antr_aggr_exists=1

405
src-modules/module/rpta/schluesseltabellen/erfolg_ba_ma_uebergang_datenblatt_virtuell.sql

@ -1,405 +0,0 @@ @@ -1,405 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="erfolg_ba_ma_uebergang_exists">
select sp_table_exists('erfolg_ba_ma_uebergang') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='erfolg_ba_ma_uebergang'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name ,
trim(name) || '_abschluss_vorher_1_' as prefix,
caption ||' 1 (Abschluss vorher)' as caption,
'dim_studiengang.tid=erfolg_ba_ma_uebergang.abschluss_vorher_tid_stg_1' as joinclause
from sx_tables where name in ('dim_studiengang')
union
select 20::smallint as sortnr,
name,
trim(name) || '_abschlussart_vorher_' as prefix,
caption ||' 1 (Abschlussart vorher)' as caption,
'erfolg_ba_ma_uebergang.abschluss_vorher_abschlussart=erfolg_ba_ma_abschlussart.apnr and erfolg_ba_ma_abschlussart.key=1' as joinclause
from sx_tables where name in ('erfolg_ba_ma_abschlussart')
union
select 30::smallint as sortnr,
name,
trim(name) || '_abschluss_vorher_' as prefix,
caption ||' (Abschluss vorher)' as caption,
'erfolg_ba_ma_uebergang.abschluss_vorher_abschluss=sos_k_abint.apnr' as joinclause
from sx_tables where name in ('sos_k_abint')
union
select 40::smallint as sortnr,
name,
trim(name) || '_einschr_nachher_' as prefix,
caption ||' (Einschr. nachher)' as caption,
'erfolg_ba_ma_uebergang.einschr_nachher_abschluss=k_abint.abint' as joinclause
from sx_tables where name in ('k_abint')
</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 erfolg_ba_ma_uebergang_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_erfolg_ba_ma_uebergang", "caption":"Übergang Bacherlor - Master"}
/>
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='erfolg_ba_ma_uebergang'
and name!='summe';
update sx_fields set
is_sum=1
where table_name='erfolg_ba_ma_uebergang'
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}',
120
;
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 erfolg_ba_ma_uebergang_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

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

@ -1,9 +1,8 @@ @@ -1,9 +1,8 @@
96^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
84^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
caption varchar(255),\
caption_in_ergebnistabelle varchar(255),\
srcfieldname varchar(255),\
targetfieldname varchar(255),\
column_type integer,\
@ -14,7 +13,6 @@ CREATE temp TABLE tmp_rpta_column\ @@ -14,7 +13,6 @@ CREATE temp TABLE tmp_rpta_column\
resultset_id integer,\
sortnr integer,\
description TEXT,\
description_in_ergebnistabelle TEXT,\
format_code_uniquename varchar(255),\
format_code_id integer\
);\
@ -25,9 +23,7 @@ CREATE temp TABLE tmp_rpta_column_layout\ @@ -25,9 +23,7 @@ CREATE temp TABLE tmp_rpta_column_layout\
caption varchar(255),\
resultset_id integer,\
whereclause text,\
sortclause text,\
description text,\
is_virtual smallint default 1\
description text\
);\
\
insert into tmp_rpta_column_layout(\
@ -35,24 +31,12 @@ resultset_id,\ @@ -35,24 +31,12 @@ resultset_id,\
uniquename,\
caption,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
</#if>\
<#if rpta_column_layout.is_virtual?has_content>\
is_virtual,\
</#if>\
description\
)\
select tid,\
'${rpta_column_layout.uniquename}',\
'${rpta_column_layout.caption}',\
'${rpta_column_layout.whereclause}',\
<#if rpta_column_layout.sortclause?has_content>\
'${rpta_column_layout.sortclause}',\
</#if>\
<#if rpta_column_layout.is_virtual?has_content>\
'${rpta_column_layout.is_virtual}',\
</#if>\
'${rpta_column_layout.description}'\
FROM rpta_resultset\
where uniquename='${rpta_column_layout.rpta_resultset}';\
@ -65,7 +49,6 @@ INSERT INTO tmp_rpta_column\ @@ -65,7 +49,6 @@ INSERT INTO tmp_rpta_column\
(resultset_id,\
uniquename,\
caption,\
caption_in_ergebnistabelle,\
srcfieldname,\
targetfieldname,\
column_type,\
@ -75,31 +58,20 @@ INSERT INTO tmp_rpta_column\ @@ -75,31 +58,20 @@ INSERT INTO tmp_rpta_column\
is_aggregate,\
sortnr,\
description,\
description_in_ergebnistabelle,\
format_code_uniquename\
)\
select R.tid,\
'${column.uniquename}',\
<#if column.caption?exists>\
'${column.caption}',\
<#else>\
'${column.caption_der_spalte}',\
</#if>\
<#if column.caption_in_ergebnistabelle?exists>\
'${column.caption_in_ergebnistabelle}',\
<#else>\
'${column.caption}',\
</#if>\
'${column.srcfieldname}',\
<#if !column.targetfieldname?exists || column.targetfieldname=="">'${column.srcfieldname}' <#else>'${column.targetfieldname}' </#if>,\
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,\
T.tid as column_type,\
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,\
${column.is_visible},\
${column.visible_size},\
${column.is_aggregate},\
${sortnr*10},\
<#if column.description?exists>'${column.description}'<#elseif column.description_der_spalte?exists>'${column.description_der_spalte}'<#else>null::varchar </#if>,\
<#if column.description_in_ergebnistabelle?exists>'${column.description_in_ergebnistabelle}'<#elseif column.description?exists>'${column.description}'<#else>null::varchar </#if>,\
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>,\
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>\
FROM rpta_resultset R, rpta_column_type T\
where R.uniquename='${rpta_column_layout.rpta_resultset}'\
@ -128,672 +100,6 @@ from rpta_column_layout\ @@ -128,672 +100,6 @@ from rpta_column_layout\
where resultset_id in (select tid\
FROM rpta_resultset\
where uniquename='${rpta_column_layout.rpta_resultset}')\
and resultset_id in (select tid\
FROM rpta_resultset\
where uniquename='${rpta_column_layout.rpta_resultset}')\
;\
--falls neu\
insert into rpta_column_layout\
(uniquename,\
caption,\
resultset_id,\
whereclause,\
sortclause,\
description,\
is_virtual)\
select uniquename,\
caption,\
resultset_id,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
<#else>\
null::text as sortclause,\
</#if>\
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,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
<#else>\
null::text as sortclause,\
</#if>\
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='${rpta_column_layout.rpta_resultset}'\
and L.uniquename='${rpta_column_layout.uniquename}'\
)\
; \
\
select * into temp tmp_rpta_column2 \
from tmp_rpta_column T \
where (resultset_id,uniquename) not in\
(select resultset_id,uniquename from rpta_column);\
\
INSERT INTO rpta_column\
(resultset_id,\
uniquename,\
caption,\
srcfieldname,\
targetfieldname,\
column_type,\
col_function,\
is_aggregate,\
description,\
custom\
)\
select \
resultset_id,\
uniquename,\
caption,\
srcfieldname,\
targetfieldname,\
column_type,\
col_function,\
is_aggregate,\
description,\
0 as custom\
from tmp_rpta_column2; \
\
--evtl. neuen Satz einfügen, dann alle updaten\
\
update rpta_column set ( caption,\
srcfieldname,\
targetfieldname,\
column_type,\
col_function,\
is_aggregate,\
description)\
= (select caption,\
srcfieldname,\
targetfieldname,\
column_type,\
col_function,\
is_aggregate,\
description\
from tmp_rpta_column T\
where T.resultset_id=rpta_column.resultset_id\
and T.uniquename=rpta_column.uniquename)\
where custom=0\
and (resultset_id,uniquename) in\
(select T.resultset_id,T.uniquename\
from tmp_rpta_column T)\
;\
\
drop table tmp_rpta_column2;\
\
insert into rpta_column2layout(column_id,\
layout_id,\
sortnr,\
is_visible,\
visible_size,\
caption,\
description,\
format_code_id)\
select C.tid as column_id,\
L.tid as layout_id,\
T.sortnr,\
T.is_visible,\
T.visible_size,\
T.caption_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='${rpta_column_layout.uniquename}'\
and L.resultset_id=T.resultset_id\
;\
drop table tmp_rpta_column;\
drop TABLE tmp_rpta_column_layout;\
drop TABLE tmp_rpta_column2layout;\
</#macro>\
\
<#macro rpta_interpret_column_layout nonvirtualTableFilter>\
<#assign columnLayoutHasTreeColumn=0 />\
\
<#assign treeColumnSrcFieldname="" />\
<#assign treeColumnTargetFieldname="" />\
<#assign treeColumnMaskFieldname="" />\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype=="treeColumn">\
<#assign columnLayoutHasTreeColumn=1 />\
<#assign treeColumnSrcFieldname=column.srcfieldname />\
<#assign treeColumnTargetFieldname=column.targetfieldname />\
<#assign treeColumnMaskFieldname=column.colfunction />\
null::varchar(255) as ${column.targetfieldname},\
<#elseif column.coltype=="physicalColumn">\
${column.srcfieldname} as ${column.targetfieldname},\
<#elseif column.coltype=="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype=="preparingColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype=="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype=="computedColumn" || column.coltype=="processingColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
where 1=1 \
<#if rpta_column_layout.whereclause !="">\
and ${rpta_column_layout.whereclause}\
</#if>\
<#if basetable.is_virtual==0>\
and ${nonvirtualTableFilter}\
</#if>\
;\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
-- preparingColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns immer mitnehmen, da später im finalen select verarbeitet\
<#foreach column in columns>\
<#if (column.is_aggregate==0 && column.coltype!="preparingColumn" && column.coltype!="processingColumn") || column.coltype=="computedColumn"> \
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
<#elseif column.is_aggregate==0 && column.coltype=="processingColumn"> \
<#assign groupby=groupby+1 />\
<#if column.colfunction?has_content>\
${column.colfunction} as ${column.targetfieldname},\
<#else>\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
</#if>\
</#foreach>\
--dann die Aggregate:\
-- preparingColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\
<#foreach column in columns>\
<#if 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},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
;\
--für Prozentwerte alle Aggregate summieren:\
select \
<#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
<#if columnLayoutHasTreeColumn==1>\
<#assign columnLayoutWithTreeColumnAdditionalGrouping=sichtHasAdditionalGrouping(treeColumnTargetFieldname) />\
\
--Sichtaufbau:\
--Zuerst leere Zieltabelle anlegen:\
select \
<#foreach column in columns>\
${column.targetfieldname},\
</#foreach>\
null::integer as sortnr\
into temp tmp_stud3\
from tmp_stud\
where 1=0;\
--maxEbene ermitteln:\
<#assign maxEbene=0 />\
<#foreach einElement in .vars[treeColumnMaskFieldname].elements>\
<#if einElement.level &gt; maxEbene >\
<#assign maxEbene=einElement.level />\
</#if>\
</#foreach>\
-- ##################################################\
-- ######## Start der Schleife ######################\
-- ##################################################\
<#assign sortnr=0>\
--Schleife, über Fächer im ausgewählten Baum, Reihenfolge genau wie im Baum\
--diese Kommentare werden schon im 1. Schritt von generateSql gelöscht\
--für Entwicklungszwecke kann man tricksen\
<@addcomment "SCHLEIFE"/>\
\
<#foreach einElement in .vars[treeColumnMaskFieldname].elements>\
<@addcomment "${einElement.name}"/>\
\
--zuerst Summenzeile:\
<#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 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>\
${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 tmp_stud2\
from tmp_stud3;\
drop table tmp_stud3;\
--Ende Sicht\
</#if>\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign myfieldclause=column.targetfieldname />\
<#if column.coltype=="computedColumn">\
<#assign myfieldclause=column.colfunction />\
</#if>\
<@format_code2sql selectclause=myfieldclause format_code_uniquename=column.format_uniquename format_sql=column.format_sql /> as ${column.targetfieldname}\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> \
</#foreach>\
from tmp_stud2\
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>\
</#list>\
</#if>\
;\
\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
\
</#macro>\
\
<#function sichtHasAdditionalGrouping treeColumnTargetFieldnameParam>\
<#assign ret="" />\
<#foreach column in columns>\
<#if column.targetfieldname !=treeColumnTargetFieldnameParam\
&& column.targetfieldname!="ebene"\
&& column.is_aggregate==0 \
>\
<#assign ret=column.targetfieldname />\
</#if>\
</#foreach>\
<#return ret />\
</#function>\
<#macro rpta_column_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
caption varchar(255),\
caption_in_ergebnistabelle varchar(255),\
srcfieldname varchar(255),\
targetfieldname varchar(255),\
column_type integer,\
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\
);\
\
<#assign sortnr=0 />\
<#foreach column in rpta_columns>\
<#assign sortnr=sortnr +1 />\
\
INSERT INTO tmp_rpta_column\
(resultset_id,\
uniquename,\
caption,\
srcfieldname,\
targetfieldname,\
column_type,\
col_function,\
is_visible,\
visible_size,\
is_aggregate,\
sortnr,\
description,\
format_code_uniquename\
)\
select R.tid,\
'${column.uniquename}',\
<#if column.caption?exists>\
'${column.caption}',\
<#else>\
'${column.caption_der_spalte}',\
</#if>\
'${column.srcfieldname}',\
<#if !column.targetfieldname?exists || column.targetfieldname=="">'${column.srcfieldname}' <#else>'${column.targetfieldname}' </#if>,\
T.tid as column_type,\
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,\
0,\
0,\
${column.is_aggregate},\
${sortnr*10},\
<#if column.description?exists>'${column.description}'<#elseif column.description_der_spalte?exists>'${column.description_der_spalte}'<#else>null::varchar </#if>,\
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>\
FROM rpta_resultset R, rpta_column_type T\
where R.uniquename='${rpta_column_resultset.rpta_resultset}'\
and T.uniquename='${column.column_type}';\
\
</#foreach>\
\
update tmp_rpta_column set format_code_id=C.tid\
from rpta_format_code C\
where C.uniquename=tmp_rpta_column.format_code_uniquename\
and format_code_uniquename is not null;\
\
\
select * into temp tmp_rpta_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;\
\
drop table tmp_rpta_column;\
</#macro>\
\
<#macro rpta_column2layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
caption varchar(255),\
caption_in_ergebnistabelle varchar(255),\
srcfieldname varchar(255),\
targetfieldname varchar(255),\
column_type_u 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,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
</#if>\
<#if rpta_column_layout.is_virtual?has_content>\
is_virtual,\
</#if>\
description\
)\
select tid,\
'${rpta_column_layout.uniquename}',\
'${rpta_column_layout.caption}',\
'${rpta_column_layout.whereclause}',\
<#if rpta_column_layout.sortclause?has_content>\
'${rpta_column_layout.sortclause}',\
</#if>\
<#if rpta_column_layout.is_virtual?has_content>\
'${rpta_column_layout.is_virtual}',\
</#if>\
'${rpta_column_layout.description}'\
FROM rpta_resultset\
where uniquename='${rpta_column_layout.rpta_resultset}';\
\
<#assign sortnr=0 />\
<#foreach column in rpta_columns>\
<#assign sortnr=sortnr +1 />\
\
INSERT INTO tmp_rpta_column\
(resultset_id,\
uniquename,\
caption,\
caption_in_ergebnistabelle,\
srcfieldname,\
targetfieldname,\
column_type_u,\
col_function,\
is_visible,\
visible_size,\
is_aggregate,\
sortnr,\
description,\
description_in_ergebnistabelle,\
format_code_uniquename\
)\
select R.tid,\
'${column.uniquename}',\
<#if column.caption?exists>\
'${column.caption}'\
<#elseif column.caption_der_spalte?exists>\
'${column.caption_der_spalte}'\
<#else> null::varchar\
</#if>,\
<#if column.caption_in_ergebnistabelle?exists>\
'${column.caption_in_ergebnistabelle}'\
<#else> null::varchar\
</#if>,\
<#if column.srcfieldname?exists> '${column.srcfieldname}' <#else>null::varchar </#if>,\
<#if column.srcfieldname?exists>\
<#if !column.targetfieldname?exists || column.targetfieldname=="">'${column.srcfieldname}' <#else>'${column.targetfieldname}' </#if>\
<#else> null::varchar </#if>,\
<#if column.column_type?exists> '${column.column_type}' <#else> null::varchar </#if>,\
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,\
${column.is_visible},\
${column.visible_size},\
<#if column.is_aggregate?exists> ${column.is_aggregate} <#else>null </#if>,\
${sortnr*10},\
<#if column.description?exists>'${column.description}'<#elseif column.description_der_spalte?exists>'${column.description_der_spalte}'<#else>null::varchar </#if>,\
<#if column.description_in_ergebnistabelle?exists>'${column.description_in_ergebnistabelle}'<#elseif column.description?exists>'${column.description}'<#else>null::varchar </#if>,\
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>\
FROM rpta_resultset R \
where R.uniquename='${rpta_column_layout.rpta_resultset}';\
\
\
</#foreach>\
\
update tmp_rpta_column set column_type=C.tid\
from rpta_column_type C\
where C.uniquename=tmp_rpta_column.column_type_u;\
\
\
update tmp_rpta_column set format_code_id=C.tid\
from rpta_format_code C\
where C.uniquename=tmp_rpta_column.format_code_uniquename\
and format_code_uniquename is not null;\
\
\
select * into temp tmp_rpta_column2layout\
from rpta_column2layout\
where layout_id in (select L.tid\
from rpta_column_layout L,rpta_resultset R\
where R.tid=L.resultset_id \
and R.uniquename='${rpta_column_layout.rpta_resultset}'\
and L.uniquename='${rpta_column_layout.uniquename}'\
)\
; \
\
select uniquename into temp tmp_rpta_column_layout_target\
from rpta_column_layout\
where resultset_id in (select tid\
FROM rpta_resultset\
where uniquename='${rpta_column_layout.rpta_resultset}')\
and uniquename in (select uniquename from tmp_rpta_column_layout)\
;\
--falls neu\
@ -802,37 +108,21 @@ insert into rpta_column_layout\ @@ -802,37 +108,21 @@ insert into rpta_column_layout\
caption,\
resultset_id,\
whereclause,\
sortclause,\
description,\
is_virtual)\
description)\
select uniquename,\
caption,\
resultset_id,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
<#else>\
null::text as sortclause,\
</#if>\
description,\
is_virtual\
description\
FROM tmp_rpta_column_layout T\
where not exists (select T2.uniquename from tmp_rpta_column_layout_target T2\
where T2.uniquename=T.uniquename);\
where not exists (select uniquename from tmp_rpta_column_layout_target);\
\
--falls geändert, uniquename muss bleiben\
update rpta_column_layout\
--set (caption, resultset_id, whereclause,<#if rpta_column_layout.sortclause?has_content>sortclause,</#if> description, is_virtual)\
set (caption, resultset_id, whereclause,sortclause, description, is_virtual)\
set (caption, resultset_id, whereclause, description)\
= ( select caption, resultset_id,\
whereclause,\
<#if rpta_column_layout.sortclause?has_content>\
sortclause,\
<#else>\
null::text as sortclause,\
</#if>\
description,\
is_virtual\
description\
FROM tmp_rpta_column_layout T\
where T.uniquename=rpta_column_layout.uniquename)\
where rpta_column_layout.uniquename=(select uniquename from tmp_rpta_column_layout);\
@ -900,10 +190,7 @@ update rpta_column set ( caption,\ @@ -900,10 +190,7 @@ update rpta_column set ( caption,\
where custom=0\
and (resultset_id,uniquename) in\
(select T.resultset_id,T.uniquename\
from tmp_rpta_column T\
--nur die aus diesem Durchgang\
where T.description is not null\
)\
from tmp_rpta_column T)\
;\
\
drop table tmp_rpta_column2;\
@ -921,8 +208,8 @@ select C.tid as column_id,\ @@ -921,8 +208,8 @@ select C.tid as column_id,\
T.sortnr,\
T.is_visible,\
T.visible_size,\
T.caption_in_ergebnistabelle,\
T.description_in_ergebnistabelle,\
T.caption,\
T.description,\
T.format_code_id\
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T\
where C.uniquename=T.uniquename\
@ -933,16 +220,4 @@ and L.resultset_id=T.resultset_id\ @@ -933,16 +220,4 @@ and L.resultset_id=T.resultset_id\
drop table tmp_rpta_column;\
drop TABLE tmp_rpta_column_layout;\
drop TABLE tmp_rpta_column2layout;\
</#macro>\
\
<#macro format_code2sql selectclause format_code_uniquename format_sql>\
<#if format_code_uniquename=="MASK_ZERO">\
(case when ${selectclause}=0 then null else ${selectclause} end)\
<#elseif format_code_uniquename=="MASK_ZERO_INT">\
(case when ${selectclause}=0 then null::integer else ${selectclause}::integer end)\
<#elseif format_sql=="">\
${selectclause}\
<#else>\
${selectclause}${format_sql}\
</#if>\
</#macro>^Makros zum Umgang mit Spaltenlayouts^ ^1^
</#macro>^Makros zum Umgang mit Spaltenlayouts^^1^

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

@ -1,27 +1,10 @@ @@ -1,27 +1,10 @@
--freemarker template
-- für das RPTA-Makro wird schleifenrelation type text benötigt
-- Umstellung auf schleifenrelation type text erfolgt in Kern 5.3
-- nach kern 5.3-Installation kann folgender alter table entfernt werden
alter table macro_masken_bez alter column schleifenrelation type text;
<#assign makros = [
{"tid":"48140"}
] />
<#assign masken = [
{"makro":"48140", "tid":"48110", "sortnr":"10",
"schleifenrelation":"<<SQL>>
SELECT DISTINCT
((((''_''::text || COALESCE(c.lid, btrim(l.fb::text)::character varying)::text) || ''_''::text) || btrim(l.stg::text)) || ''_''::text) || btrim(l.abschluss::text) AS apnr,
(btrim(k.dtxt::text) || '' ''::text) || ((( SELECT a.druck FROM cifx a WHERE a.key = 35 AND a.apnr = l.abschluss))::text) AS druck
FROM
k_stg k,
lehr_stg_ab l
LEFT JOIN cifx c ON c.key = 90 AND (c.sourcesystem = ANY (ARRAY[5, 6, 10, 12, 15])) AND c.apnr = l.fb
WHERE k.stg = l.stg
and c.apnr=<<Fachbereich>>
and l.abschluss in (''BA'',''MA'')",
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"}
{"makro":"48140", "tid":"48110", "sortnr":"10", "schleifenrelation":"<<SQL>>select ''s_'' || tid,text from lehr_stg_ab where stg in (<<Fächer>>) order by 2",
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"}
] />
<#assign felder = [
] />
@ -32,7 +15,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez ( @@ -32,7 +15,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez (
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL,
schleifenrelation text,
schleifenrelation character(255),
schleifenfeldname character(255),
alias character(255),
schleifenfstand character(255),

417
src-modules/module/rpta/schluesseltabellen/management_datenblatt_virtuell.sql

@ -1,417 +0,0 @@ @@ -1,417 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="man_kennz_aggr_exists">
select sp_table_exists('man_kennz_aggr') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='man_kennz_aggr'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence">
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'man_studiengang.tid_ref=man_kennz_aggr.studiengang' as joinclause
from sx_tables where name in ('man_studiengang')
union
select 10::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'man_organigramm.key_apnr=man_kennz_aggr.ch110_institut' as joinclause
from sx_tables where name in ('man_organigramm')
union
select 20::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'man_catalogue.id=man_kennz_aggr.catalogue_id' as joinclause
from sx_tables where name in ('man_catalogue')
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 man_kennz_aggr_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"rpta_man_kennz_aggr", "caption":"Management Kennzahlen"}
/>
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 = 'Institution'
WHERE name='man_organigramm';
-- 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;
update sx_fields set
is_sum=0
where table_name='man_kennz_aggr'
and name not in ('value','value1','value2');
update sx_fields set
is_sum=1
where table_name='man_kennz_aggr'
and name in ('value','value1','value2');
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}',
200
;
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 man_kennz_aggr_exists=1

472
src-modules/module/rpta/schluesseltabellen/personal_virtuell.sql

@ -1,472 +0,0 @@ @@ -1,472 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sva_pbv_aggr_exists">
select sp_table_exists('sva_pbv_aggr') from xdummy;
</sqlvar>
<sqlvar name="fact_table_source">
select name
from sx_tables where name ='sva_pbv_aggr'
</sqlvar>
<sqlvar name="added_tables" type="hashsequence"><![CDATA[
--Vorbereitung:
UPDATE sx_tables
SET caption = 'Personen-Grunddaten'
WHERE name='sva_pgd';
UPDATE sx_tables
SET caption = 'Arbeitszeit'
WHERE name='sva_paz';
UPDATE sx_tables
SET caption = 'Finanzierung'
WHERE name='sva_pfi';
select 1::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_pgd.pgd_join_id=sva_pbv_aggr.personal_nr' as joinclause
from sx_tables where name in ('sva_pgd')
union select 5::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_paz.pgd_join_id=sva_pbv_aggr.personal_nr and sva_paz.pbv_nr=sva_pbv_aggr.besch_verh_nr and sva_pbv_aggr.d_besch_von between sva_paz.von and sva_paz.bis' as joinclause
from sx_tables where name in ('sva_paz')
union select 7::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_pfi.pfi_serial=sva_pbv_aggr.pfi_serial ' as joinclause
from sx_tables where name in ('sva_pfi')
union select 10::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_k_dienstart.apnr=sva_pbv_aggr.ca107_dienstart' as joinclause
from sx_tables where name in ('sva_k_dienstart')
union select 20::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_k_amtsdienst.apnr=sva_pbv_aggr.ca108_amtsbez' as joinclause
from sx_tables where name in ('sva_k_amtsdienst')
union select 30::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_k_vertragsart.apnr=sva_pbv_aggr.vertart' as joinclause
from sx_tables where name in ('sva_k_vertragsart')
union select 40::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_k_bvlgruppe.apnr=sva_pbv_aggr.ca109_key_bvl' as joinclause
from sx_tables where name in ('sva_k_bvlgruppe')
union select 50::smallint as sortnr,
name, trim(name) ||'_' as prefix,
caption,
'sva_k_funktionsart.apnr=sva_pbv_aggr.funktionsart' as joinclause
from sx_tables where name in ('sva_k_funktionsart')
]]></sqlvar>
<sqlvar name="fields_target" type="hashsequence"><![CDATA[
<#if fact_table_source?exists>
select tid, table_name,
name,
name as targetname
from sx_fields where table_name ='${fact_table_source}'
and currentlyused=1
union
</#if>
select tid,table_name,
name,
'sva_pgd_' || name as targetname
from sx_fields where table_name ='sva_pgd'
and currentlyused=1
union
select tid,table_name,
name,
'sva_paz_' || name as targetname
from sx_fields where table_name ='sva_paz'
and currentlyused=1
union
select tid,table_name,
name,
'sva_pfi_' || name as targetname
from sx_fields where table_name ='sva_pfi'
and currentlyused=1
union
select tid,table_name,
name,
'sva_k_vertragsart_' || name as targetname
from sx_fields where table_name ='sva_k_vertragsart'
and currentlyused=1
union
select tid,table_name,
name,
'sva_k_dienstart_' || name as targetname
from sx_fields where table_name ='sva_k_dienstart'
and currentlyused=1
union
select tid,table_name,
name,
'sva_k_funktionsart_' || name as targetname
from sx_fields where table_name ='sva_k_funktionsart'
and currentlyused=1
union
select tid,table_name,
name,
'sva_k_amtsdienst_' || name as targetname
from sx_fields where table_name ='sva_k_amtsdienst'
and currentlyused=1
union
select tid,table_name,
name,
'sva_k_bvlgruppe_' || name as targetname
from sx_fields where table_name ='sva_k_bvlgruppe'
and currentlyused=1
order by 1
]]>
</sqlvar>
</sqlvars>
<#if sva_pbv_aggr_exists==1 && fact_table_source?exists >
<#assign fact_table_target = {"name":"sva_pbv_aggr_pgd", "caption":"Personal"}
/>
CREATE temp table tmp_tables(
name CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
table_type CHAR(255) ,
systeminfo_id INTEGER ,
systeminfo_orig INTEGER ,
thema CHAR(255) ,
sachgebiete_id CHAR(255)
);
CREATE temp TABLE tmp_fields(
tid serial NOT NULL,
table_name VARCHAR(255) not null,
name VARCHAR(255) not null,
caption VARCHAR(255) ,
description VARCHAR(255) ,
field_type VARCHAR(255) not null,
field_size VARCHAR(255) ,
field_not_null smallint,
currentlyused SMALLINT ,
is_primarykey SMALLINT default 0 ,
foreignkey_tab VARCHAR(255) ,
foreignkey_col VARCHAR(255) ,
foreignkey_int VARCHAR(255) ,
foreignkey_cap VARCHAR(255) ,
foreignkey_cond VARCHAR(255) ,
foreignkey_func VARCHAR(255) ,
check_integrity SMALLINT,
is_sum SMALLINT default 1,
foreignkey_uniquename VARCHAR(255)
);
update sx_fields set
is_sum=0
where table_name='sva_pbv_aggr'
and name!='vzae';
update sx_fields set
is_sum=1
where table_name='sva_pbv_aggr'
and name='vzae';
insert into tmp_tables (
name,
caption,
description,
table_type,
systeminfo_id,
thema,
sachgebiete_id
)
select
'${fact_table_target.name}',
'${fact_table_target.caption}',
description,
table_type,
systeminfo_id,
thema,
sachgebiete_id
from sx_tables where name='${fact_table_source}'
;
insert into tmp_fields (table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename)
select '${fact_table_target.name}' as table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
from sx_fields where table_name ='${fact_table_source}'
and currentlyused=1;
<#foreach added_table in added_tables>
insert into tmp_fields (table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename)
select '${fact_table_target.name}' as table_name,
'${added_table.prefix}' || name,
'${added_table.caption}: ' || caption,
description,
field_type,
field_size,
field_not_null,
currentlyused,
is_primarykey,
foreignkey_tab,
foreignkey_col,
foreignkey_int,
foreignkey_cap,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
from sx_fields where table_name ='${added_table.name}'
and currentlyused=1;
</#foreach>
CREATE temp TABLE tmp_rpta_resultset
(
caption varchar(255),
uniquename varchar(255),
fieldclause text,
joinclause text,
whereclause text,
systeminfo_id integer
);
insert into tmp_rpta_resultset(caption,
uniquename,
systeminfo_id)
select '${fact_table_target.caption}',
'${fact_table_target.name}',
6
;
update tmp_rpta_resultset set fieldclause='
<#foreach field_target in fields_target>
${field_target.table_name}.${field_target.name} as ${field_target.targetname},
</#foreach>
null::varchar as dummy',
joinclause='${fact_table_source}
<#foreach added_table in added_tables>
left outer join ${added_table.name} on (${added_table.joinclause})
</#foreach>';
select * into temp tmp_rs1
from rpta_resultset
;
update rpta_resultset set caption=T.caption,
fieldclause=T.fieldclause,
joinclause=T.joinclause,
whereclause=T.whereclause
from tmp_rpta_resultset T
where T.systeminfo_id=rpta_resultset.systeminfo_id
and T.uniquename=rpta_resultset.uniquename
;
insert into rpta_resultset(caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id)
select caption,
uniquename,
fieldclause,
joinclause,
whereclause,
systeminfo_id
from tmp_rpta_resultset
where 0=(select count(*)
from tmp_rs1 T
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id
and T.uniquename=tmp_rpta_resultset.uniquename)
;
drop table tmp_rpta_resultset;
drop table tmp_rs1;
delete from sx_tables where name
in (select T.name from tmp_tables T);
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id
from tmp_tables;
delete from sx_fields where table_name
in (select T.table_name from tmp_fields T);
insert into sx_fields (table_name,name,caption,description,field_type,
field_size,
field_not_null,
currentlyUsed,
foreignkey_tab,
foreignkey_col,
foreignkey_cap,
foreignkey_int,
foreignkey_cond,
foreignkey_func,
check_integrity,
is_sum,
foreignkey_uniquename
)
select
F.table_name,F.name,F.caption,F.description,F.field_type,
F.field_size,
F.field_not_null,
F.currentlyUsed,
F.foreignkey_tab,
F.foreignkey_col,
F.foreignkey_cap,
F.foreignkey_int,
F.foreignkey_cond,
F.foreignkey_func,
F.check_integrity,
F.is_sum,
F.foreignkey_uniquename
from tmp_fields F;
drop table tmp_fields;
drop table tmp_tables;
--rpta_column füllen:
select * into temp tmp_rc1
from rpta_column;
create temp table tmp_rpta_column(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
column_type integer,
col_function text,
is_aggregate smallint,
resultset_id integer,
description text,
custom integer default 0
);
insert into tmp_rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description)
select F.name as uniquename,
coalesce(T.caption,T.name) || ' - ' || F.caption,
F.name as srcfieldname,
1 as column_type,
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function,
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate,
R.tid as resultset_id,
F.description
from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name)
where F.table_name='${fact_table_target.name}'
and R.uniquename='${fact_table_target.name}'
and F.currentlyused=1
;
update rpta_column set
caption=T.caption,
srcfieldname=T.srcfieldname,
column_type=T.column_type,
col_function=T.col_function,
is_aggregate=T.is_aggregate,
resultset_id=R.tid,
description=T.description,
custom=T.custom
from tmp_rpta_column T, rpta_resultset R
where T.uniquename=rpta_column.uniquename
and rpta_column.resultset_id=R.tid
and R.uniquename='${fact_table_target.name}'
;
insert into rpta_column( uniquename,
caption,
srcfieldname,
column_type,
col_function,
is_aggregate,
resultset_id,
description,
custom)
select T.uniquename,
T.caption,
T.srcfieldname,
T.column_type,
T.col_function,
T.is_aggregate,
R.tid as resultset_id,
T.description,
T.custom
from tmp_rpta_column T, rpta_resultset R
where R.uniquename='${fact_table_target.name}'
and 0=(select count(*) from tmp_rc1 C
where C.uniquename=T.uniquename
and C.resultset_id=R.tid)
;
drop table tmp_rpta_column;
drop table tmp_rc1;
</#if> --wenn sva_pbv_aggr_exists=1

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

@ -8,66 +8,16 @@ select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studien @@ -8,66 +8,16 @@ select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studien
select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"rpta_exam_unit_dim_studiengang_note",
<#assign rpta_column_layouts = [{"uniquename":"rpta_exam_unit_dim_studiengang_note",
"caption":"Prüfungsergebnisse",
"rpta_resultset":"rpta_exam_unit_dim_studiengang",
"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5))
and pstatus in (''BE'',''NB'',''EN'')
and (((panerk != ''J'' and sourcesystem=6) or (panerk is null and sourcesystem=6))
or ((panerk != ''I'' and panerk != ''J'' and panerk != ''H'' and sourcesystem=5) or (panerk is null and sourcesystem=5)))",
"sortclause":"dim_studiengang_stg,dim_studiengang_abschluss,sem_der_pruefung,pdtxt",
"whereclause":"modulart=''P''",
"description":"Prüfung und Noten"
}
}]
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Fach",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"dim_studiengang_abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Abschluss",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Semester der Prüfung (Schlüssel)",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_str",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_str",
"column_type":"lookupColumn",
"col_function":"select eintrag from semester where tid=sem_der_pruefung",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"elementnr",
"srcfieldname":"elementnr",
"column_type":"physicalColumn",
@ -76,7 +26,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -76,7 +26,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"pnr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"visible_size":5,
"description":""},
{"uniquename":"pdtxt",
@ -84,42 +34,30 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -84,42 +34,30 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Name der Prüfung",
"caption":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":40,
"visible_size":5,
"description":""},
{"uniquename":"summe",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"",
"col_function":"sum",
"format_code":"",
"caption":"Teilnehmer",
"is_visible":"1",
"is_aggregate":1,
"visible_size":15,
"description":""},
{"uniquename":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_case",
"column_type":"preparingColumn",
"col_function":"(case when note > 6 then null else note end)",
"format_code":"",
"caption":"Durchschnittsnote * Vorbereitend",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"note_schnitt",
"srcfieldname":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_schnitt",
"column_type":"processingColumn",
"col_function":"avg(note_case)",
"column_type":"physicalColumn",
"col_function":"avg",
"format_code":"",
"caption":"Durchschnittsnote * Weiterverarbeitend",
"caption":"Durchschnittsnote *",
"is_visible":"0",
"is_aggregate":1,
"visible_size":5,
@ -133,17 +71,29 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -133,17 +71,29 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"format_code":"",
"caption":"Durchschnittsnote *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb",
"srcfieldname":"pstatus",
"targetfieldname":"pstatus_nb",
"column_type":"logicalColumn",
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)",
"format_code":"",
"caption":"Durchfallquote in % *",
"is_visible":"0",
"is_aggregate":0,
"visible_size":25,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb_sum",
"srcfieldname":"",
"srcfieldname":"pstatus_nb",
"targetfieldname":"pstatus_nb_sum",
"column_type":"logicalColumn",
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)",
"column_type":"processingColumn",
"col_function":"sum",
"format_code":"",
"caption":"Durchfallquote in % * Logisch",
"caption":"Durchfallquote in % *",
"is_visible":"0",
"is_aggregate":1,
"visible_size":5,
@ -157,38 +107,266 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -157,38 +107,266 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"format_code":"DEC_2",
"caption":"Durchfallquote in % *",
"is_visible":"1",
"is_aggregate":0,
"visible_size":25,
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"pvermerk_ne_sum",
"srcfieldname":"",
"targetfieldname":"pvermerk_ne_sum",
{"uniquename":"pvermerk_ne",
"srcfieldname":"pvermerk",
"targetfieldname":"pvermerk_ne",
"column_type":"logicalColumn",
"col_function":"(case when pvermerk in (''NE'',''N'') then 1 else 0 end)",
"format_code":"",
"caption":"Nicht erschienen",
"is_visible":"1",
"is_aggregate":1,
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"rpta_exam_unit_shortcomment",
"srcfieldname":"shortcomment",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Kurzkommentar",
{"uniquename":"pvermerk_ne_sum",
"srcfieldname":"pvermerk_ne",
"targetfieldname":"pvermerk_ne_sum",
"column_type":"processingColumn",
"col_function":"sum",
"format_code":"INTEGER",
"caption":"Nicht erschienen",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"is_aggregate":1,
"visible_size":5,
"description":""}
] />
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT,
format_code_uniquename varchar(255),
format_code_id integer
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
<#foreach rpta_column_layout in rpta_column_layouts>
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
</#foreach >
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
format_code_uniquename
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>,
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
update tmp_rpta_column set format_code_id=C.tid
from rpta_format_code C
where C.uniquename=tmp_rpta_column.format_code_uniquename
and format_code_uniquename is not null;
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description,
format_code_id)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description,
T.format_code_id
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop table if exists tmp_rpta_column2;
drop TABLE tmp_rpta_column_layout;

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

@ -1,443 +0,0 @@ @@ -1,443 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_exam_unit_dim_studiengang_exists">
select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang';
</sqlvar>
<sqlvar name="rpta_resultset">
select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang';
</sqlvar>
</sqlvars>
<#assign rpta_column_layouts = [{"uniquename":"rpta_exam_unit_dim_studiengang_note",
"caption":"Prüfungsergebnisse",
"rpta_resultset":"rpta_exam_unit_dim_studiengang",
"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5))",
"description":"Prüfung und Noten"
}]
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Fach",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"dim_studiengang_abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Abschluss",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"preparingColumn",
"col_function":"sem_der_pruefung",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_min_process",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_min_process",
"column_type":"processingColumn",
"col_function":"min",
"format_code":"",
"caption":"Semester der Prüfung (Min)",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_max_process",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_max_process",
"column_type":"processingColumn",
"col_function":"max",
"format_code":"",
"caption":"Semester der Prüfung (Max)",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"elementnr",
"srcfieldname":"elementnr",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"pnr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"pdtxt",
"srcfieldname":"pdtxt",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Name der Prüfung",
"is_visible":"1",
"is_aggregate":0,
"visible_size":40,
"description":""},
{"uniquename":"summe",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"format_code":"",
"caption":"Teilnehmer",
"is_visible":"1",
"is_aggregate":1,
"visible_size":15,
"description":""},
{"uniquename":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_case",
"column_type":"preparingColumn",
"col_function":"(case when note > 6 then null else note end)",
"format_code":"",
"caption":"Durchschnittsnote % *",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"note_schnitt",
"srcfieldname":"note_case",
"targetfieldname":"note_schnitt",
"column_type":"processingColumn",
"col_function":"avg",
"format_code":"",
"caption":"Durchschnittsnote *",
"is_visible":"0",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"note_schnitt_case",
"srcfieldname":"note_schnitt",
"targetfieldname":"note_schnitt_case",
"column_type":"computedColumn",
"col_function":"case when summe < 5 then null else note_schnitt end",
"format_code":"",
"caption":"Durchschnittsnote *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"description":""},
{"uniquename":"pstatus_nb",
"srcfieldname":"pstatus",
"targetfieldname":"pstatus_nb",
"column_type":"preparingColumn",
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)",
"format_code":"",
"caption":"Durchfallquote in % *",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb_sum",
"srcfieldname":"pstatus_nb",
"targetfieldname":"pstatus_nb_sum",
"column_type":"processingColumn",
"col_function":"sum",
"format_code":"",
"caption":"Durchfallquote in % *",
"is_visible":"0",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb_quote",
"srcfieldname":"pstatus_nb_sum",
"targetfieldname":"pstatus_nb_quote",
"column_type":"computedColumn",
"col_function":"case when summe < 5 then null else pstatus_nb_sum/summe::decimal(18,2)*100 end",
"format_code":"DEC_2",
"caption":"Durchfallquote in % *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"description":""},
{"uniquename":"pvermerk_ne",
"srcfieldname":"pvermerk",
"targetfieldname":"pvermerk_ne",
"column_type":"preparingColumn",
"col_function":"(case when pvermerk in (''NE'',''N'') then 1 else 0 end)",
"format_code":"",
"caption":"Nicht erschienen",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"pvermerk_ne_sum",
"srcfieldname":"pvermerk_ne",
"targetfieldname":"pvermerk_ne_sum",
"column_type":"processingColumn",
"col_function":"sum",
"format_code":"INTEGER",
"caption":"Nicht erschienen",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"description":""}
] />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT,
format_code_uniquename varchar(255),
format_code_id integer
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
<#foreach rpta_column_layout in rpta_column_layouts>
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
</#foreach >
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
format_code_uniquename
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>,
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
update tmp_rpta_column set format_code_id=C.tid
from rpta_format_code C
where C.uniquename=tmp_rpta_column.format_code_uniquename
and format_code_uniquename is not null;
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description,
format_code_id)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description,
T.format_code_id
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop table if exists tmp_rpta_column2;
drop TABLE tmp_rpta_column_layout;

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>

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

@ -1,63 +0,0 @@ @@ -1,63 +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":"pbv_dm_kurz",
"caption":"Personal Drittmittel",
"rpta_resultset":"sva_pbv_aggr_pgd",
"whereclause":"",
"description":"VZÄ nach Geldgeber Drittmittel ja/nein"
}
/>
<#assign rpta_columns = [
{"uniquename":"ch110_besch_st",
"caption":"Beschäftigungsstelle (Schlüssel)",
"srcfieldname":"ch110_besch_st",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Beschäftigungsstelle (Schlüssel)"
},
{"uniquename":"ch110_besch_st_str",
"caption":"Beschäftigungsstelle",
"srcfieldname":"ch110_besch_st_str",
"column_type":"lookupColumn",
"col_function":"select C.druck from cifx C where C.key=110 and C.apnr=ch110_besch_st",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Beschäftigungsstelle (Name)"
},
{"uniquename":"drittmittel",
"caption":"Drittmittel",
"srcfieldname":"drittmittel",
"targetfieldname":"drittmittel_str",
"column_type":"logicalColumn",
"col_function":"(case when drittmittel=1 then ''ja'' else ''nein'' end)::varchar",
"is_visible":"1",
"visible_size":"2",
"is_aggregate":"0",
"description":"Finanzierung aus Drittmitteln"
},
{"uniquename":"vzae",
"caption":"VZÄ (Beschäftigung)",
"srcfieldname":"vzae",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":""
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

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

@ -1,78 +0,0 @@ @@ -1,78 +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",
"caption":"Herkunftsstudiengang der Master-Studienanfänger_innen auf Abschlussebene",
"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(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",
"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"
}
]
/>
<@rpta_column_layout_fuellen />

52
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_ba_ma_uebergang_nach_abschluss_fuellen.sql

@ -1,52 +0,0 @@ @@ -1,52 +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",
"caption":"Übergang Bachelor-Master auf Abschlussebene",
"rpta_resultset":"rpta_erfolg_ba_ma_uebergang",
"whereclause":"richtung=''gw'' and abschluss_vorher_abschlussart=''A24''",
"description":"Übergang Bachelor-Master mit Aggregierung auf Abschlussart sowohl beim vorherigen Abschluss als auch beim nachfolgenden Studiengang"
}
/>
<#assign rpta_columns = [
{"uniquename":"sos_k_abint_abschluss_vorher_druck",
"caption":"Vorheriger Abschluss",
"srcfieldname":"sos_k_abint_abschluss_vorher_druck",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"k_abint_einschr_nachher_dtxt",
"caption":"Nachfolgender Studiengang (Abschluss)",
"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"
}
]
/>
<@rpta_column_layout_fuellen />

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

@ -1,81 +0,0 @@ @@ -1,81 +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":"internationale_studierende_sicht",
"caption":"Internationale Studierende (Baum)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Internationale Studierende mit Baumstruktur nach Studiengang-Sicht",
"sortclause":"sortnr"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_s_tid_stg",
"caption":"Studiengang Sichtelement-ID",
"srcfieldname":"",
"targetfieldname":"s_tid_stg",
"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":"s_tid_stg",
"targetfieldname":"studiengang",
"column_type":"treeColumn",
"col_function":"Studiengang",
"is_visible":"1",
"format_code":"",
"visible_size":"30",
"is_aggregate":"0",
"description":"Studiengang"
},
{"uniquename":"ca12staat_str",
"caption":"Staatsangehörigkeit (Name des Staates)",
"srcfieldname":"ca12staat",
"targetfieldname":"ca12staat_str",
"column_type":"lookupColumn",
"col_function":"select C2.druck from cif C2 where C2.key=12 and C2.apnr=ca12_staat",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Staat (Name)"
},
{"uniquename":"gesamt",
"caption_der_spalte":"Studierende ohne beurl.",
"caption_in_ergebnistabelle":"Studierende ohne beurl.",
"srcfieldname":"summe",
"column_type":"logicalColumn",
"col_function":"case when kz_rueck_beur_ein<>4 then summe::integer else 0::integer end",
"is_visible":"1",
"visible_size":"5",
"format_code":"MASK_ZERO_INT",
"is_aggregate":"1",
"description":""
}
]
/>
<@rpta_column_layout_fuellen />

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

@ -1,76 +0,0 @@ @@ -1,76 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_man_kennz_aggr_exists">
select count(*) from rpta_resultset where uniquename='rpta_man_kennz_aggr';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"man_kennz_aggr_studiengang",
"caption":"Management Kennz. nach FB und Studiengang",
"rpta_resultset":"rpta_man_kennz_aggr",
"whereclause":"",
"description":""
}
/>
<#assign rpta_columns = [
{"uniquename":"sem",
"caption":"Semester",
"srcfieldname":"sem",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"man_organigramm_drucktext",
"caption":"Institution",
"srcfieldname":"man_organigramm_drucktext",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"abschluss_grp_str",
"caption":"Abschlussgruppe",
"srcfieldname":"abschluss_grp_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"man_studiengang_text",
"caption":"Studiengang",
"srcfieldname":"man_studiengang_text",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"summe",
"caption_der_spalte":"Summe",
"caption_in_ergebnistabelle":"Summe",
"srcfieldname":"value",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description_der_spalte":"Summe",
"description_in_ergebnistabelle":""
}
]
/>
<@rpta_column_layout_fuellen />

129
src-modules/module/rpta/schluesseltabellen/rpta_column_layout_man_kennz_aggr_tuhh_behoerdenbericht.sql

@ -1,129 +0,0 @@ @@ -1,129 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_man_kennz_aggr_exists">
select count(*) from rpta_resultset where uniquename='rpta_man_kennz_aggr';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"man_kennz_aggr_tuhh_behoerdenbericht",
"caption":"Management Kennz. des TUHH Behördenberichtes",
"rpta_resultset":"rpta_man_kennz_aggr",
"whereclause":"catalogue_id in (select catalogue_id from man_catalogue_rpt where report_id =''TUHH_KENNZ'')",
"sortclause":"",
"description":""
}
/>
<#assign rpta_columns = [
{"uniquename":"catalogue_id",
"caption_der_spalte":"Management Kennzahlen - Kennzahl",
"caption_in_ergebnistabelle":"ID der Kennzahl",
"srcfieldname":"catalogue_id",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"jahr",
"caption_der_spalte":"Management Kennzahlen - Jahr",
"caption_in_ergebnistabelle":"Jahr",
"srcfieldname":"jahr",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"man_catalogue_name",
"caption_der_spalte":"Name der Kennzahl",
"caption_in_ergebnistabelle":"Kennzahl",
"srcfieldname":"man_catalogue_name",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"sem",
"caption_der_spalte":"Semester",
"caption_in_ergebnistabelle":"Semester",
"srcfieldname":"sem",
"targetfieldname":"sem",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"value1",
"caption_der_spalte":"Management Kennzahlen - Wert 1 der Kennzahl bei Prozentwerten",
"caption_in_ergebnistabelle":"Wert 1 der Kennzahl bei Prozentwerten",
"srcfieldname":"value1",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"value2",
"caption_der_spalte":"Management Kennzahlen - Wert 2 der Kennzahl bei Prozentwerten",
"caption_in_ergebnistabelle":"Wert 2 der Kennzahl bei Prozentwerten",
"srcfieldname":"value2",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"value",
"caption_der_spalte":"Management Kennzahlen - Wert der Kennzahl",
"caption_in_ergebnistabelle":"Management Kennzahlen - Wert der Kennzahl",
"srcfieldname":"value",
"targetfieldname":"value",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"1",
"description":""
},
{"uniquename":"man_catalogue_calcratio",
"caption_der_spalte":"Management Kennzahlen - : Quote",
"caption_in_ergebnistabelle":"Management Kennzahlen - : Quote",
"srcfieldname":"man_catalogue_calcratio",
"targetfieldname":"man_catalogue_calcratio",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"0",
"visible_size":"10",
"is_aggregate":"0",
"description":""
},
{"uniquename":"wert_der_kennzahl_tuhh_behoerdenbericht",
"caption_der_spalte":"Wert der Kennzahl",
"caption_in_ergebnistabelle":"Wert der Kennzahl",
"srcfieldname":"",
"targetfieldname":"wert_der_kennzahl_tuhh_behoerdenbericht",
"column_type":"computedColumn",
"col_function":"case when man_catalogue_calcratio>0 and man_catalogue_calcratio<100 then value1/value2 when man_catalogue_calcratio=100 then value1/value2*100 else value end",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":""
}
]
/>
<@rpta_column_layout_fuellen />

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

@ -1,554 +0,0 @@ @@ -1,554 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_lab_pord_ppruef_exists">
select count(*) from rpta_resultset where uniquename='sos_lab_pord_ppruef';
</sqlvar>
<sqlvar name="rpta_resultset">
select uniquename from rpta_resultset where uniquename='sos_lab_pord_ppruef';
</sqlvar>
<sqlvar name="sos_dipl_pos_swf_exists">
select sp_table_exists('sos_dipl_pos_swf');
</sqlvar>
</sqlvars>
<#if sos_dipl_pos_swf_exists==1>
--aktuell nur für SWF
<#assign rpta_column_layouts = [ {"uniquename":"sos_lab_pord_ppruef_modul",
"caption":"Modulprüfungen und Prüfer_innen Einzeldaten",
"rpta_resultset":"sos_lab_pord_ppruef",
"whereclause":"is_modul=1",
"description":"Modulprüfungen und Prüfer_innen"
},
{"uniquename":"sos_lab_pord_ppruef_thesis",
"caption":"Abschlussarbeiten und Betreuer_innen Einzeldaten",
"rpta_resultset":"sos_lab_pord_ppruef",
"whereclause":"labnr in (select labnr from sos_dipl_pos_swf)",
"description":"Abschlussarbeiten und Betreuer_innen"
}]
/>
<#assign rpta_columns = [
{"uniquename":"matrikel_nr",
"srcfieldname":"matrikel_nr",
"column_type":"physicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Matrikel-Nr.",
"is_visible":"1",
"visible_size":5},
{"uniquename":"sourcesystem",
"srcfieldname":"sourcesystem",
"column_type":"physicalColumn",
"format_code":"",
"is_aggregate":0,
"caption":"Quellsystem",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5},
{"uniquename":"labnr",
"srcfieldname":"labnr",
"column_type":"physicalColumn",
"format_code":"",
"is_aggregate":0,
"caption":"ID der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Semester",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5},
{"uniquename":"sem_rueck_beur_ein_max",
"srcfieldname":"sem_rueck_beur_ein_max",
"targetfieldname":"sos_lab_sem_rueck_beur_ein_max",
"column_type":"lookupColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Letztes Semester",
"is_visible":1,
"visible_size":5,
"col_function":"select sem_rueck_beur_ein from sos_sos S where S.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"}
,
{"uniquename":"status",
"srcfieldname":"status",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Status",
"is_visible":1,
"is_aggregate":0,
"visible_size":5,
"col_function":"select ST.apnr from sos_k_status ST where val(ST.astat)=kz_rueck_beur_ein"},
{"uniquename":"hrst",
"srcfieldname":"hrst",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Hörerstatus",
"is_visible":1,
"visible_size":5},
{"uniquename":"vorname",
"srcfieldname":"vorname",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Vorname",
"is_visible":1,
"is_aggregate":0,
"visible_size":5,
"col_function":"select A.firstname from sos_stud_address A where A.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"},
{"uniquename":"nachname",
"srcfieldname":"nachname",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Nachname",
"is_visible":1,
"is_aggregate":0,
"visible_size":5,
"col_function":"select A.surname from sos_stud_address A where A.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"},
{"uniquename":"res1",
"srcfieldname":"res1",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Austauschstudierende/Doppelabsolventen",
"is_visible":1,
"visible_size":5,
"col_function":"select min(attributevalue) from personattribute A where tmp_sos_lab_pord_ppruef.sem_der_pruefung between A.semester_von and A.semester_bis and A.personattributetype_id="+K_SOS_PERSATTR_AUSTAUSCH+" and A.matrikel_nr=tmp_sos_lab_pord_ppruef.matrikel_nr"},
{"uniquename":"stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Fach",
"is_visible":1,
"visible_size":5},
{"uniquename":"abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Abschluss",
"is_visible":1,
"visible_size":5}
{"uniquename":"fach_sem_zahl",
"srcfieldname":"fach_sem_zahl",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Fachsemester",
"is_visible":1,
"visible_size":5},
{"uniquename":"stgnr",
"srcfieldname":"stgnr",
"column_type":"logicalColumn",
"is_aggregate":0,
"caption":"Studiengangnr.",
"is_visible":1,
"visible_size":5,
"col_function":"'''' || studiengang_nr || fach_nr"},
{"uniquename":"part",
"srcfieldname":"part",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsart",
"is_visible":1,
"visible_size":5},
{"uniquename":"pnr_pos",
"srcfieldname":"pnr",
"column_type":"physicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Prüfungsnummer POS",
"is_visible":0,
"visible_size":5},
{"uniquename":"elementnr",
"srcfieldname":"",
"targetfieldname":"elementnr",
"column_type":"logicalColumn",
"is_aggregate":0,
"caption":"Prüfungsnummer",
"is_visible":1,
"visible_size":5,
"col_function":"pktxt"},
{"uniquename":"pversuch",
"srcfieldname":"pversuch",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsversuch",
"is_visible":1,
"visible_size":5},
{"uniquename":"prueck",
"srcfieldname":"prueck",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Rücktritt",
"is_visible":1,
"visible_size":5},
{"uniquename":"pversion_ktxt",
"srcfieldname":"pversion_ktxt",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"PO-Version",
"is_visible":1,
"visible_size":5},
{"uniquename":"pstatus",
"srcfieldname":"pstatus",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsstatus",
"is_visible":1,
"visible_size":5},
{"uniquename":"d_abg_pruefung",
"srcfieldname":"d_abg_pruefung",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsdatum",
"is_visible":1,
"visible_size":5},
{"uniquename":"note",
"srcfieldname":"note",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Note",
"is_visible":1,
"visible_size":5},
{"uniquename":"sos_lab_panerk",
"srcfieldname":"sos_lab_panerk",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Anerkennung",
"is_visible":1,
"visible_size":5},
{"uniquename":"pvermerk",
"srcfieldname":"pvermerk",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Vermerk",
"is_visible":1,
"visible_size":5},
{"uniquename":"pform",
"srcfieldname":"pform",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Prüfungsform",
"is_visible":1,
"visible_size":5},
{"uniquename":"pdtxt",
"srcfieldname":"pdtxt",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"PO-Element Name",
"is_visible":1,
"visible_size":5},
{"uniquename":"ppruef1",
"srcfieldname":"sos_lab_ppruef1",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Erstprüfer_in Schlüssel",
"is_visible":0,
"visible_size":5},
{"uniquename":"ppruef1_str",
"srcfieldname":"ppruef1",
"targetfieldname":"sos_lab_ppruef1_str",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Erstprüfer_in",
"is_visible":1,
"visible_size":5,
"col_function":"select replace(C.druck,'','','''') from cifx C where C.key=9011 and C.apnr=tmp_sos_lab_pord_ppruef.sos_lab_ppruef1"},
{"uniquename":"ppruef2",
"srcfieldname":"sos_lab_ppruef2",
"column_type":"physicalColumn",
"is_aggregate":0,
"caption":"Zweitprüfer_in",
"is_visible":0,
"visible_size":5},
{"uniquename":"ppruef2_str",
"srcfieldname":"ppruef2",
"targetfieldname":"sos_lab_ppruef2_str",
"column_type":"lookupColumn",
"is_aggregate":0,
"caption":"Zweitprüfer_in",
"is_visible":1,
"visible_size":5,
"col_function":"select replace(C.druck,'','','''') from cifx C where C.key=9011 and C.apnr=tmp_sos_lab_pord_ppruef.sos_lab_ppruef2"}
,
{"uniquename":"sem_d_abg_pruefung",
"srcfieldname":"sem_d_abg_pruefung",
"targetfieldname":"sos_lab_sem_d_abg_pruefung",
"column_type":"logicalColumn",
"format_code":"INT_NO_SEP",
"is_aggregate":0,
"caption":"Semester der Prüfung",
"is_visible":1,
"visible_size":5,
"col_function":"sem_der_pruefung"}
] />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT,
format_code_uniquename varchar(255),
format_code_id integer
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
<#foreach rpta_column_layout in rpta_column_layouts>
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
</#foreach >
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
format_code_uniquename
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>,
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
update tmp_rpta_column set format_code_id=C.tid
from rpta_format_code C
where C.uniquename=tmp_rpta_column.format_code_uniquename
and format_code_uniquename is not null;
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description,
format_code_id)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description,
T.format_code_id
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop table if exists tmp_rpta_column2;
drop TABLE tmp_rpta_column_layout;
drop table tmp_rpta_column2layout;
</#if> --wenn sos_dipl_pos_swf_exists=1

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

@ -25,15 +25,14 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat'; @@ -25,15 +25,14 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat';
"description":"Amtliche Standortnummer"
},
{"uniquename":"dim_studiengang_stg_astat",
"caption_der_spalte":"Fach amtlich (Land)",
"caption_in_ergebnistabelle":"HSF-Schlüssel",
"caption":"HSF-Schlüssel",
"srcfieldname":"dim_studiengang_stg_astat",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Amtliches Fach (Land)"
"description":"Amtliches Fach"
},
{"uniquename":"sos_k_stufrm_astat",
"caption":"Art des Studiums",
@ -76,21 +75,17 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat'; @@ -76,21 +75,17 @@ select count(*) from rpta_resultset where uniquename='sos_stud_astat';
"description":"Regelstudienzeit in Semestern"
},
{"uniquename":"summe",
"caption_der_spalte":"Summe der Studierenden",
"caption_in_ergebnistabelle":"Anzahl der Studierenden in der Regelstudienzeit",
"caption":"Anzahl der Studierenden in der Regelstudienzeit",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description_der_spalte":"Summe der Studierenden",
"description_in_ergebnistabelle":"Summe der Studierenden mit Fachsemester kleiner oder gleich der Regelstudienzeit"
"description":"Summe der Studierenden mit Fachsemester kleiner oder gleich der Regelstudienzeit"
}
]
/>
<@rpta_column_layout_fuellen />

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save