使用Birt报告参数验证消息

时间:2014-03-31 20:17:08

标签: validation parameters birt maximo

我正在使用某些参数创建BIRT报告。我有一个int参数(月数),其值可以是1到12.

我需要检查该值是否大于12.在这种情况下,它应该向我显示自定义消息,而不是像现在这样做的错误。

错误:

org.eclipse.birt.report.service.api.ReportServiceException: The validation for parameter "nummonths" fails.

当前脚本:

if (params["nummonths"].value > 12 )
    {
    false;
    } 
else
    {
    true;
    }

我在BIRT中创建报告以将其上传到IBM Maximo Asset Management系统。也许在Maximo中有不同的解决方法。

感谢您的时间!希望能帮到别人。

1 个答案:

答案 0 :(得分:2)

您可以创建一个动态文本作为警告,并使用表达式

隐藏它(属性“visibility”)
params["nummonths"].value <= 12

有一个这样的方法的例子here,如果我们选择超过10个国家或超过10个指标,报告顶部会显示一个警告标签。

Example of rptdesign

有趣的是,虽然显示了警告,但我们还可以创建一个规则来替换onCreate等脚本中的错误参数值。这样报告就可以正确运行。例如,在您的情况下,我们可以在脚本中执行:

if (params["nummonths"].value > 12){
  params["nummonths"].value=12;
}

或者,当参数错误时,您也可以在“beforeFactory”中删除一些报表元素。