Verwendung

Alle Objekte, die ein Recognition-Objekt definieren, werden vor ihrer Ausführung von einem übergeordneten Objekt angefragt, ob sie sich für die aktuellen Daten für zuständig befinden. Ist die Recognition wahr, so wird das Objekt ausgeführt. Ist die Recognition falsch, muss das übergeordnete Objekt auf die Ausführung verzichten. Eine Recognition ist eine Verknüpfung von Einzelanfragen zu einem Wert 1 oder 0, wahr oder falsch. Standardwert ist wahr. Für eine Recognition gibt es zwei Syntaxvarianten: eine vereinfachte Syntax, die nur Feldinhalte abprüfen kann, und eine erweiterte Syntax, die komplexe Anweisungen ausführen kann.


Vereinfachte Syntax

Recognition Field=Value [Field=Value [...]] bzw.
Rec Field=Value [Field!Value [...]]

Die Recognition beinhaltet eine Liste von Feld-Inhalts-Paaren. Wurde das Keyword REC definiert, dann prüft der ReportWriter, ob die Feld-Inhalts-Paare für die Kopffelder des Dokuments überein-stimmen. Als Operatoren stehen ein Gleich-Operator (=) und ein Ungleich-Operator (!) zur Wahl. Alle Prüfungen sind miteinander AND-verknüpft, so dass ein nicht zutreffendes Pärchen zum negativen Ergebnis der Recognition führt. Ist das Ergebnis negativ, wird dieses WorkItem nicht generiert. Ist die Prüfung positiv oder wurde das Keyword REC nicht definiert, wird das WorkItem ausgeführt.


Erweiterte Syntax

Recognition bzw. Rec {


Calc-Befehl
Logische Liste

}


Das Recognition-Objekt ist eine logische Liste von Calc-Befehlen und/oder logischen Listen, die von oben nach unten abgefragt werden, ob das Ergebnis wahr oder falsch ist. Die Einzelergebnisse werden dabei AND-verknüpft und bilden das Gesamtergebnis der Recognition. Die aufgerufenen Calc-Befehle sollen keine Variable als Rückgabewert definieren, dafür aber 0 oder 1 für falsch oder wahr zurückliefern. Logische Listen haben grundsätzlich denselben Aufbau wie das Recognition-Objekt und dienen dazu, einzelne logische Abfragen zu einem Gesamtergebnis zu verknüpfen. Logische Listen sind beliebig ineinander verschachtelbar.


Folgende logische Listen werden unterstützt:

And: Alle in der Liste enthaltenen Einzelwerte werden AND-verknüpft
Or: Alle in der Liste enthaltenen Einzelwerte werden OR-verknüpft
Nand: Alle in der Liste enthaltenen Einzelwerte werden AND-verknüpft und dann negiert
Nor: Alle in der Liste enthaltenen Einzelwerte werden OR-verknüpft und dann negiert


Syntax der logischen Listen

And {


Calc-Befehl
Logische Liste

}

usw.


Beispiel
Rec {
   ISEQUALS(CLIENT,"417")
   OR {
      ISEQUALS(USER,"Deer")
      ISEQUALS(USER,"Fox")
   }
}
  • Keine Stichwörter