Über Vorlagen lassen sich vordefinierte Blöcke von SQL-Code einrichten, die zur Laufzeit anhand vordefinierter Bedingungen eingeschlossen oder ausgeschlossen werden können. Dieses Konzept ist besonders hilfreich beim Einrichten von provisorischen Berichterstellungsanwendungen. Die Möglichkeit, Datenfilter dynamisch hinzuzufügen oder zu entfernen oder den zurückgegebenen Datensatz dynamisch zu ändern, ist sehr hilfreich für provisorische Berichte. Zuvor bestand das Problem darin, dass über die URL nur Datenwerte an den LiveReport übergeben werden konnten. Das Hinzufügen weiterer Filter, z. B. AND NAME = 'test', ist nach dem Erstellen des LiveReports nicht mehr möglich. Wenn all die möglichen Filterklauseln beim ersten Erstellen des LiveReports hinzugefügt werden, schlägt die SQL-Abfrage möglicherweise fehl, wenn nicht für jede einzelne dieser Klauseln gültige Werte übergeben werden. Dies würde normalerweise erfordern, dass für jede dieser nicht benötigten Klauseln Platzhalter übergeben werden, um sicherzustellen, dass die SQL-Abfrage die richtige Anzahl von Ergebnissen zurückgibt.
Als erster Schritt zur Bewältigung dieses Problems, schuf der Parametertyp InsertStr Abhilfe bei dieser Anforderung, indem er ermöglichte, unterschiedliche Mengen von SQL-Anweisungen in die SQL-Quelle einzufügen. Das größte Problem bei dieser Methode besteht darin, dass in einigen Fällen große Mengen an SQL-Anweisungen über die URL übergeben werden. In der Regel wird bei diesem Ansatz eine komplette SQL-Klausel, z. B. AND Name = 'test', an den LiveReport übergeben.
Über die Vorlagenfunktion können jegliche optionale SQL-Klauseln im eigentlichen LiveReport vordefiniert werden. Jede Vorlage wird so eingerichtet, dass nur die Datenbestandteile, die variabel sein müssen, z. B. = 'test', in die URL übergeben werden. Jede Vorlage kann so eingerichtet werden, dass für das Einschließen der Vorlage eine vordefinierte Bedingung erfüllt werden muss. Diese Bedingungen werden in diesem Dokument ausführlich behandelt. Im Allgemeinen wird das Einschließen von Vorlagen darüber bestimmt, ob bestimmte Variablen auf vordefinierte Flagwerte gesetzt sind oder ob ein vordefinierter Parameter in der URL festgelegt ist.
Auf Basis des vorherigen Beispiels könnte eine Vorlage beispielsweise wie folgt aussehen: AND Name = %1. Ausgehend von der Annahme, dass %1 ein Benutzereingabeparameter vom Typ Zeichenfolge ist, könnte die Vorlage so eingerichtet werden, dass sie nur eingeschlossen wird, wenn %1 keine leere Zeichenfolge ist. Auf diese Weise wäre sichergestellt, dass der Text AND Name = %1 nur dann in die SQL-Abfrage eingeschlossen wird, wenn %1 mit einem nicht leeren Wert in die URL übergeben wird.
Die Vorlagenfunktion liefert die Fähigkeit, SQL-Segmente zu erstellen, die der primären SQL-Abfrage optional hinzugefügt werden können. Diese Funktion stellt viele neue Fähigkeiten bereit. Vor allem aber erleichtert sie das Unterstützen von Anwendungen, bei denen möglicherweise unterschiedlich viele WHERE/AND-Klauseln in einer Abfrage erforderlich sind.
Für jede Vorlage lässt sich definieren, welche Bedingungen bestimmen, ob eine optionale SQL-Quelle verwendet wird oder nicht. Wählen Sie dazu IF einschließen aus. Weitere Informationen finden Sie unter IF einschließen in SQL-Vorlagenfelder und IF einschließen. Die einzelnen Vorlagenfelder werden im nächsten Thema erläutert. Jede Vorlage enthält die Schaltfläche Vorlagenverhalten anzeigen
, um zu veranschaulichen, wie die Vorlage mit den aktuellen Einstellungen interpretiert wird.
Mit der Schaltfläche Vorlagenzeile hinzufügen
können Sie weitere Vorlagen erstellen. Um Vorlagen zu entfernen, löschen Sie den Text im entsprechenden Feld SQL-Quelle und speichern den LiveReport.