Skip to main content
Skip table of contents

Rule

image-20241001-091414.png

Mit dem Rule-Baustein lassen sich Regeln für Entscheidungen innerhalb eines Business Processes abbilden. Die anzuwendenden Regeln werden dabei innerhalb von Entscheidungstabellen (.rule) nach DMN 1.1 definiert. Die Regeln können automatisiert geprüft und die Ergebnisse für die Weiterverarbeitung an den Business Process zurückgegeben werden.

DMN ist ein Standard zur Modellierung von Entscheidungen in Business Processes. Im Standard DMN ist auch die Simple Expression Language (S-FEEL) definiert, eine formale Ausdruckssprache zur Definition einer Entscheidungslogik.

DMN 1.1 mit S-FEEL ist online verfügbar unter https://www.omg.org/spec/DMN/1.1/.

Eigenschaften

Label

Beschriftung des Symbols im Prozessdiagramm

Rules anlegen und definieren

  • Defaultwerte des Typs Integer und Decimal können nicht leer sein.

  • Bei den Typen Integer und Decimal kann nicht geprüft werden, ob der Wert leer ist.

Um Regeln für Entscheidungen in Business Processes besser abzubilden, können bei der Modellierung von Business Processes Rule-Bausteine verwendet werden. Diese lassen sich anschließend mit einer Entscheidungstabelle (.rule) verknüpfen, in der die Definition der Regeln vorgenommen wird.

Verkettung von Entscheidungstabellen

Es können beliebig viele Entscheidungstabellen in einem Business Process verkettet werden. Ausgangswerte der einen Tabelle werden somit zu Eingangswerten der nachfolgenden. Dadurch lassen sich komplexe Entscheidungsbäume mit entsprechenden Verzweigungen modellieren.

Entscheidungstabellen (.rule) werden unterhalb des Business Processes über das Kontextmenü New > Rules oder über die Symbolleiste 

 > Add Rules angelegt.

Nach dem Anlegen wird die Entscheidungstabelle im X4 Designer geöffnet.

Nr.

Element

Beschreibung

1

Werkzeugleiste

Funktionen zum Bearbeiten von Entscheidungstabellen, abhängig von Kontext und Auswahl

2

Kopfbereich

Einstellungen zur Definition von Input und Output, wobei mehrere Inputs und Outputs möglich sind.

Folgende Zellen sind zur Definition des Inputs und Outputs verfügbar:

  1. Freitextfeld für den Spalten-Namen

  2. Input- bzw. Output-Quelle 

    • Input bzw. Output: Input aus dem BPMN-Prozess bzw. Output an den BPMN-Prozess

    • Parameter: Auswahl eines Parameters (nur für Input verfügbar)

    • Variable: in einer Variable hinterlegter Wert (ohne Leerzeichen, z. B. FreigabeDurch)

    • Case State: Auswahl eines Status

    • Case Feature: Auswahl von Fachdaten

  3. Datentyp des Inputs bzw. Outputs (string, numberboolean)

  4. Input-Pfad als Freitextfeld oder Auswahl (je nach Input-Quelle) bzw. Name des Outputs oder der Variablen als Freitextfeld oder Auswahl (je nach Output-Ziel)

3

Annotation

Freie Anmerkung, die nicht im Output ausgegeben wird

4

Regeln

Regeln für die Transformation von Inputs zu Outputs.

Regeln werden pro Zeile definiert, wobei die Reihenfolge der Zeilen die Überprüfungsreihenfolge vorgibt. Eine Regel hat mindestens eine Spalte zur Verarbeitung der Eingangswerte (Input) und mindestens ein Entscheidungs-Ergebnis (Output).

Die Regeln in der Entscheidungstabelle werden in der S-FEEL-Notation angegeben. Damit lässt sich die Entscheidungslogik in natürlicher Sprache "business-friendly" beschreiben. Gleichzeitig erlaubt sie als formale Auszeichnungssprache mit festgelegter Semantik, Grammatik und definierten Regeln die Interpretation und das Ausführen von Werten. S-FEEL kann Zeichenketten, Zahlen, einfache arithmetische Operationen und simple Vergleichsprüfungen interpretieren.

Beachten Sie:

  • Zeichenketten in Anführungszeichen setzen, z. B. "Abteilungsleiter"

  • Für Dezimalzahlen einen Punkt als Trennzeichen verwenden, z. B. 5.1

  • Ist der Wert einer Zelle der Input-Spalte nicht für eine Regel relevant, entsprechend S-FEEL ein - (Minuszeichen) in die Zelle eingeben

  • Eine Entscheidungstabelle kann eine Fallback-Regel enthalten, die immer zutreffen soll. Hierzu enthalten alle Zellen der Input-Spalten einer Fallback-Regel ein - (Minuszeichen).
    Ob eine Fallback-Regel sinnvoll ist und an welcher Stelle der Überprüfungsreihenfolge sie stehen sollte, hängt von der Hit Policy und dem Anwendungsfall ab.

5

Hit Policy

Einstellung zur Auswahl der Ergebnisse. Sie legt fest, wie viele Regeln einer Entscheidungstabelle zutreffen können und wie die Ergebnisse ausgegeben werden.

Regeln können so definiert werden, dass die Anzahl und Auswahl der Ergebnisse gegen die Hit Policy verstößt. In diesem Fall müssen je nach Anwendungsfall die Regeln oder die Hit Policy korrigiert werden.

BedeutungMöglicher Verstoß gegen die Hit Policy
U (Unique): Nur eine Regel kann zutreffen und es wird genau ein Ergebnis ausgegeben.
  • Keine zutreffende Regel
  • Mehrere zutreffende Regeln

F (First): Eine oder mehrere Regeln können zutreffen, es wird aber nur das erste Ergebnis ausgegeben.

(info) Überprüfungsreihenfolge beachten!

Keine zutreffende Regel

A (Any): Eine oder mehrere Regeln mit demselben Ergebnis können zutreffen, es wird jedoch nur ein Ergebnis ausgegeben.

  • Keine zutreffende Regel
  • Mehrere zutreffende Regeln mit unterschiedlichen Ergebnissen

C (Collect): Alle zutreffenden Ergebnisse werden ohne feste Ausgabereihen­folge ausgegeben.

Keine zutreffende Regel

Der fertige BPMN-Prozess mit der Entscheidungstabelle kann im X4 Designer validiert, auf Fehler überprüft und auf dem X4 Server ausgeführt werden.

Entscheidungstabellen können zu drei Ergebnissen führen:

Icon

Beschreibung

Der Rule-Baustein liefert ein oder mehrere Ergebnisse. Das Zwischenergebnis ist aufrufbar.

Der Rule-Baustein liefert keine Ergebnisse. Mögliche Ursachen:

  • Für den Input gilt keine der definierten Regeln

  • Regeln fehlerhaft, z. B. Schreibfehler

  • Hit Policy nicht geeignet

Der Rule-Baustein liefert einen Fehler, da die Entscheidungstabelle nicht konform zu S-FEEL ist. Ein Bericht mit einer Erklärung des Fehlers ist aufrufbar.

S-FEEL-Ausdrücke zur Definition von Regeln

Operator / Ausdruck

Beschreibung

Vergleich

10

Prüft, ob der Eingabewert gleich dem angegebenen Wert ist, z. B. 10

  • v:[Variablenname]

  • f:[Featurename]

  • p:[Platzhaltername]

  • c:[CaseState]

Führt eine Prüfung auf Basis einer Variablen, eines Features, eines Parameters oder eines Vorgangs-Statuswertes (Case State) durch

Mit Strg + Leertaste lassen sich alle aktuell verfügbaren Variablen, Features, Parameter und Vorgangs-Statuswerte in einer Auswahlliste aufrufen.

<

Prüft, ob der Eingabewert kleiner als der angegebene Wert ist, z. B. < 10

<=

Prüft, ob der Eingabewert kleiner oder gleich dem angegebenen Wert ist, z. B. <= 10

>

Prüft, ob der Eingabewert größer dem angegebenen Wert ist, z. B. > 10

>=

Prüft, ob der Eingabewert größer oder gleich dem angegebenen Wert ist, z. B. >= 10

not()

Prüft, ob der Eingabewert nicht kleiner oder gleich dem angegebenen Wert ist, z. B. not(<=10)

Intervall

[1..10]

Prüft, ob der Eingabewert größer oder gleich dem Startwert und kleiner oder gleich dem Endwert ist

(1..10]

Prüft, ob der Eingabewert größer als der Startwert und kleiner oder gleich dem Endwert ist

[1..10)

Prüft, ob der Eingabewert größer oder gleich dem Startwert und kleiner als der Endwert ist

(1..10)

Prüft, ob der Eingabewert größer als der Startwert und kleiner als der Endwert ist

Disjunktion

3,5,7

Prüft, ob der Eingabewert 3,5 oder 7 ist

<2,>10

Prüft, ob der Eingabewert weniger als 2 oder mehr als 10 ist

10,[20..30]

Prüft, ob der Eingabewert entweder 10 oder zwischen 20 und 30 ist

"Meier", "Müller, "Weber"

Prüft, ob der Eingabewert entweder Meier, Müller oder Weber ist

Eine umfangreiche Referenz zur Syntax der S-FEEL Notation finden Sie in der aktuellen Spezifikation zu DMN 1.1 (Kapitel 9) der Object Management Group. https://www.omg.org/spec/DMN/1.1 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.