Zum Inhalt springen

Gemeinsame Kriterien im Jitterbit App Builder

Gemeinsame Kriterien ermöglichen es Entwicklern, Variablen zu verwenden, die über verlinkte Seiten oder gebundene Panels übergeben werden. Diese Variablen werden typischerweise durch Bindungskriterien generiert, die es einem Link zu einer App Builder-Seite oder einer Panel-Beziehung ermöglichen, Schlüssel zu tragen, die Daten auf einem Zielobjekt filtern. Zum Beispiel kann ein Link von einer Kategorien-Seite zu einer Produkte-Seite Ergebnisse filtern, um nur die Produkte anzuzeigen, die zur gewählten Kategorie gehören. Über einfache WHERE-Klauseln hinaus erweitern gemeinsame Kriterien, wie diese Variablen in der gesamten Anwendung verwendet werden können.

Eine URL, die mit gemeinsamen Kriterien generiert wird, folgt typischerweise diesem Format:

https://example.dev.zudy.host/app/App%20Name/Page%20Name?FieldName~Shared=2032

Verwendung von gemeinsamen Kriterienwerten

Gemeinsame Kriterien werden verwendet, um Werte im aktuellen Laufzeitkontext abzurufen, und verhalten sich ähnlich wie jede Standard-SQL-Funktion. Wenn ein gemeinsamer Kriterienwert in einer Datenobjektspalte enthalten ist, wird er als Zeichenfolge behandelt und wird zu echten Daten, die verknüpft, von UI-Steuerelementen verwendet oder von nachfolgenden Panels referenziert werden können. Zum Beispiel ermöglicht die Verwendung von shared('EmployeeID'), diese Variable als Standardspalte innerhalb Ihrer Logik zu behandeln.

Diese Werte sind äußerst vielseitig und können in WHERE-Klauseln verwendet werden, um Ergebnisse zu filtern, oder innerhalb von CRUD-Regeln, um Einfügungen und Aktualisierungen zu steuern. Wenn eine Regel außerhalb des Kontexts einer Seite ausgeführt wird (z. B. beim Anzeigen von Rohdaten), gibt die Funktion den Standardwert 'nicht gefunden' für den angegebenen Datentyp zurück. Gemeinsame Kriterien werden auch in Hintergrundereignissen unterstützt, die von Benutzern initiiert werden, sowie in der Logik zur bedingten Formatierung. Darüber hinaus ermöglicht die dynamische Substitution, dass gemeinsame Werte in Zellendaten und Steuerelementbeschriftungen mit Syntax wie {{ CompanyName }} erscheinen, vorausgesetzt, dass "Substitution unterstützen" im Steuerelement aktiviert ist.

Das System behandelt auch Szenarien, in denen Kriterien fehlen oder wenn Daten geändert werden. Wenn eine Seite oder URL kein passendes Kriterium enthält, wird das Datenobjekt weiterhin ausgeführt, vorausgesetzt, das SQL kann eine leere Zeichenfolgenrückgabe verarbeiten. Beim Verlinken zu einer Seite mit gemeinsamen Kriterien werden alle neu eingefügten Zeilen automatisch die Spalten mit demselben Namen auf den gemeinsamen Wert standardisieren. Ebenso werden beim Wechsel in einen Bearbeitungszustand gemeinsame Kriterien auf alle null-Spalten, die denselben Namen teilen, standardmäßig angewendet.

SQL-Laufzeitfunktion: Shared

In SQL greifen Sie über die shared() Funktion auf diese Variablen zu. Diese Funktion akzeptiert zwei Parameter: den Namen des Kriteriums, das nachgeschlagen werden soll, und den Datentyp. Die Angabe eines Datentyps ist wichtig; wenn ein Kriterium nicht gefunden wird und der Typ auf UUID oder numerisch gesetzt ist, gibt der App Builder einen leeren GUID oder eine '0' zurück, um sicherzustellen, dass das resultierende SQL nicht fehlschlägt, wenn verschiedene Datentypen verglichen werden. Ein Beispiel für diese Verwendung ist:

SELECT CustomerId, shared('ActiveEmployeeId') FROM Customer WHERE CustomerRegionId <> shared('LastRegion', 'UUID')

Gemeinsame Werte angeben

Gemeinsame Kriterien können entweder auf Panel- oder Feldebene definiert werden. Während sie häufig bei Seitenlinks verwendet werden, bei denen sich die URL ändert und eine neue Seite geöffnet wird, werden sie ebenso durch Panel-Bindungen unterstützt. Zielseiten stellen diese Werte allen 'Root'-Panels (denen, die nicht explizit an andere gebunden sind) zur Verfügung.

Tipp

Gemeinsame Kriterien sind nicht auf Seitenlinks beschränkt; in modernen App Builder-Implementierungen sind sie ein Schlüsselkomponente für anspruchsvolles Panel-zu-Panel-Daten-Sharing.