WENN-DANN-Klausel, die alle Aktionen im DANN-Teil (THEN-Teil) ausführt, wenn die Bedingung im WENN-Teil (IF-Teil) wahr ist.
Durch die Regeln können im Regelwerk des EH&S Expert Beziehungen zwischen den definierten Fakten hergestellt und Daten abgeleitet werden.
IF-Teil
Im IF-Teil der Regel können Sie beliebige Bedingungen formulieren. Üblicherweise haben diese die folgende Form:
<Fakt> | <Operator> | <Ausdruck> |
Der IF-Teil einer Regel kann dabei auch Funktionen enthalten. So können Sie mit Hilfe der Funktion ANY abfragen, ob ein Fakt, der aus einer Menge an Elementen besteht, einen bestimmten Ausdruck enthält. Sie können damit z.B. ermitteln, ob ein Merkmal, das mit mehreren R-Sätzen bewertet ist, einen bestimmten R-Satz enthält.
IF ANY (<Fakt>) = <Ausdruck> |
Die folgende Bedingung im IF-Teil bewirkt, daß eine Regel eine Aktion im THEN-Teil in jedem Fall ausführt, sofern die Fakten im THEN-Teil ungleich NULL sind. Siehe hierzu auch: Wann wird eine Regel ausgeführt?
TRUE() |
THEN-Teil
Die im THEN-Teil einer Regel möglichen Aktionen (ToDos) haben eine der folgenden Formen:
<Zu modifizierender Fakt> | <Operator> | <Ausdruck> | |||
<Kommando> | (<Ausdruck>) |
Die Aktionen lassen sich in folgende Aktionsarten gliedern:
Wertzuweisungenmit den Operatoren := , += und -=
Fehlerbehandlung durch die Kommandos ERROR , ABORT und STOP
Ablaufkontrolle durch die Kommandos DISABLE , ENABLE , RESET und CALL
Anlegen neuer Bewertungsinstanzen mit dem Kommando COMMIT
Weitere Informationen finden Sie unter Operatoren, Kommandos und Funktionen .
Regeldatei
Die Regeln befinden sich in der Regeldatei in einer Sektion, die mit den Schlüsselwörtern RULES eingeleitet und END beendet wird. Diese Sektion folgt auf die Sektion der Fakten. Alle Regeln beginnen mit RULE <Regelname> und enden mit END . Die einzelnen Bedingungen im IF-Teil und Aktionen im THEN-Teil werden durch Kommata getrennt. Im IF-Teil entspricht das einer UND-Verknüpfung.
Beispiel
Die folgende Regel setzt einen R-Satz für den Fall, daß der Flammpunkt sich in einem bestimmten Bereich befindet:
RULE REGEL1 | |||
IF | |||
Flammpunkt > 21, | |||
Flammpunkt < 55 | |||
THEN | |||
RSatz := "R10" | |||
END |
Hinweis
Wenn Sie ein Regelwerk mit Hilfe des Regeleditors erstellen, dann erzeugt dieser automatisch eine Regeldatei mit der korrekten Syntax.
In dem Beispiel wird deutlich, daß Fakten in den Regeln ohne jegliche Datentypangaben (z.B. Text, Ganzzahl etc.) benutzt werden. Alle Fakten können alle Datentypen aufnehmen. Die Daten werden bei Bedarf automatisch konvertiert.
Zu den intern und in Zuweisungen verwendeten Datentypen Text
, Zahl
, Liste
und Bereich
siehe Fakt .
Hinweis
Die Reihenfolge, in der Sie die Regeln angeben, ist nicht relevant. Der EH&S Expert kümmert sich automatisch darum, die Regeln in der korrekten Reihenfolge auszuführen (siehe Wann wird eine Regel ausgeführt? ).