Browse Source

Übersichtsbericht Testfälle mit Kreuztabelle nach Projekt #1

qa_0.6_Release
Daniel Quathamer 1 year ago
parent
commit
95f82dab4e
  1. 1
      src-modules/module/qa/conf/includes.txt
  2. 2
      src-modules/module/qa/conf/qa.xml
  3. 29
      src-modules/module/qa/datentabellen/qa_mask_execution_assert_result_code_setzen.sql
  4. 29
      src-modules/module/qa/masken/37020_maskeninfo.unl
  5. 210
      src-modules/module/qa/schluesseltabellen/sx_stylesheets_einfuegen.sql
  6. 465
      superx/WEB-INF/reports/tabelle_37020_mit_summary.jrxml

1
src-modules/module/qa/conf/includes.txt

@ -3,4 +3,5 @@ WEB-INF/conf/edustore/db/bin/SQL_ENV_qa.sam @@ -3,4 +3,5 @@ WEB-INF/conf/edustore/db/bin/SQL_ENV_qa.sam
WEB-INF/conf/edustore/db/bin/qa_mask_execution.x
WEB-INF/conf/edustore/db/bin/qa_tc_execution_mail.x
WEB-INF/lib/superx-qa.jar
WEB-INF/reports/tabelle_37020_mit_summary.jrxml
xml/tabelle_html_qa.xsl

2
src-modules/module/qa/conf/qa.xml

@ -998,6 +998,7 @@ format="%s"> @@ -998,6 +998,7 @@ format="%s">
<install-step name="Füllen der Modul-Tabellen">
<action error="stop">
<nativeaction sql="" scriptfile="$QA_PFAD/schluesseltabellen/sx_jobs_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$QA_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
<nativeaction sql="" scriptfile="$QA_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
</action>
@ -1009,6 +1010,7 @@ format="%s"> @@ -1009,6 +1010,7 @@ format="%s">
<upgrade-step version="1.2">
<action error="stop">
<nativeaction sql="" scriptfile="$QA_PFAD/schluesseltabellen/sx_jobs_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$QA_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
<nativeaction sql="" scriptfile="$QA_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$QA_PFAD/upgrade/qa_upgrade_man.sql" database=""/>

29
src-modules/module/qa/datentabellen/qa_mask_execution_assert_result_code_setzen.sql

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
--Achtung: Diese Script ist auch das select_stmt der Maske 37020
--Achtung: Diese Script qa_mask_execution_assert_result_code_setzen.sql ist auch das select_stmt der Maske 37020
<#assign resultValueNative="result_value::float" />
<#if SQLdialect='Postgres'>
@ -45,6 +45,8 @@ A.assert_result_value_min as result_value_min, @@ -45,6 +45,8 @@ A.assert_result_value_min as result_value_min,
A.assert_result_value_max as result_value_max,
null::varchar(255) as assert_caption,
null::varchar(255) as assert_value_range,
null::varchar(255) as projekt_uniquename,
null::varchar(255) as projekt_str,
null::varchar(255)[] as fields,
null::varchar(255) as nextedit,
null::varchar(255) as nextmask,
@ -88,6 +90,8 @@ A.assert_result_value_max as result_value_max, @@ -88,6 +90,8 @@ A.assert_result_value_max as result_value_max,
null::varchar(255) as assert_caption,
null::varchar(255) as assert_value_range,
null::varchar(255)[] as fields,
null::varchar(255) as projekt_uniquename,
null::varchar(255) as projekt_str,
('' || E.maskeninfo_id || '&')::text as nextmask,
('../edit/qa/qa_mask_execution_edit.jsp|tid=' || E.tid)::varchar(255) as nextedit,
('37040&Ergebnis=' || R.tid)::varchar(255) as nexttable
@ -101,8 +105,8 @@ target="tmp_testcase"> @@ -101,8 +105,8 @@ target="tmp_testcase">
/* and E.maskeninfo_id=<<Maske>> */
/* and E.userinfo_id=<<Benutzer/in>> */
/* and E.systeminfo_id=<<Komponente>> */
/* and E.name ilike '%<<Testfall-Name (Stichwort)>>%' */
/* and E.uniquename ilike '%<<Testfall-Schlüssel>>%' */
/* and position(<<Testfall-Name (Stichwort)>> in E.name)>0 */
/* and E.uniquename = <<Testfall-Schlüssel>> */
/* and date(R.execution_start) >= date_val(<<Ab Datum>>) */
/* and E.tid in (select P.mask_execution_id from qa_mask_execution2project P where P.project_id=<<Projekt>>) */
/* and 1=<<Testfall-Typ>> */
@ -155,7 +159,9 @@ round(extract(second from (execution_end-execution_start))::decimal,0)::decimal @@ -155,7 +159,9 @@ round(extract(second from (execution_end-execution_start))::decimal,0)::decimal
execution_end-execution_start
</#if>
;
update tmp_testcase set ticket_link=P.issue_link || TP.issue_id
update tmp_testcase set ticket_link=P.issue_link || TP.issue_id,
projekt_str=P.name,
projekt_uniquename=P.uniquename
from qa_mask_execution2project TP, qa_project P
where TP.mask_execution_id=tmp_testcase.mask_execution_id
and P.tid=TP.project_id
@ -179,6 +185,8 @@ A.def_col_caption, @@ -179,6 +185,8 @@ A.def_col_caption,
A.def_col_name,
A.def_col_value,
''::varchar(255) as ticket_link,
null::varchar(255) as projekt_uniquename,
null::varchar(255) as projekt_str,
('../edit/qa/qa_dbtest_edit.jsp|tid=' || T.tid)::varchar(255) as nextedit
"
source="qa_dbtest T, qa_dbtest_assertion A inner join qa_dbtest_result R
@ -192,13 +200,16 @@ target="tmp_qa_dbtest"> @@ -192,13 +200,16 @@ target="tmp_qa_dbtest">
/* and T.tid in (select P.dbtest_id from qa_dbtest2project P where P.project_id=<<Projekt>>) */
/* and E.userinfo_id=<<Benutzer/in>> */
/* and T.systeminfo_id=<<Komponente>> */
/* and T.name ilike '%<<Testfall-Name (Stichwort)>>%' */
/* and position(<<Testfall-Name (Stichwort)>> in T.name)>0 */
/* and T.uniquename = <<Testfall-Schlüssel>> */
/* and T.tid=<<DB-Test>> */
/* and 2=<<Testfall-Typ>> */
</@selectintotmp>
<@informixnolog/>;
update tmp_qa_dbtest set ticket_link=P.issue_link || TP.issue_id
update tmp_qa_dbtest set ticket_link=P.issue_link || TP.issue_id,
projekt_str=P.name,
projekt_uniquename=P.uniquename
from qa_dbtest2project TP, qa_project P
where TP.dbtest_id=tmp_qa_dbtest.tid
and P.tid=TP.project_id
@ -294,7 +305,11 @@ where fields is not null; @@ -294,7 +305,11 @@ where fields is not null;
</#if>
--update tmp_testcase set result_value=null where trim(result_value)='';
select systeminfo_id_str,
coalesce(projekt_str,'Unbekannt') as projekt_str,
execution_name,
uniquename,
maskeninfo_id_str,
@ -311,6 +326,6 @@ nexttable @@ -311,6 +326,6 @@ nexttable
,nextedit
</#if>
from tmp_testcase
order by 1,2,3,4,5,6,7;
order by 1,2,3,4,5,6,7,8;
</#if>

29
src-modules/module/qa/masken/37020_maskeninfo.unl

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--Achtung: Diese Script ist auch das select_stmt der Maske 37020\
--Achtung: Diese Script qa_mask_execution_assert_result_code_setzen.sql ist auch das select_stmt der Maske 37020\
\
<#assign resultValueNative="result_value::float" />\
<#if SQLdialect='Postgres'>\
@ -45,6 +45,8 @@ A.assert_result_value_min as result_value_min,\ @@ -45,6 +45,8 @@ A.assert_result_value_min as result_value_min,\
A.assert_result_value_max as result_value_max,\
null::varchar(255) as assert_caption,\
null::varchar(255) as assert_value_range,\
null::varchar(255) as projekt_uniquename,\
null::varchar(255) as projekt_str,\
null::varchar(255)[] as fields,\
null::varchar(255) as nextedit,\
null::varchar(255) as nextmask,\
@ -88,6 +90,8 @@ A.assert_result_value_max as result_value_max,\ @@ -88,6 +90,8 @@ A.assert_result_value_max as result_value_max,\
null::varchar(255) as assert_caption,\
null::varchar(255) as assert_value_range,\
null::varchar(255)[] as fields, \
null::varchar(255) as projekt_uniquename,\
null::varchar(255) as projekt_str,\
('' || E.maskeninfo_id || '&')::text as nextmask,\
('../edit/qa/qa_mask_execution_edit.jsp|tid=' || E.tid)::varchar(255) as nextedit,\
('37040&Ergebnis=' || R.tid)::varchar(255) as nexttable\
@ -155,7 +159,9 @@ round(extract(second from (execution_end-execution_start))::decimal,0)::decimal\ @@ -155,7 +159,9 @@ round(extract(second from (execution_end-execution_start))::decimal,0)::decimal\
execution_end-execution_start\
</#if>\
;\
update tmp_testcase set ticket_link=P.issue_link || TP.issue_id\
update tmp_testcase set ticket_link=P.issue_link || TP.issue_id,\
projekt_str=P.name,\
projekt_uniquename=P.uniquename\
from qa_mask_execution2project TP, qa_project P\
where TP.mask_execution_id=tmp_testcase.mask_execution_id\
and P.tid=TP.project_id\
@ -179,6 +185,8 @@ A.def_col_caption,\ @@ -179,6 +185,8 @@ A.def_col_caption,\
A.def_col_name,\
A.def_col_value,\
''::varchar(255) as ticket_link,\
null::varchar(255) as projekt_uniquename,\
null::varchar(255) as projekt_str,\
('../edit/qa/qa_dbtest_edit.jsp|tid=' || T.tid)::varchar(255) as nextedit\
"\
source="qa_dbtest T, qa_dbtest_assertion A inner join qa_dbtest_result R \
@ -199,7 +207,9 @@ target="tmp_qa_dbtest">\ @@ -199,7 +207,9 @@ target="tmp_qa_dbtest">\
</@selectintotmp>\
<@informixnolog/>;\
\
update tmp_qa_dbtest set ticket_link=P.issue_link || TP.issue_id\
update tmp_qa_dbtest set ticket_link=P.issue_link || TP.issue_id,\
projekt_str=P.name,\
projekt_uniquename=P.uniquename\
from qa_dbtest2project TP, qa_project P\
where TP.dbtest_id=tmp_qa_dbtest.tid\
and P.tid=TP.project_id\
@ -222,6 +232,7 @@ update tmp_qa_dbtest set \ @@ -222,6 +232,7 @@ update tmp_qa_dbtest set \
\
insert into tmp_testcase(testcase_type,\
systeminfo_id,\
projekt_str,\
execution_name,\
uniquename,\
--maskeninfo_id_str,\
@ -239,6 +250,7 @@ nextedit\ @@ -239,6 +250,7 @@ nextedit\
)\
select 2::integer as testcase_type, --DB-Test\
systeminfo_id,\
projekt_str,\
name,\
uniquename,\
case when ticket_link !='' then 'Ticket|' || ticket_link else '' end as ticket_link,\
@ -295,7 +307,11 @@ where fields is not null;\ @@ -295,7 +307,11 @@ where fields is not null;\
\
</#if>\
\
--update tmp_testcase set result_value=null where trim(result_value)='';\
\
\
select systeminfo_id_str,\
coalesce(projekt_str,'Unbekannt') as projekt_str,\
execution_name,\
uniquename,\
maskeninfo_id_str,\
@ -312,7 +328,7 @@ nexttable\ @@ -312,7 +328,7 @@ nexttable\
,nextedit\
</#if>\
from tmp_testcase\
order by 1,2,3,4,5,6,7;\
order by 1,2,3,4,5,6,7,8;\
\
</#if>^--freemarker template\
XIL List\
@ -322,6 +338,9 @@ XIL List\ @@ -322,6 +338,9 @@ XIL List\
Column CID=0 heading_text="Komponente" center_heading\
row_selectable col_selectable heading_platform readonly\
width=12 text_size=100\
Column CID=0 heading_text="Projekt" center_heading\
row_selectable col_selectable heading_platform readonly\
width=12 text_size=100\
Column CID=1 heading_text="Testfall" center_heading\
row_selectable col_selectable heading_platform readonly\
width=20 text_size=200\
@ -363,4 +382,4 @@ Column CID=1 heading_text="Bearbeiten" center_heading\ @@ -363,4 +382,4 @@ Column CID=1 heading_text="Bearbeiten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
</#if>\
@@@^^^Protokoll der Testfall-Ausführung ausgeben^drop table tmp_testcase;^^1^440^360^0^1^^
@@@^^^Protokoll der Masken-Ausführung ausgeben^drop table tmp_testcase;^^1^440^360^0^1^^

210
src-modules/module/qa/schluesseltabellen/sx_stylesheets_einfuegen.sql

@ -0,0 +1,210 @@ @@ -0,0 +1,210 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
{"mask":"37020", "filename":"tabelle_html_datenblatt.xsl", "ord":"1"},
{"mask":"37020", "filename":"tabelle_37020_mit_summary.jrxml", "ord":"2"}
] />
<#assign stylesheet = [
{"filename":"tabelle_37020_mit_summary.jrxml",
"caption":"Testfall Protokoll",
"description":"Protokoll mit Zusammenfassung",
"relation":"table",
"contenttype":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"is_generic":"0",
"toolbar_icon_filepath":"../images/icons/page_white_excel.svg",
"usage_resultset_data":"T",
"stylesheet_type":"JRXML",
"jr_datasource":"RS"
}
] />
<#assign stylesheet_field = [
] />
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.
<@sx_stylesheets_insert
m_masken=masken
m_stylesheet=stylesheet
m_stylesheet_field=stylesheet_field
/>
<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field>
--Sicherstellen, dass keine Duplikate vorkommen:
--####################################################################################################
<#foreach column in m_masken>
delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord};
</#foreach>
<#foreach column in m_stylesheet_field>
delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}');
</#foreach>
-- Stylesheets füllen
--####################################################################################################
create temp table tmp_stylesheets (
tid serial not null,
filename CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
relation CHAR(10) ,
useragent CHAR(255) ,
contenttype CHAR(200) ,
is_generic smallint,
toolbar_icon_filepath VARCHAR(255) ,
usage_resultset_data CHAR(10) default 'T' ,
stylesheet_type CHAR(10) default 'XSL' ,
jr_datasource CHAR(10)
);
create temp table tmp_hilf (tid integer);
insert into tmp_hilf select max(tid) from sx_stylesheets;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet>
insert into tmp_stylesheets (tid,
filename,
caption,
description,
relation,
contenttype,
is_generic,
toolbar_icon_filepath ,
usage_resultset_data ,
stylesheet_type ,
jr_datasource)
select max(tid)+${counter_tid},'${column.filename}',
'${column.caption}',
'${column.description}',
'${column.relation}',
'${column.contenttype}',
${column.is_generic},
'${column.toolbar_icon_filepath}' ,
'${column.usage_resultset_data}' ,
'${column.stylesheet_type}' ,
'${column.jr_datasource}'
from tmp_hilf;
<#assign counter_tid = counter_tid + 1 />
</#foreach>
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
update sx_stylesheets set is_generic=1
where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1);
</#if>
--delete für tml_stylesheets hinzugefügt #ak 06.03.2013
delete from tmp_stylesheets where filename in (select filename from sx_stylesheets);
insert into sx_stylesheets (tid,
filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','toolbar_icon_filepath')>
,toolbar_icon_filepath ,
usage_resultset_data ,
stylesheet_type ,
jr_datasource
</#if>
)
SELECT tid, filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','toolbar_icon_filepath')>
,toolbar_icon_filepath ,
usage_resultset_data ,
stylesheet_type ,
jr_datasource
</#if>
FROM tmp_stylesheets;
drop table tmp_stylesheets;
-- Mask Style füllen
--####################################################################################################
create temp table tmp_mask_style (
tid serial not null,
maskeninfo_id INTEGER ,
stylesheet_id INTEGER ,
ord SMALLINT,
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from sx_mask_style;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_masken>
insert into tmp_mask_style (tid,maskeninfo_id,ord,filename)
select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf;
update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord)
SELECT tid, maskeninfo_id, stylesheet_id, ord
FROM tmp_mask_style;
drop table tmp_mask_style;
--Field zu Stylesheet Zuordnungen:
--####################################################################################################
CREATE temp TABLE tmp_stylesheet_field
(
tid serial NOT NULL,
stylesheet_id INTEGER,
tablename char(255),
fieldname char(255),
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from stylesheet_field;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet_field>
INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname)
select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf;
update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname)
SELECT tid, stylesheet_id, tablename, fieldname
FROM tmp_stylesheet_field;
drop table tmp_stylesheet_field;
drop table tmp_hilf;
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_stylesheets');
select sp_update_sequence('sx_mask_style');
select sp_update_sequence('stylesheet_field');
</#if>
</#macro>

465
superx/WEB-INF/reports/tabelle_37020_mit_summary.jrxml

@ -0,0 +1,465 @@ @@ -0,0 +1,465 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.5.1.final using JasperReports Library version 6.5.1 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Testfall-Protokoll" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="818" leftMargin="12" rightMargin="12" topMargin="12" bottomMargin="12" uuid="6951068f-d120-4065-b29f-7f356b92439e">
<property name="net.sf.jasperreports.export.xls.create.custom.palette" value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows " value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="qa_protokoll"/>
<template><![CDATA["simple_table.jrtx"]]></template>
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<style name="Crosstab_CH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Crosstab_CG" mode="Opaque" backcolor="#BFE1FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Crosstab_CT" mode="Opaque" backcolor="#005FB3">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Crosstab_CD" mode="Opaque" backcolor="#FFFFFF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<queryString language="xPath">
<![CDATA[/ergebnisse/ergebnis/ergebniselement[@ordnr='0']/sqlerg/row]]>
</queryString>
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION]]></fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_URL]]></fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_LOGO_FILE]]></fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_ADRESS]]></fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_EMAIL]]></fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL]]></fieldDescription>
</field>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/maskenname]]></fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/explanation]]></fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/hinweis]]></fieldDescription>
</field>
<field name="Komponente" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="0" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Projekt" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="1" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Testfall" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="2" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Testfall Schlüssel" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="3" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Maske" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="4" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Maske aufrufen" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="5" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Ticket" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="6" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Ausführungszeit Start" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="7" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Dauer (Sek.)" class="java.lang.Double">
<fieldDescription><![CDATA[col[@id="8" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Erwarteter Wert (Zelle)" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="9" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Erwarteter Wert" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="10" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Gefundener Wert" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="11" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Ausführungsstatus" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="12" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Details" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="13" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Bearbeiten" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="14" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="legende_Ausführungs-Status_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Ausführungs-Status"]/@varname]]></fieldDescription>
</field>
<field name="legende_Ausführungs-Status_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Ausführungs-Status"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Komponente_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Komponente"]/@varname]]></fieldDescription>
</field>
<field name="legende_Komponente_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Komponente"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Projekt_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Projekt"]/@varname]]></fieldDescription>
</field>
<field name="legende_Projekt_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Projekt"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Maske_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Maske"]/@varname]]></fieldDescription>
</field>
<field name="legende_Maske_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Maske"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Nur aktive_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Nur aktive"]/@varname]]></fieldDescription>
</field>
<field name="legende_Nur aktive_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Nur aktive"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Ab Datum_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Ab Datum"]/@varname]]></fieldDescription>
</field>
<field name="legende_Ab Datum_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Ab Datum"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Testfall-Name (Stichwort)_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Testfall-Name (Stichwort)"]/@varname]]></fieldDescription>
</field>
<field name="legende_Testfall-Name (Stichwort)_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Testfall-Name (Stichwort)"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Testfall-Schlüssel_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Testfall-Schlüssel"]/@varname]]></fieldDescription>
</field>
<field name="legende_Testfall-Schlüssel_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Testfall-Schlüssel"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Benutzer/in_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Benutzer/in"]/@varname]]></fieldDescription>
</field>
<field name="legende_Benutzer/in_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Benutzer/in"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Testfall-Typ_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Testfall-Typ"]/@varname]]></fieldDescription>
</field>
<field name="legende_Testfall-Typ_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Testfall-Typ"]/value_caption]]></fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/stand]]></fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/user]]></fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression><![CDATA[0]]></variableExpression>
</variable>
<group name="tabellennr">
<groupExpression><![CDATA[$V{tabellennr}]]></groupExpression>
<groupHeader>
<band height="30">
<textField>
<reportElement style="LegendLabel" x="0" y="0" width="818" height="20" uuid="5db3edeb-36ec-4c94-abd5-428b80f91b67"/>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression><![CDATA["Filterkriterien: "]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent" x="0" y="20" width="818" height="10" isPrintWhenDetailOverflows="true" uuid="5ec5d56b-7f79-48b3-8966-cb9689dab7bb"/>
<box padding="5"/>
<textFieldExpression><![CDATA[""+(($F{legende_Ausführungs-Status_value}==null || $F{legende_Ausführungs-Status_value}=="")?"":($F{legende_Ausführungs-Status_label}+": "+$F{legende_Ausführungs-Status_value}+";"))
+(($F{legende_Nur aktive_value}==null || $F{legende_Nur aktive_value}=="")?"":($F{legende_Nur aktive_label}+": "+$F{legende_Nur aktive_value}+";"))
+(($F{legende_Ab Datum_value}==null || $F{legende_Ab Datum_value}=="")?"":($F{legende_Ab Datum_label}+": "+$F{legende_Ab Datum_value}+";"))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression><![CDATA[$F{Hinweis}!=""]]></printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent" positionType="Float" x="0" y="0" width="818" height="10" isPrintWhenDetailOverflows="true" uuid="dd71ce23-fa48-4aa9-8322-96f4cb33853d"/>
<box padding="5"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Hinweis}]]></textFieldExpression>
</textField>
</band>
<band height="30">
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="0" y="0" width="56" height="30" uuid="0e85ce94-effb-4b11-91d3-f6c1a5db0ca3"/>
<text><![CDATA[Komponente]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="56" y="0" width="56" height="30" uuid="27256e59-97f6-4c58-baf3-233b16b0b2c6"/>
<text><![CDATA[Projekt]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="112" y="0" width="94" height="30" uuid="9f30b83d-9723-4635-adb0-27f707cb8d64"/>
<text><![CDATA[Testfall]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="206" y="0" width="94" height="30" uuid="98578247-5706-4605-b819-da3b83fcedf1"/>
<text><![CDATA[Testfall
Schlüssel]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="300" y="0" width="140" height="30" uuid="66bc9b7b-b647-4c47-8a1f-324f71c78f60"/>
<text><![CDATA[Maske]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="440" y="0" width="66" height="30" uuid="05b2c177-c25a-457b-b85f-482889299420"/>
<text><![CDATA[Ausführungszeit
Start]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="506" y="0" width="28" height="30" uuid="97ebe6b5-88b7-414f-ab90-5ebe1277eb51"/>
<text><![CDATA[Dauer
(Sek.)]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="534" y="0" width="71" height="30" uuid="50d12a90-4564-4727-916c-52ab4979fd5b"/>
<text><![CDATA[Erwarteter Wert
(Zelle)]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="605" y="0" width="71" height="30" uuid="27e77e66-7a8a-45c6-ba22-d17029760273"/>
<text><![CDATA[Erwarteter Wert]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="676" y="0" width="72" height="30" uuid="701a03f9-00af-4582-8d58-7d27396adcf2"/>
<text><![CDATA[Gefundener Wert]]></text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="748" y="0" width="71" height="30" uuid="0c828de8-799d-4dd4-be09-d9147cfc6dc2"/>
<text><![CDATA[Ausführungsstatus]]></text>
</staticText>
</band>
</groupHeader>
</group>
<title>
<band height="75">
<textField>
<reportElement style="ReportHeadingInstitution" x="0" y="0" width="818" height="30" uuid="8fffa6d3-064d-423b-b3dd-9ad04ce04520"/>
<textFieldExpression><![CDATA[$F{REPORT_HEADING_INSTITUTION} + " | "+ $F{user}]]></textFieldExpression>
</textField>
<textField>
<reportElement style="ReportTitle" x="0" y="30" width="818" height="45" uuid="7d36095d-a560-454c-ab5e-39c3e10de82e"/>
<textFieldExpression><![CDATA[$F{Berichtsname}]]></textFieldExpression>
</textField>
</band>
</title>
<detail>
<band height="30" splitType="Stretch">
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="0" y="0" width="56" height="30" uuid="806acd94-51c9-4a3b-8684-d9eca59a5b5e"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Komponente}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="56" y="0" width="56" height="30" uuid="09a44cc9-782a-46bc-807a-6696dfdc0a67"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Projekt}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="112" y="0" width="94" height="30" uuid="159ccdb7-94ea-4b51-8695-fa61a98b5fc6"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Testfall}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="206" y="0" width="94" height="30" uuid="22ab8618-3dd5-4e23-aea2-da5399265526"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Testfall Schlüssel}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="300" y="0" width="140" height="30" uuid="63917df5-31c3-40fb-a93c-d4ff905d0b1b"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Maske}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="dd.MM.yyyy hh:mm:ss" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="440" y="0" width="66" height="30" uuid="bd6ee8f2-cbf6-44fa-948d-d01d54387bac"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Ausführungszeit Start}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="506" y="0" width="28" height="30" uuid="954e88c4-6e2c-4a26-af3f-d03dc82a9bc9"/>
<textFieldExpression><![CDATA[$F{Dauer (Sek.)}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="534" y="0" width="71" height="30" uuid="bfb07276-113b-4fd6-ad9d-81a1e3ae8f23"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Erwarteter Wert (Zelle)}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="605" y="0" width="71" height="30" uuid="02062232-cc73-46c4-a29e-da72cbdd1360"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Erwarteter Wert}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="676" y="0" width="72" height="30" uuid="196d793b-4c46-47a4-976b-321d1d894999"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Gefundener Wert}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="748" y="0" width="71" height="30" uuid="f9fb7fd3-8425-4b1c-92ff-c8e21bafdcb5"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[$F{Ausführungsstatus}]]></textFieldExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="29">
<textField>
<reportElement x="718" y="0" width="100" height="29" uuid="4c6a9027-128e-40f6-b98a-cefcf5ba7c63"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<summary>
<band height="237">
<crosstab>
<reportElement positionType="Float" x="0" y="0" width="819" height="237" uuid="dd0e92b5-94d0-41b1-a4b8-a7fc3867f381">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/>
<property name="com.jaspersoft.studio.crosstab.style.header" value="Crosstab_CH"/>
<property name="com.jaspersoft.studio.crosstab.style.group" value="Crosstab_CG"/>
<property name="com.jaspersoft.studio.crosstab.style.total" value="Crosstab_CT"/>
<property name="com.jaspersoft.studio.crosstab.style.detail" value="Crosstab_CD"/>
</reportElement>
<rowGroup name="Projekt" width="120" totalPosition="End">
<bucket class="java.lang.String">
<bucketExpression><![CDATA[$F{Projekt}]]></bucketExpression>
</bucket>
<crosstabRowHeader>
<cellContents mode="Opaque" style="Crosstab_CH">
<textField>
<reportElement x="0" y="0" width="120" height="20" uuid="66ba7f29-ac72-4518-8ed4-1e2e8a285a70"/>
<textFieldExpression><![CDATA[$V{Projekt}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabRowHeader>
<crosstabTotalRowHeader>
<cellContents mode="Opaque" style="Crosstab_CT">
<staticText>
<reportElement x="0" y="0" width="120" height="20" forecolor="#FFFFFF" uuid="0a7ad23e-c2af-497e-8ce8-5fb597b278b6"/>
<text><![CDATA[Gesamt]]></text>
</staticText>
</cellContents>
</crosstabTotalRowHeader>
</rowGroup>
<columnGroup name="Ausführungsstatus" height="20" totalPosition="End">
<bucket class="java.lang.String">
<bucketExpression><![CDATA[$F{Ausführungsstatus}]]></bucketExpression>
</bucket>
<crosstabColumnHeader>
<cellContents mode="Opaque" style="Crosstab_CH">
<textField>
<reportElement x="0" y="0" width="60" height="20" uuid="d659d9cd-f101-4d58-9d0e-d70f39c6a788"/>
<textFieldExpression><![CDATA[$V{Ausführungsstatus}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabColumnHeader>
<crosstabTotalColumnHeader>
<cellContents mode="Opaque" style="Crosstab_CT">
<staticText>
<reportElement x="0" y="0" width="60" height="20" forecolor="#FFFFFF" uuid="dff64fcd-eefa-4952-b878-318ea9871232"/>
<text><![CDATA[Summe]]></text>
</staticText>
</cellContents>
</crosstabTotalColumnHeader>
</columnGroup>
<measure name="Testfall Schlüssel_MEASURE" class="java.lang.Integer" calculation="Count">
<measureExpression><![CDATA[$F{Testfall Schlüssel}]]></measureExpression>
</measure>
<crosstabCell width="60" height="20">
<cellContents mode="Opaque" style="Crosstab_CD">
<textField>
<reportElement x="0" y="0" width="60" height="20" uuid="5c355444-462d-4fb9-a027-d8b4e4ea7dca"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$V{Testfall Schlüssel_MEASURE}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell width="60" height="20" columnTotalGroup="Ausführungsstatus">
<cellContents mode="Opaque" style="Crosstab_CT">
<textField>
<reportElement x="0" y="0" width="60" height="20" forecolor="#FFFFFF" uuid="8c04e33d-e87a-4647-b9e4-f92604ede2a0"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$V{Testfall Schlüssel_MEASURE}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell width="60" height="20" rowTotalGroup="Projekt">
<cellContents mode="Opaque" style="Crosstab_CT">
<textField>
<reportElement x="0" y="0" width="60" height="20" forecolor="#FFFFFF" uuid="85a23534-881f-4026-bdaa-f7c70efcb279"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$V{Testfall Schlüssel_MEASURE}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell width="60" height="20" rowTotalGroup="Projekt" columnTotalGroup="Ausführungsstatus">
<cellContents mode="Opaque" style="Crosstab_CT">
<textField>
<reportElement x="0" y="0" width="60" height="20" forecolor="#FFFFFF" uuid="62f83d0e-3e63-49ba-808f-b339a59b1461"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$V{Testfall Schlüssel_MEASURE}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
</crosstab>
</band>
</summary>
</jasperReport>
Loading…
Cancel
Save