Einschränkungen
Die Such API unterstützt verschiedene Typen von Einschränkungen, die alle der Schnittstellen-Klasse "Sucheinschränkung" (ISearchJunction) angehören:
Jeder Einschränkungstyp ermittelt nach einer spezifischen Charakteristik einen Booleschen Rückgabewert (true/false), um festzustellen, ob ein bestimmter "Kandidat" (eine im Kontext der Suche zu bewertende Entitätsinstanz oder Tupel-Zeile) die als Einschränkung formulierte Regel "bestanden" hat oder nicht.
Das Datenmodell unterschiedlicher Klassen bezieht sich auf die Schnittstellen-Klasse "Sucheinschränkung", um die Konfiguration von Einschränkungen zu ermöglichen:
Alle Sucharten im Kontext der Such API erlauben die Definition von Einschränkungen:
Jede "Suche" sieht die Definition einer Einschränkung im Feld "Bedingung" (where) vor, die allerdings durch den kaskadierenden Einsatz der Such-Verknüpfung recht komplexe Logiken beinhalten kann.
Joins können in allen Sucharten sowie über die Verkettete Projektion verwendet werden, um die Daten von Entitäten in eine "Suche" einzubinden, deren Zuordnung typischerweise eine per Feld "Join Bedingung" (on) definierte Einschränkung regelt.
Die Subselect Projektion definiert ebenfalls den Zugriff auf Daten einer Teilmenge von Instanzen eines bestimmten Entitätstyps anhand der für das Feld "Bedingung" (where) definierten Einschränkung.
Auch andere Klassen, die die Ausführung einer Suche implizieren oder eine anderweitige "Filterung" von Suchergebnissen erfordern, verwenden ebenfalls Einschränkungen, z. B.:
Für Eigene Übersichten kann eine "Sucheinschränkung" im Feld "Einschränkung" (restriction) steuern, welche Teilmenge der Instanzen des anzuzeigenden Entitätstyps in der Übersicht erscheint.
Eigene Übersichten bieten außerdem immer ein Datengrid an, für das bedingte Zeilenformatierungen auf der Grundlage von Einschränkungen definiert werden können (s. Zeilenformatierung in Datengrids).
Wenn der Ereignisaktion Öffne View (Aktion) beim Öffnen einer Übersicht ein "Suche"-Objekt übergeben wird, dann gilt eine darin definierte "Bedingung" als Einschränkung für die geöffnete Übersicht.
Nicht zuletzt sehen die Einschränkungstypen Such-Verknüpfung und Sub-Suche in ihrer Definition ihrerseits die Konfiguration von Einschränkungen vor.