Zum Inhalt springen

Gemeinsame Nutzung unverbindlicher Daten zwischen Panels im Jitterbit App Builder

In App Builder Es ist möglich, Daten zwischen zwei Panels zu teilen, ohne im Hintergrund im Business-Objekt einen Cross Join erstellen zu müssen. Dieser Artikel führt Sie anhand eines Beispiels durch die Konfiguration gemeinsam genutzter, nicht bindender Daten zwischen Panels unter Nutzung der Shared()-Funktion.

In diesem Beispiel haben wir eine Liste mit Projekten und eine Liste mit Mitarbeitern und möchten einen Mitarbeiter einem Projekt zuweisen, indem wir einfach auf eine Schaltfläche in der Liste klicken. In diesem Beispiel hat ein Projekt einen Titel und ein Mitarbeiter einen vollständigen Namen. Nach Abschluss der Beispielübung sieht unsere Seite folgendermaßen aus:

Shareddata

Schritt 1: Aktualisieren Sie die Mitarbeiter-Panel-Regel

In diesem Schritt aktualisieren wir die Geschäftsregel, die das Mitarbeiter-Panel unterstützt, um eine neue Spalte hinzuzufügen, die die Shared-Funktion nutzt. Beispiel: Fügen Sie eine Spalte zu „Mitarbeiter (Quelle)“ mit dem Wert hinzu shared('ProjectID'), Alias als Projekt-ID und Umwandlung der logischen ID in eindeutige ID.

Schritt 2: Erstellen Sie eine CRUD-Cram-Regel

In diesem Schritt erstellen wir eine CRUD-Cram-Regel mit den Tabellen „Employee“ und „Project“, um den ausgewählten Mitarbeiter mithilfe der Shared-Funktion in das Projekt einzufügen.

Die CRUD-Regel hat die Aktion „Cram“ und nutzt die Tabellen „Employee“ (E) und „Project“ (P).

Für die Regel zu konfigurierende Spalten:

  • E. EmployeeID zielt auf die EmployeeID
  • P.ProjectID zielt auf die ProjectID
  • NEWUUID() zielt auf die ProjectEmployeeID

Schritt 3: Hinzufügen der CRUD-Regel zu einer Aktion für ein Mitarbeiter-Geschäftsobjekt

In diesem Schritt fügen wir die CRUD-Cram-Regel zu einer Aktion für ein benutzerdefiniertes Ereignis hinzu, das wir mit dem Namen „AssignEmployee“ erstellen. Setzen Sie den Aktualisierungsbereich auf Global. Ordnen Sie dieses Ereignis dem Mitarbeiter-Geschäftsobjekt zu.

Damit dies ordnungsgemäß funktioniert, müssen wir zwei Bindungsdatensätze für die Aktion konfigurieren.

  1. EmployeeID zu EmployeeID
  2. ProjectID zu ProjectID

Schritt 4: Fügen Sie das Ereignis einer Schaltfläche hinzu

In diesem Schritt fügen wir das in Schritt 2 erstellte benutzerdefinierte Ereignis „AssignEmployee“ einem Schaltflächensteuerelement mit dem Namen „Assign“ hinzu, das wir dem Mitarbeiterbereich auf der Seite hinzufügen.

Schritt 5: Panelbindung konfigurieren

Geben Sie in diesem Schritt die ProjectID über die Panel-Bindung frei und stellen Sie sicher, dass sowohl das Employee Panel als auch das Panel „Project Assigned Employees“ an Projekte gebunden sind. Sie müssen Informationen zu den Binding Columns hinzufügen, die standardmäßig eine reguläre Bindung aufweisen, sodass Sie zunächst eine zufällige Spalte für das Child (Current) Panel und die gewünschte ProjectID als Parent auswählen.

Wählen Sie nach dem Hinzufügen der Binding Panel-Informationen den Binding Columns-Datensatz aus, öffnen Sie ihn und ändern Sie den Wert Type in Shared.

Dadurch werden die Ergebnisinformationen auf den Wert der Parent Column beschränkt, den Sie freigeben möchten, in diesem Beispiel ProjectID. Klicken Sie auf Save.

Wenn Sie nun die Seite aktualisieren und im Employee Panel auf die Schaltfläche Assign klicken, sehen Sie, dass der ausgewählte Mitarbeiter dem ausgewählten Projekt im resultierenden Panel „Project Assigned Employees“ hinzugefügt wird. Beachten Sie, dass dies erreicht wird, ohne dass ein Cross Join für das Employee Business Object erstellt werden muss. Cross Joins können viele Ressourcen verbrauchen und die Anwendungsverarbeitung manchmal verlangsamen.

Hinweis

Je nach Anwendungsfall oder je nachdem, wie oft eine freigegebene Spalte über Aktionen hinweg verwendet wird, ist es auch möglich, den freigegebenen Wert einer Business Object-Spaltenauswahl hinzuzufügen oder ihn in Where-Anweisungen zu verwenden.