Vergleiche mit (Vergleichstyp)

images/download/attachments/201668539/image-2025-4-9_15-38-15-version-1-modificationdate-1744205895076-api-v2.png

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."