前のトピック: レポート パラメータ XML ファイルの作成次のトピック: パラメータ リスト ボックス用の Java Beans の定義


パラメータ リスト ボックス用のSQL クエリの定義

SQL クエリは、レポート パラメータ XML ファイルのリスト ボックスまたはドロップダウン ボックスの一部として定義できます。 パラメータをレポートに関連付け、レポート タスクを作成すると、パラメータが、リスト ボックスまたはドロップダウン ボックスによってユーザに表示されます。 ドロップダウン ボックスまたはリスト ボックス パラメータで 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、タイプが String のパラメータの場合、以下のようになります。

<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 Identity Manager は、##User## を、id=User のパラメータに入力された値と置き換えます。

注: 置換されるパラメータ値は、SQL パラメータと同じ画面には入力できません。 たとえば、「lstlastname2」が画面 3 にある場合、User パラメータは以前の画面にいずれかに入力する必要があります。