上一主题: 创建报告参数 XML 文件下一主题: 定义参数列表框的 Java Bean


定义参数列表框的 SQL 查询

您可以在报告参数 XML 文件中将 SQL 查询定义为列表框或下拉框的一部分。 在您将参数与该报告关联并创建报告任务时,参数为用户显示在列表框或下拉框中。 要在下拉框或列表框参数中使用 SQL,请在 sql 属性中提供有效的 SQL 语句。

示例:

<param id="lstlastname2" displaytext="Name" name="lstlastname2" type="sqlstr" multiselect="true" sql="select lastname, lastname from tblusers where firstname like 'S%/> 

在上例中,会将名字以“S”开始的所有用户的姓氏提供给报告。

不过,名字以“S”开始的这一条件是静态的。 对于根据在以前的某一屏幕(用于同一报告参数组中)中输入的参数值来加载值的用户来说,这一条件不够灵活。 为了使用以前在其他屏幕中输入的值,可以利用“##<parameter id>##”扩展 SQL 语句。

例如,如果您使用了包含 id=User 的类型为字符串的参数:

<param id="User" displaytext="First Name" name="firstname" type="string"/>,

您想在 SQL 中使用该参数的输入值,SQL 语句可以如下所示:

<param id="lstlastname2" displaytext="Name" name="lstlastname2" type="sqlstr" multiselect="true" sql="select lastname, lastname from tblusers where firstname like '##User##’/> 

CA IdentityMinder 将会使用为包含 id=User 的参数输入的值替换 ##User##。

注意:要替代的参数值不能和 SQL 参数位于同一屏幕上。 例如,如果“lstlastname2”在屏幕 3 中,则“User”参数应位于前面的某一屏幕中。