我们使用Eclipse(Galileo)为SilkCentral Test Manager(版本11)创建一些自定义BIRT报告(版本2.5)。在SCTM中创建报告时,我们必须指定要用于报告的SQL查询。我们还必须在Eclipse中设计BIRT报告时指定SQL查询。如何在SilkCentral测试管理器中获取自定义BIRT报告以提取当前选定的项目?
我知道,在SCTM SQL语句中,我们可以指定参数根据当前设置,如当前选择的项目被拉到:
WHERE TPN.PROJECTID_FK = ${$PROJECTID}
我认为这将结转到BIRT报告与SCTM报告有关,但事实并非如此。我创建了SCTM一份新的报告,并指定以下查询(其中不包含将被显示在BIRT报表信息):
SELECT proj."ProjectName", proj."ProjectID_pk"
FROM "Silk"."SCC_Projects" AS proj
然后我去了报告,标签和相关的自定义报告并显示报告正确地证明它正在使用来自BIRT的数据源/数据集而不是SCTM中提供的SQL。
我面临的问题是我想让自定义报告显示当前选定的项目,但我无法在Eclipse中正确指定它。我需要这个,因为我想只有一个报告模板用于多个项目,而不必为每个单个项目上传自定义报告。
该项目硬编码的值绝对不起作用:
WHERE TPN.PROJECTID_FK = 34
我已尝试设置它作为一个参数(名称=专案编号,数据类型=整数,DisplayType = Text Box,DefaultValue = 34)。
WHERE TPN.PROJECTID_FK =?
运行时,报告将提取默认值,而不是当前选定的项目。
我试图将其设置为一个动态参数(名称=专案编号,数据类型=整数,显示类型=列表框,数据集=专案编号,SelectValueColumn = ProjectID_pk,SelectDisplayText =项目名,默认值= 36)
这也拉动报告运行时的默认值。
默认值是必填字段,所以我不知道如何才能使其正常工作。
任何建议/解决方案?