Gemeinsame nicht-bindende Daten zwischen Panels im Jitterbit App Builder
Im App Builder ermöglicht gemeinsame Bindung Panels den Austausch von Daten, ohne dass komplexe SQL-Cross-Joins innerhalb eines Geschäftsobjekts erforderlich sind. Traditionelle Joins können ressourcenintensiv sein und die Anwendungsleistung beeinträchtigen. Die gemeinsame Bindung umgeht dies, indem ein spezifischer Wert aus einem übergeordneten Panel über die shared() Funktion der Logik eines untergeordneten Panels zur Verfügung gestellt wird.
Während die Standardpanelbindung auf exakten ID-Abgleichen basiert, um Ergebnisse zu filtern, wird die gemeinsame Bindung verwendet, um Variablen zu übergeben, die überall in der SQL, den CRUD-Regeln oder Aktionen des Zielpanels referenziert werden können. Diese Funktion ist ein wesentlicher Bestandteil von Panel-zu-Panel-Beziehungen und ist nicht auf Seiten-zu-Seiten-Links beschränkt.
Beispielszenario: Projektzuweisungen
Um dieses Konzept zu veranschaulichen, betrachten Sie eine Seite, die eine Liste von Projekten und eine Liste von Mitarbeitern enthält. Das Ziel ist es, einem Benutzer zu ermöglichen, einen Mitarbeiter einem Projekt zuzuweisen, indem er auf eine Schaltfläche klickt. In diesem Fall wird das Projekt-Panel seine ID mit dem Mitarbeiter-Panel teilen, damit ein Zuweisungsdatensatz erstellt werden kann.
Schritt 1: Aktualisieren der Geschäftsregel für Mitarbeiter
Der erste Schritt besteht darin, das untergeordnete Panel vorzubereiten, um die gemeinsamen Daten zu empfangen. Sie müssen die Geschäftsregel, die das Mitarbeiter-Panel unterstützt, aktualisieren, indem Sie eine neue Spalte hinzufügen, die die gemeinsame Funktion verwendet. Fügen Sie beispielsweise eine Spalte zur Regel Mitarbeiter (Quelle) mit der Syntax shared('ProjectID') hinzu. Sie sollten dies als ProjectID aliasieren und sicherstellen, dass der logische Datentyp auf Eindeutige ID gesetzt ist.

Schritt 2: Erstellen einer CRUD/Cram-Regel
Erstellen Sie als Nächstes eine CRUD/Cram-Regel, die sowohl die Mitarbeiter- als auch die Projekt-Tabellen umfasst, um die Einfügung der Zuweisung zu verwalten. Diese Regel wird EmployeeID und ProjectID ihren jeweiligen Zielen zuordnen und NEWUUID() verwenden, um einen eindeutigen Bezeichner für die neue Projekt-Mitarbeiter-Beziehung zu generieren.
Schritt 3: Registrieren Sie die Aktion und das Ereignis
Nachdem die Regel erstellt wurde, fügen Sie sie als Aktion innerhalb eines neuen benutzerdefinierten Ereignisses, wie "AssignEmployee", im Employee-Geschäftsobjekt hinzu. Damit dieser Vorgang korrekt funktioniert, setzen Sie den Refresh Scope auf Global. Während der Registrierung müssen Sie zwei Bindungsdatensätze für die Aktion konfigurieren, um die EmployeeID und die gemeinsame ProjectID zuzuordnen.
Schritt 4: Implementieren Sie die UI-Steuerung
Um den Benutzern zu ermöglichen, die Logik auszulösen, fügen Sie eine Button-Steuerung (beschriftet mit "Assign") zum Employee-Panel hinzu. Verknüpfen Sie diesen Button mit dem in der vorherigen Schritt erstellten benutzerdefinierten Ereignis "AssignEmployee".
Schritt 5: Konfigurieren Sie die gemeinsame Panel-Bindung
Der letzte Schritt besteht darin, die tatsächliche Beziehung zwischen den Panels herzustellen. Konfigurieren Sie im Seitenbearbeitungsbildschirm die Panel-Bindung so, dass das Employee-Panel mit dem Projects-Panel verbunden ist.
Zunächst wird das System einen Standardbindungstyp verwenden. Sie müssen eine Spalte für das übergeordnete (ProjectID) und das untergeordnete Element auswählen. Sobald der Datensatz erstellt ist, öffnen Sie die Eigenschaften der Bindungsspalten und ändern Sie den Typ von "Binding" auf "Shared". Dies bestätigt, dass die Beziehung nur dazu gedacht ist, den Wert ProjectID an das Geschäftsobjekt des untergeordneten Panels zu übergeben, anstatt die Ergebnisse des untergeordneten Panels basierend auf einer genauen Übereinstimmung zu filtern.
Nach dem Aktualisieren der Anwendung wird das Auswählen eines Projekts und das Klicken auf Assign bei einem Mitarbeiter erfolgreich die beiden Datensätze verknüpfen. Dieser Prozess zeigt, wie Daten effizient zwischen Panels geteilt und bearbeitet werden können.
Hinweis
Gemeinsame Werte sind äußerst vielseitig. Je nach Ihrem spezifischen Anwendungsfall kann eine gemeinsame Spalte innerhalb von SELECT-Anweisungen zur Anzeige verwendet oder in WHERE-Klauseln referenziert werden, um benutzerdefinierte Filterlogik über Aktionen hinweg zu steuern.