Sie können SQL-Abfragen als Teil eines Listenfelds oder Drop-down-Felds in der XML-Datei mit den Berichtsparametern definieren. Wenn Sie einen Parameter zum Bericht zuordnen und eine Berichtsaufgabe erstellen, dann wird der Parameter im Listenfeld oder im Drop-down-Feld angezeigt. Um SQL im Drop-down-Feld oder Listenfeldparameter zu verwenden, geben Sie eine gültige SQL-Anweisung im SQL-Attribut an.
Beispiel:
<param id="lstlastname2" displaytext="Name" name="lstlastname2" type="sqlstr" multiselect="true" sql="select lastname, lastname from tblusers where firstname like 'S%/>
Im vorherigen Beispiel werden alle Nachnamen von Benutzern, deren Vorname mit "S" anfängt, für den Bericht abgerufen.
Die Bedingung, dass der Vorname mit "S" anfängt, ist jedoch statisch. Diese Abfrage ist nicht flexibel genug, damit ein Benutzer den Wert basierend auf dem Parameterwert laden kann, der in einem der vorherigen Fenster eingegeben und in der gleichen Berichtsparametergruppe verwendet wurde. Um einen Wert zu verwenden, der zuvor in einem anderen Fenster eingegeben wurde, kann die SQL-Anweisung mit "##<parameter id>##" erweitert werden.
Wenn Sie beispielsweise einen Parameter mit "id=User" und "type=string" haben:
<param id="User" displaytext="First Name" name="firstname" type="string"/>
Wenn Sie den Eingabewert für diesen Parameter in SQL verwenden möchten, kann die SQL-Anweisung folgendermaßen lauten:
<param id="lstlastname2" displaytext="Name" name="lstlastname2" type="sqlstr" multiselect="true" sql="select lastname, lastname from tblusers where firstname like '##User##’/>
CA Identity Manager ersetzt ##User## mit dem Wert, der für den Parameter mit "id=User" eingegeben wurde.
Hinweis: Der zu ersetzende Parameterwert darf sich nicht im gleichen Fenster wie der SQL-Parameter befinden. Wenn zum Beispiel "lstlastname2" im Fenster 3 vorkommt, sollte sich der Benutzerparameter in einem der vorherigen Fenster befinden.
|
Copyright © 2015 CA Technologies.
Alle Rechte vorbehalten.
|
|