Sie können das Einfügen von Vorlagen nicht nur mit eindeutigen URL-Parametern steuern, sondern auch anhand der Werte von Benutzereingabe-Parametern in der Vorlage festlegen, ob eine Vorlage eingefügt werden soll. Legen Sie hierzu die folgende Vorlage zugrunde:

NAME = %1 AND DATAID > %2

Bei Einrichtung der Vorlage kann ein Flagwert festgelegt werden, anhand dessen festgelegt wird, ob die Vorlage eingeschlossen wird oder nicht. Es kann beispielsweise ein Wert für eine leere Zeichenfolge festgelegt werden.

Es kann entweder festgelegt werden, dass die Vorlage nicht verwendet wird, wenn eines der Flags auf eine leere Zeichenfolge festgelegt ist, oder es kann festgelegt werden, dass die Vorlage ausgeschlossen wird, wenn beide Parameter auf leere Zeichenfolgen festgelegt sind.

In den meisten Fällen handelt es sich beim festgelegten Flag um eine leere Zeichenfolge. Auf diese Weise können Vorlagen ausgeschlossen werden, wenn ein oder mehrere Parameter nicht verwendet werden.

Beispiel 1-4: Eine Vorlage ausschließen, wenn einer der Parameter leer ist.

Dieses Beispiel veranschaulicht anhand von zwei URLs, wie sich unterschiedliche Eingabeeinstellungen auf die ausgeführte SQL-Quelle auswirken. Die Vorlage verwendet einen einzigen Benutzereingabe-Parameter (%1). Die Bedingung IF einschließen ist auf Keine Eingaben gesetzt auf Flag eingestellt. Die Vorlage wird also NICHT eingeschlossen, wenn die Benutzereingabe auf den festgelegten Flagwert eingestellt ist. Beim Flagwert handelt es sich in diesem Beispiel um eine leere Zeichenfolge. Konkret heißt das, wenn &inputlabel1 nicht in die URL eingeschlossen ist oder &inputlabel1= auf nichts eingestellt ist, z. B. auf eine leere Zeichenfolge, wird die Vorlage nicht eingeschlossen. Ist inputlabel1 auf etwas anderes eingestellt, dann wird die Vorlage eingeschlossen. In URL 1 wurde ein Wert für &inputlabel1 festgelegt, die Vorlage wird also eingeschlossen. In URL 2 wurde &inputlabel1 leer gelassen, die Vorlage ist also nicht eingeschlossen. Der Abschnitt Parameter dieses LiveReports wurde zwar nicht gezeigt, aber für %1 wurde auf denselben Wert wie Benutzereingabe 1 festgelegt.

  1. Geben Sie im Feld SQL unter SQL-Hauptquelle Folgendes ein:

    select * from DTREE
    ~1
  2. Definieren Sie ~1 im Bereich Vorlagen:

    • Deaktivieren Sie das Kontrollkästchen Auto-Where.

    • Geben Sie im Feld SQL-Quelle den Text where name = %1 ein.

    • Deaktivieren Sie das Kontrollkästchen Auto-Comma.

    • Klicken Sie in der Liste IF einschließen auf Keine Eingaben gesetzt auf Flag.

    • Lassen Sie in der Spalte Optionen das Feld Flagwert leer. Ein leerer Text in diesem Feld bedeutet, dass der Flagwert eine leere Zeichenfolge ist.

  3. Schließen Sie im Bereich Eingaben einige allgemeine Eingaben mit ein. Schließen Sie z. B. eine Eingabe des Typs Zeichenfolge mit einer Eingabeaufforderung namens name ein.

  4. Fügen Sie im Bereich Parameter einen Benutzereingabe-Parameter hinzu.

Wenn Sie auf die folgende Beispiel-URL1 zugreifen:

...&inputLabel1=New WebReport&nextURL=...

Bei dieser Art von Bedingung müssen keine zusätzlichen Parameter eingeschlossen werden, da der Einschluss der Vorlage ausschließlich auf dem Inhalt normaler Benutzereingabe-Parameter basiert.

Die resultierende SQL-Anweisung für URL1 enthält im Feld SQL-Quelle den Text select * from DTREE where name = 'New Web Report'.

Wenn Sie auf die folgende Beispiel-URL2 zugreifen:

...&inputLabel1=&nextURL=...

Beachten Sie, dass der Parameter auf eine leere Zeichenfolge gesetzt wird, wenn zwischen dem Gleichheitszeichen (=) und dem Beginn des nächsten Parameters (&) oder dem Ende der URL kein Text angegeben ist.

Die resultierende SQL-Anweisung für URL2 enthält im Feld SQL-Quelle den Text select * from DTREE.

Beispiel 1-5: Eine Vorlage ausschließen, wenn einer von mehreren Parametern auf das Flag festgelegt ist

Dieses Beispiel ähnelt dem vorherigen mit dem Unterschied, dass diese Vorlage mehrere Benutzereingabe-Parameter enthält. In diesem Fall soll die Vorlage ausgeschlossen werden, wenn eine dieser Benutzereingaben auf das Flag null gesetzt ist. Um dies zu erreichen, wird für Keine Eingaben gesetzt auf Flag erneut die Bedingung IF einschließen verwendet. In diesem Beispiel werden als Flagwert jedoch die Textzeichen null verwendet. In diesem Fall wird die Vorlage nicht eingeschlossen, wenn einer der Werte für &inputlabel1, &inputlabel2 oder &inputlabel3 auf die Textzeichenfolge null gesetzt ist. In unserer Beispiel-URL ist &inputlabel1 auf null gesetzt, daher wird diese Vorlage nicht in die resultierende SQL-Anweisung eingeschlossen.

  1. Geben Sie im Feld SQL unter SQL-Hauptquelle Folgendes ein:

    select * from sampleTable
    ~1
  2. Definieren Sie im Bereich Vorlagen unter Vorlageneinrichtung den Wert ~1.

    • Deaktivieren Sie das Kontrollkästchen Auto-Where.

    • Geben Sie Folgendes in das Feld SQL-Quelle ein:

      where color LIKE %1
      and type LIKE %2
      and subtype LIKE %3
    • Deaktivieren Sie das Kontrollkästchen Auto-Comma.

    • Klicken Sie in der Liste IF einschließen auf Keine Eingaben gesetzt auf Flag.

    • Geben Sie in der Spalte Optionen im Feld Flagwert die Zeichenfolge null ein.

Wenn Sie auf die folgende URL zugreifen:

...&inputLabel1=null&inputLabel2=widget&inputLabel3=grommet&nextURL=...

Die resultierende SQL-Anweisung enthält im Feld SQL-Quelle den Text select * from sampleTable.

Beispiel 1-6: Eine Vorlage einschließen, wenn einer der Parameter nicht leer ist.

In diesem Beispiel wird eine der seltener verwendeten Bedingungen demonstriert. In diesem einfachen Beispiel geht es um eine Situation, in der eine Reihe der auswählbaren Spalten variabel ist. Wenn mindestens einer dieser Benutzereingabe-Parameter nicht leer ist, soll die Vorlage eingeschlossen werden. Mit Nicht alle Eingaben gesetzt auf Flag für die Bedingung IF einschließen können Sie festlegen, dass die Vorlage eingeschlossen wird, es sei denn alle Benutzereingabe-Parameter werden auf den Flagwert gesetzt, in diesem Beispiel eine leere Zeichenfolge. Beachten Sie, dass auch die Auto-Comma-Funktion in diesem Beispiel zum Einsatz kommt, um sicherzustellen, dass die Anzahl der in der Auswahlliste vorhandenen Kommas syntaktisch korrekt ist. Diese Funktion wird noch ausführlicher unter Die Auto-Comma-Funktion verwenden sowie in der Zeile Auto-Comma unter SQL-Vorlagenfelder erläutert. In diesem Beispiel wird auch noch eine zweite Vorlage verwendet, die nur dann eingefügt wird, wenn die erste Vorlage nicht eingeschlossen ist. Die Bedingung IF einschließen wird in der Zeile IF einschließen unter SQL-Vorlagenfelder und IF einschließen noch ausführlicher erläutert.

  1. Geben Sie im Feld SQL unter SQL-Hauptquelle Folgendes ein:

    select ~1~2
    from sampleTable
  2. Definieren Sie ~1 im Bereich Vorlagen:

    • Deaktivieren Sie das Kontrollkästchen Auto-Where.

    • Geben Sie im Feld SQL-Quelle den Text %1, %2, %3 ein.

    • Aktivieren Sie das Kontrollkästchen Auto-Comma.

    • Klicken Sie in der Liste IF einschließen auf Nicht alle Eingaben gesetzt auf Flag.

    • Stellen Sie in der Spalte Optionen sicher, dass das Feld Flagwert leer ist.

  3. Definieren Sie ~2 im Bereich Vorlagen:

    • Deaktivieren Sie das Kontrollkästchen Auto-Where.

    • Geben Sie im Feld SQL-Quelle ein Sternchen (*) ein.

    • Aktivieren Sie das Kontrollkästchen Auto-Comma.

    • Klicken Sie in der Liste IF einschließen auf die Option Vorlagebedingung falsch.

    • Geben Sie in der Spalte Optionen im Feld Vorlagennummer den Wert 1 ein.

  4. Schließen Sie im Bereich Eingaben einige allgemeine Eingaben mit ein. Schließen Sie z. B. drei Eingaben vom Typ Zeichenfolge ein und geben Sie in die Eingabeaufforderungsfelder die Werte name, type und subtype ein.

Wenn Sie auf die folgende URL zugreifen:

...&inputLabel1=Parts&inputLabel2=&inputLabel3=grommet&nextURL=...

Die resultierende SQL-Anweisung enthält im Feld SQL-Quelle den Text select Parts,grommet from sampleTable.