我在StackOverflow上发布了这个问题,但没有得到任何答案,所以在这里重新发布。
我们正在使用 Eclipse (Galileo) 为 SilkCentral Test Manager(版本 11)创建一些自定义 BIRT 报告(版本 2.5)。在 SCTM 中创建报告时,我们必须指定要用于报告的 SQL 查询。在 Eclipse 中设计 BIRT 报告时,我们还必须指定 SQL 查询。
我知道在 SCTM SQL 语句中我们可以根据当前设置指定要拉取的参数,例如当前选择的项目:
WHERE TPN.PROJECTID_FK = ${$PROJECTID}
我认为这会延续到与 SCTM 报告相关的 BIRT 报告,但事实并非如此。我在 SCTM 中创建了一个新报告并指定了以下查询(其中不包含将在 BIRT 报告中显示的信息):
SELECT proj."ProjectName", proj."ProjectID_pk"
FROM "Silk"."SCC_Projects" AS proj
然后我转到报告选项卡并关联一个自定义报告,报告正确显示,证明它使用的是来自 BIRT 的数据源/数据集,而不是 SCTM 中提供的 SQL。
我面临的问题是我希望自定义报告显示当前选择的项目,但我无法在 Eclipse 中正确指定它。我需要这个,因为我只想让一个报告模板用于多个项目,而不是为每个项目上传自定义报告。
项目的硬编码值绝对不起作用:
其中 TPN.PROJECTID_FK = 34
我尝试将其设置为参数(Name=projectID,DataType=Integer,DisplayType=Text Box,DefaultValue = 34)。
在哪里 TPN.PROJECTID_FK = ?
运行时,报告会提取默认值,而不是当前选定的项目。
我尝试将其设置为动态参数(Name=projectID,DataType=Integer,DisplayType=ListBox,DataSet=ProjectID,SelectValueColumn=ProjectID_pk,SelectDisplayText=ProjectName,DefaultValue=36)
这也会在报告运行时提取默认值。
默认值是必填字段,所以我不知道该怎么做才能使其正常工作。
有什么建议/解决方案吗?