Tema anterior: Creación de archivos XML de parámetros de informeTema siguiente: Definición de los bean de Java para el cuadro de lista de parámetros


Definición de consultas SQL para el cuadro de lista de parámetros

Se pueden definir consultas SQL como parte de un cuadro de lista o un cuadro desplegable en el archivo XML de parámetros de informe. Cuando se asocia un parámetro al informe y se crea una tarea del informe, el parámetro aparecerá en el cuadro de lista o en el cuadro desplegable para el usuario. Para utilizar SQL en el cuadro desplegable o parámetro de cuadro de lista, proporcione una instrucción SQL válida en el atributo de sql.

Ejemplo:

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

En el ejemplo anterior, se proporcionan al informe todos los apellidos de los usuarios cuyo nombre empiece por S.

Sin embargo, la condición del nombre que empieza por S es estática. Esta consulta no resulta lo bastante flexible como para que un usuario cargue el valor en función del valor del parámetro introducido en una de las pantallas anteriores que se ha utilizado en el mismo grupo de parámetros de informe. Para utilizar un valor que se haya introducido anteriormente en otra pantalla, la instrucción SQL se puede aumentar con ##<parameter id>##.

Por ejemplo, si se tiene un parámetro con la condición id=Usuario del tipo Cadena:

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

Si se desea utilizar el valor de entrada para el parámetro en SQL, la instrucción SQL podría ser la siguiente:

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

CA Identity Manager sustituirá ##User## por el valor que se haya introducido para el parámetro con la condición id=Usuario.

Nota: El valor del parámetro que se tiene que sustituir no puede estar en la misma pantalla que el parámetro de SQL. Por ejemplo, si lstlastname2 está en la pantalla 3, el parámetro de usuario debería estar en una de las pantallas anteriores.