diff --git a/src-modules/module/rpta/conf/rpta.xml b/src-modules/module/rpta/conf/rpta.xml
index c72575f..17dfd97 100644
--- a/src-modules/module/rpta/conf/rpta.xml
+++ b/src-modules/module/rpta/conf/rpta.xml
@@ -265,6 +265,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
+
diff --git a/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql b/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
index 716dc10..ef1839e 100644
--- a/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
+++ b/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
@@ -33,7 +33,8 @@ insert into rpta_exam_unit (matrikel_nr,
pversuch,
elementnr,
summe,
- panerk)
+ panerk,
+ shortcomment)
SELECT
matrikel_nr,
labnr,
@@ -55,7 +56,8 @@ SELECT
pversuch,
elementnr,
summe,
- panerk
+ panerk,
+ shortcomment
FROM lm_exam_unit
UNION SELECT
@@ -79,7 +81,8 @@ UNION SELECT
pversuch,
pnr::varchar(255) as elementnr,
summe,
- (select L.panerk from sos_lab L where L.labnr=sos_lab_pord.labnr and L.sourcesystem = 5)
+ (select L.panerk from sos_lab L where L.labnr=sos_lab_pord.labnr and L.sourcesystem = 5),
+ null::varchar(255) as shortcomment
FROM sos_lab_pord
WHERE sourcesystem = 5
;
diff --git a/src-modules/module/rpta/schluesseltabellen/fm_templates.unl b/src-modules/module/rpta/schluesseltabellen/fm_templates.unl
index fcd496e..786c9b5 100644
--- a/src-modules/module/rpta/schluesseltabellen/fm_templates.unl
+++ b/src-modules/module/rpta/schluesseltabellen/fm_templates.unl
@@ -1,4 +1,4 @@
-96^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
+107^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
@@ -260,6 +260,8 @@ drop TABLE tmp_rpta_column2layout;\
${column.srcfieldname} as ${column.srcfieldname},\
<#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">\
@@ -278,10 +280,10 @@ drop TABLE tmp_rpta_column2layout;\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
+ -- preparingColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
+ -- computedColumns immer mitnehmen, da später verarbeitet\
<#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"> \
+ <#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"> \
@@ -290,11 +292,13 @@ drop TABLE tmp_rpta_column2layout;\
#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>\
- -- 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"> \
+ <#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="preparingColumn" && column.coltype!="logicalColumn"> \
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\
+ <#elseif column.coltype="logicalColumn"> \
+ sum(${column.targetfieldname}) as ${column.targetfieldname},\
#if>\
#foreach>\
null::char(1) as dummycol\
@@ -365,5 +369,5 @@ drop TABLE tmp_rpta_column2layout;\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
- \
+\
#macro>^Makros zum Umgang mit Spaltenlayouts^^1^
diff --git a/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql b/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
index 55adc21..441250b 100644
--- a/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
+++ b/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
@@ -59,7 +59,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"sem_der_pruefung_str",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_str",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(select eintrag from semester where tid=sem_der_pruefung)",
"format_code":"",
"caption":"Semester der Prüfung",
@@ -116,7 +116,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_case",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(case when note > 6 then null else note end)",
"format_code":"",
"caption":"Durchschnittsnote % *",
@@ -152,7 +152,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"pstatus_nb",
"srcfieldname":"pstatus",
"targetfieldname":"pstatus_nb",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)",
"format_code":"",
"caption":"Durchfallquote in % *",
@@ -188,7 +188,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"pvermerk_ne",
"srcfieldname":"pvermerk",
"targetfieldname":"pvermerk_ne",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(case when pvermerk in (''NE'',''N'') then 1 else 0 end)",
"format_code":"",
"caption":"Nicht erschienen",
@@ -207,6 +207,17 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
+"description":""},
+
+{"uniquename":"rpta_exam_unit_shortcomment",
+"srcfieldname":"shortcomment",
+"column_type":"physicalColumn",
+"col_function":"",
+"format_code":"",
+"caption":"Kurzkommentar",
+"is_visible":"1",
+"is_aggregate":0,
+"visible_size":10,
"description":""}
diff --git a/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql b/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
index 4773958..45d7f2c 100644
--- a/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
+++ b/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
@@ -43,7 +43,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"sem_der_pruefung",
"format_code":"",
"caption":"Semester der Prüfung",
@@ -112,7 +112,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_case",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(case when note > 6 then null else note end)",
"format_code":"",
"caption":"Durchschnittsnote % *",
@@ -148,7 +148,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"pstatus_nb",
"srcfieldname":"pstatus",
"targetfieldname":"pstatus_nb",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)",
"format_code":"",
"caption":"Durchfallquote in % *",
@@ -184,7 +184,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
{"uniquename":"pvermerk_ne",
"srcfieldname":"pvermerk",
"targetfieldname":"pvermerk_ne",
-"column_type":"logicalColumn",
+"column_type":"preparingColumn",
"col_function":"(case when pvermerk in (''NE'',''N'') then 1 else 0 end)",
"format_code":"",
"caption":"Nicht erschienen",
diff --git a/src-modules/module/rpta/schluesseltabellen/rpta_column_type.unl b/src-modules/module/rpta/schluesseltabellen/rpta_column_type.unl
index f8b2c21..96c3882 100644
--- a/src-modules/module/rpta/schluesseltabellen/rpta_column_type.unl
+++ b/src-modules/module/rpta/schluesseltabellen/rpta_column_type.unl
@@ -3,3 +3,4 @@
3^lookupColumn^Lookup-Spalte^
4^computedColumn^Berechnete Spalte^
5^processingColumn^Weiterverarbeitende Spalte^
+6^preparingColumn^Vorbereitende Spalte^
diff --git a/src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql b/src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
index b59a5c3..2ea1620 100644
--- a/src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
+++ b/src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
@@ -6,6 +6,7 @@
{"mask":"48140", "filename":"tabelle_html.xsl", "ord":"10"},
{"mask":"48140", "filename":"tabelle_xls_48140.xsl", "ord":"1"},
{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge.jrxml", "ord":"1"}
+{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge_shortcomment.jrxml", "ord":"2"}
] />
@@ -53,6 +54,17 @@
"usage_resultset_data":"T",
"stylesheet_type":"JRXML",
"jr_datasource":""
+},
+{"filename":"48110_leistungen_und_studiengaenge_shortcomment.jrxml",
+"caption":"Prüfungsergebnisse inkl. Kurzkommentar (Excel)",
+"description":"Studiengangsweise Ausgabe pro Reiter",
+"relation":"table",
+"contenttype":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+"is_generic":"0",
+"toolbar_icon_filepath":"",
+"usage_resultset_data":"T",
+"stylesheet_type":"JRXML",
+"jr_datasource":""
}
] />
diff --git a/superx/WEB-INF/reports/48110_leistungen_und_studiengaenge_shortcomment.jrxml b/superx/WEB-INF/reports/48110_leistungen_und_studiengaenge_shortcomment.jrxml
new file mode 100644
index 0000000..720f302
--- /dev/null
+++ b/superx/WEB-INF/reports/48110_leistungen_und_studiengaenge_shortcomment.jrxml
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+