我正在尝试使用Eclipse BIRT报表设计器生成报表。
情况如下:
有2个Web服务数据源。 Web服务有两个数据集&#WS;'和#WS2'分别。
输出元素' COUNTRYID'一个网络服务#WS1'将作为另一个网络服务的输入' WS2'。
我做了什么:
在网络服务' WS1'的数据集中创建了一个虚拟的计算列。表达式:
params["COUNTRYID"].value=row["COUNTRYID"]
现在' WS2'的输入参数数据集与全局参数' COUNTRYID'有关。
当我运行报告时,我看到全局参数包含来自' WS1'的值。输出。
但是报告没有显示来自网络服务响应的值' WS2'
我的问题:
答案 0 :(得分:0)
除非明确地绑定到报表元素,否则不会触发WS1。通常,为实现此目的,我们应用以下步骤:
它将强制静默执行WS1,因此这将在WS2运行之前填充参数COUNTRYID。
但是,如果符合以下条件,这种方法将无效:
您可以使用以下命令在与报告参数相同的位置对其进行初始化:
vars["COUNTRYID"]=row["COUNTRYID"];
并随身携带
vars["COUNTRYID"];
报表变量可从表达式编辑器的选项板中获取: