Vergleiche mit (Vergleichstyp)
Der Vergleiche mit (Vergleichstyp)-Vergleichstyp verknüpft Prüfwert und Vergleichswert für eine "Rang-Vergleich" mit wählbarem Vergleichsoperator:
Vergleichsoperator |
Logik |
|
Symbol |
Klartext |
Bedeutung von "Regel bestanden" |
= |
gleich |
Prüfwert ist gleichrangig zum Vergleichswert |
> |
größer |
Prüfwert ist nachrangig zum Vergleichswert bei aufsteigender Sortierung |
>= |
größer oder gleich |
Prüfwert ist gleich- oder nachrangig zum Vergleichswert bei aufsteigender Sortierung |
< |
kleiner |
Prüfwert ist vorrangig zum Vergleichswert bei aufsteigender Sortierung |
<= |
kleiner oder gleich |
Prüfwert ist gleich- oder vorrangig zum Vergleichswert bei aufsteigender Sortierung |
Ein "Rang-Vergleich" zwischen zwei Werten setzt voraus, dass eine Logik für die Ermittlung einer "Rangbeziehung" für die verglichenen Datentypen existiert.
Dies ist für folgende Datentypen (bzw. Kategorien von Datentypen) grundsätzlich der Fall:
Textwerte
Zahlenwerte
Zeitangaben
Aufzählungswerte
Datentypen anderer Kategorien (z. B. Entitäten, allgemeine Datenobjekte, usw.) können dem Vergleiche mit (Vergleichstyp)-Vergleichstyp zwar rein technisch als Prüfwert oder Vergleichswert zugeführt werden. Praxisrelevante Vergleichsergebnisse sind in der Regel allerdings nicht zu erwarten.
►WICHTIG◄
Zwischen unterschiedlichen Datentypen können automatische Typumwandlungen greifen. Ob und wie ein Vergleich mit zwei Werten eines unterschiedlichen Datentyps funktioniert, hängt ggf. vom Ausführungskontext (Client/Server) ab.
Soweit anwendbar, versucht eine automatische Typumwandlung den Vergleichswert in den Typ des Prüfwerts umzuwandeln.
Unabhängig von Typumwandlungen können sich Server-Kontext und Client-Kontext auch bezüglich der Sortierung für den "Rang-Vergleich" unterscheiden.
Die Rangbeziehung zwischen String-Wert ermittelt der Server z. B. via Codetabelle, während im Client-Kontext spezifische Sortierregeln für die Aktuelle Sprache greifen.
Grundsätzlich sollte eine Objekt-Feld-Regel mit dem Vergleiche mit (Vergleichstyp)-Vergleichstyp nicht "gutgläubig" implementiert werden, ohne durch ausführliche und aussagekräftige Tests zu verifizieren, dass relevante "Rangbeziehungen" im Ausführungskontext (Server, Client und ggf. Aktuelle Sprache) wie erwartet beurteilt werden.
Für Tests ist außerdem zu berücksichtigen, dass beim Scheitern einer automatischen Typumwandlung (vom Vergleichswert-Typ zum Prüfwert-Typ) die Objekt-Feld-Regel als "nicht bestanden" gilt, ohne dass ein Fehler gemeldet wird.
Ein false-Testergebnis für eine Regel belegt deshalb (ohne zusätzlicher Überprüfung von Details im "Log"-Tab für das Testergebnis) nicht zuverlässig, dass die geprüfte Rangbeziehung (z. B. Prüfwert > Vergleichswert) als nicht erfüllt bewertet wurde und damit das Komplement (hier: Prüfwert <= Vergleichswert) erfüllt wäre. Vereinfacht ausgedrückt gilt: "Nur ein Test mit bestandener Regel ist ein aussagekräftiger Test."