Verzweigte Bedingungen
Entweder-oder-Logik
Verzweigte Bedingungen erweitern das einfache Bedingungsprinzip einer Regel um eine Entweder-oder-Logik: Eine Regelanweisung wird nicht nur dann ausgeführt, wenn eine Bedingung zutrifft, sondern kann gezielt für den Fall konfiguriert werden, dass eine vorangegangene Bedingung nicht zutrifft. Zusätzlich wird über Steuerfelder entschieden, ob die Auswertung nach einer ausgeführten Anweisung abbricht oder weiterläuft.
Wo konfiguriere ich das in der Software?
PARAMETER - (Auswahl des Regel-Bereichs) - REGELN - NEU / ÄNDERN - Gruppe: "Bedingungen (Wenn)" - (Kennzeichen "Immer ausführen" deaktivieren) - Regelanweisung - Über eine verzweigte Formel definieren (Vergleichswert wird in Regelanweisung definiert)
Mit dem Entfernen des "Immer ausführen"-Kennzeichens stehen die Kennzeichen für die Definierung einer Formel zur Verfügung.
Grundprinzip der Verzweigung
Wenn-Sonst-Struktur innerhalb einer Regel
Eine Regel besteht aus einer oder mehreren Regelanweisungen. Jede Anweisung kann eine eigene Bedingung tragen, die entscheidet, ob sie ausgeführt wird. Beim einfachen Modell werden alle Anweisungen unabhängig voneinander geprüft.
Mit verzweigten Bedingungen entsteht eine abhängige Prüfkette: Eine Anweisung wird explizit als Alternative zu einer vorherigen Anweisung markiert. Dies ermöglicht klassische Wenn-Sonst-Strukturen innerhalb einer einzigen Regel.
Der Vergleichswert für verzweigte Bedingungen
Das Feld Vergleichswert für verzweigte Bedingung verknüpft eine Anweisung mit dem Ergebnis einer vorherigen Anweisung in derselben Regel. Es enthält die Nummer (Position) der Anweisung, auf deren Ausführungsergebnis reagiert werden soll.
| Feldinhalt | Wirkung |
|---|---|
| Feld ist leer | Die Anweisung hat keine Verzweigung — ihre eigene Bedingung gilt unabhängig |
| Feld enthält eine Positionsnummer | Die Anweisung wird nur dann geprüft, wenn die referenzierte Anweisung nicht ausgeführt wurde |
Typischer Einsatz
Sie hinterlegen in Anweisung 2 den Vergleichswert 1. Anweisung 2 wird damit zum "Sonst-Zweig" von Anweisung 1: Sie greift genau dann, wenn Anweisung 1 aufgrund ihrer Bedingung übersprungen wurde.
Beachten Sie
Reihenfolge beachten:
Die Positionsnummer der referenzierten Anweisung muss kleiner als die eigene sein. Eine Vorwärts-Referenz auf eine noch nicht ausgewertete Anweisung ist nicht möglich.
Steuerfelder für den Auswertefluss
Neben dem Vergleichswert gibt es zwei Steuerfelder, die den weiteren Ablauf der Regelauswertung beeinflussen. Beide sind standardmäßig deaktiviert.
Keine weiteren Regelanweisungen auswerten
Ist dieses Kennzeichen an einer Anweisung aktiviert, wird die Auswertung der verbleibenden Anweisungen dieser Regel sofort gestoppt, sobald die aktuelle Anweisung ausgeführt wurde.
| Status | Wirkung |
|---|---|
| Inaktiv (Standard) | Alle nachfolgenden Anweisungen werden weiterhin geprüft |
| Aktiv | Nach Ausführung dieser Anweisung werden keine weiteren Anweisungen der Regel mehr ausgewertet |
Abgrenzung zum nächsten Steuerfeld
Dieses Kennzeichen wirkt nur innerhalb der aktuellen Regel. Weitere Regeln für dieselbe Auswertungsposition werden weiterhin ausgeführt.
Keine weiteren Regeln auswerten
Ist dieses Kennzeichen aktiviert, wird die gesamte Regelauswertung für die aktuelle Auswertungsposition gestoppt — also auch alle nachfolgenden Regeln, nicht nur die verbleibenden Anweisungen der aktuellen Regel.
| Status | Wirkung |
|---|---|
| Inaktiv (Standard) | Alle weiteren Regeln für diese Auswertungsposition werden geprüft |
| Aktiv | Nach Ausführung dieser Anweisung werden keine weiteren Regeln für diese Auswertungsposition mehr ausgewertet |
Beachten Sie
Weitreichende Wirkung: Dieses Kennzeichen stoppt sämtliche nachgelagerten Regeln. Setzen Sie es nur, wenn sicher ist, dass keine andere Regel für diese Auswertungsposition greifen soll.
Nur ausführen, wenn zuvor keine Regelanweisung ausgeführt wurde
Dieses Kennzeichen wirkt als globaler Else-Zweig über alle Anweisungen und Regeln: Die Anweisung wird nur dann ausgeführt, wenn in der gesamten bisherigen Auswertung dieser Auswertungsposition noch keine Anweisung ausgeführt wurde.
| Status | Wirkung |
|---|---|
| Inaktiv (Standard) | Die eigene Bedingung der Anweisung entscheidet unabhängig über die Ausführung |
| Aktiv | Die Anweisung wird nur ausgeführt, wenn zuvor keine einzige Regelanweisung in dieser Auswertungsrunde aktiv wurde |
Einsatz als Fallback
Dieses Kennzeichen eignet sich für eine Auffang-Anweisung, die immer dann greift, wenn keine der spezifischeren Regeln eine Aktion ausgelöst hat — vergleichbar mit einem ELSE-Zweig am Ende einer Fallunterscheidungskette.
Beispiel mit zwei Anweisungen (Theorie)
- Anweisung 1: WENN Bedingung A zutrifft → Aktion 1
- Anweisung 2: SONST (wenn A nicht zutraf) → Aktion 2
Beispiel mit zwei Anweisungen (Praxis)
In diesem Beispiel wird eine verzweigte Formel für die Auswertungsposition "Während der Erfassung" definiert.
- In das Feld "Formel für die Verzweigung" wird
«Adr.Status»eingetragen. - Die Formel besitzt zwei Anweisungen: "Kunde" und "Lieferant".
- Als Vergleichswert wird jeweils in den Regelanweisungs-Datensätzen in einfachen Hochkommata die Bezeichnung Kunde bzw. Lieferant eingetragen.
| Anweisung "Kunde" | Anweisung "Lieferant" | |
|---|---|---|
| Anweisungsart | Feldzuweisungen | Feldzuweisungen |
| Vergleichswert | ='Kunde' | ='Lieferant' |
| TextKz1 | true | false |
| TextKz2 | false | true |
| TextKz3 | false | false |
| TextKz4 | false | false |
| TextKz5 | false | false |
Die Funktion steuert die Artikelart-Kennzeichen in der Adresse, was in den Vorgang eingeladen wird. Handelt es sich bei der Adressart um einen Kunden, setzt die Regel automatisch das Kennzeichen für Kunde, handelt es sich um einen Lieferanten, wird dieses Textkennzeichen gesetzt.
Beachten Sie
Verzweigte Bedingungen sind kein eigenständiger Regeltyp:
Verzweigte Bedingungen sind keine separate Regelkategorie. Sie sind ein Konfigurationsmerkmal einzelner Regelanweisungen innerhalb einer normalen Regel.
Zusammenspiel der Steuerfelder
Erweitertes Beispiel (mit 2 Regeln)
Die drei Mechanismen lassen sich kombinieren, um komplexe Entscheidungsstrukturen abzubilden:
Regel 1, Anweisung 1: WENN Kundenstatus = "A" → Rabatt 10 %
[Keine weiteren Regelanweisungen auswerten: aktiv]
Regel 1, Anweisung 2: WENN Kundenstatus = "B" → Rabatt 5 %
[Keine weiteren Regelanweisungen auswerten: aktiv]
Regel 2, Anweisung 1: [Nur wenn zuvor keine Anweisung ausgeführt wurde]
→ Standardrabatt 0 %
In diesem Beispiel liefert immer genau eine Anweisung ein Ergebnis: Entweder greift Anweisung 1 oder Anweisung 2 aus Regel 1, oder — falls keiner der Status zutraf — der Fallback in Regel 2.
Beachten Sie
Auswertungsreihenfolge:
Die Reihenfolge der Anweisungen innerhalb einer Regel sowie die Reihenfolge der Regeln für eine Auswertungsposition sind entscheidend. Planen Sie die Reihenfolge bewusst, bevor Sie Steuerfelder setzen.
Abgrenzung zur einfachen Bedingung
| Merkmal | Einfache Bedingung | Verzweigte Bedingung |
|---|---|---|
| Abhängigkeit von anderer Anweisung | Nein | Ja (über Vergleichswert) |
| Stoppt weitere Auswertung | Nein | Optional (Steuerfelder) |
| Geeignet für Wenn-Sonst-Logik | Begrenzt | Ja |
| Konfigurationsaufwand | Gering | Mittel |




