Erstellen Sie eine anwenderdefinierte Aktion, um ein Array von Objekten aus einer Liste von Datensätzen zu generieren
Generieren Sie ein Array von Objekten aus einer Liste von Anwenderdatensätzen. Erfahren Sie, wie Sie einen Skriptschritt verwenden, um durch eine Liste von Datensätzen zu iterieren.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
- Erstellen Sie eine Aktionseingabe für einen Abteilungsdatensatz.
- Suchen Sie nach maximal drei Anwenderdatensätzen für die Aktionseingabe „Abteilung“.
- Konfigurieren Sie einen Skriptschritt, um eine Liste von Anwenderdatensätzen zu verarbeiten.
- Erstellen Sie eine Skripteingabevariable, die die Liste der Anwenderdatensätze enthält.
- Schreiben Sie ein Skript, das ein leeres Kontakte-Array erstellt.
- Schreiben Sie ein Skript, das durch die Liste der Anwenderdatensätze iteriert.
- Schreiben Sie ein Skript, das ein Kontaktobjekt erstellt und Anwenderdatensatzfeldwerte dem Kontaktobjekt zuordnet.
- Schreiben Sie ein Skript, das das Kontakte-Array mit dem aktuellen Kontaktobjekt ausfüllt.
- Erstellen Sie Skriptausgabevariablen für das Kontakte-Array und das untergeordnete Kontaktobjekt.
- Speichern Sie das Kontaktobjekt als Vorlage.
- Geben Sie das generierte Kontakt-Array von Objekten als Datenpille aus.
- Testen Sie die Aktion mit einer Beispielabteilung.
Prozedur
- Wahlweise:
Erstellen Sie eine Anwendung, um Ihre Arbeit zu speichern.
Sie können verwenden App Engine Studio Zum Planen, Erstellen und Bereitstellen von Anwendungen. Weitere Informationen zum Erstellen einer anwenderdefinierten Anwendung finden Sie unter Building apps in App Engine Studio.Erstellen Sie beispielsweise eine Anwendung namens Meine Anwendung .
- Navigieren zu Alle > Prozessautomatisierung > Workflow-Studioan.
- Wählen Sie auf der Homepage aus Aktionen .
-
Auswahlvorgang Neu > Aktion
Das System zeigt das Dialogfeld „Aktionseigenschaften“ an.
-
Geben Sie diese Beispielwerte ein.
Feld Wert Name Erstellen Sie Ein Kontakt-Array Von Objekten Anwendung Global Zugänglich von Alle Anwendungsbereiche Hinweis:Wenn Sie eine Anwendung zum Speichern und Bereitstellen Ihrer anwenderdefinierten Aktion erstellt haben, verwenden Sie diese Anwendung anstelle von global. -
Wählen Sie Aus Build-Aktion .
Das System zeigt an Workflow-Studio Schnittstelle.
-
Wählen Sie in der Aktionsgliederung die Option aus Eingaben > Eingabe erstellen
Das System zeigt eine neue Aktionseingabe an.
-
Konfigurieren Sie die Aktionseingabe mit diesen Werten.
Feld Wert Bezeichnung Abteilung Typ Referenz.Abteilung [Reference.cmn_Department] Obligatorisch Wahr -
Wählen Sie in der Aktionsgliederung die Option aus Fügen Sie einen neuen Schritt hinzu .
Das System zeigt eine Liste der verfügbaren Schritte an.
- Wählen Sie Aus Suchen Sie Nach Datensätzen
-
Konfigurieren Sie den Schritt mit diesen Werten.
Feld Wert Tabelle Benutzer [sys_user] Bedingungen [Abteilung][ist][Aktion->Abteilung] Hinweis:Wählen Sie die Abteilungsdatenpille aus den Eingabevariablen aus.Reihenfolge nach Name Sortiertyp A bis Z Max. Ergebnisse 3 Hinweis:Dieses Beispiel begrenzt die Max. Ergebnisse Einstellung auf drei Datensätze nur zu Demonstrationszwecken. -
Wählen Sie in der Aktionsgliederung die Option aus Fügen Sie einen neuen Schritt hinzu .
Das System zeigt eine Liste der verfügbaren Schritte an.
- Wählen Sie Aus Skript .
- Wählen Sie im Abschnitt Eingabevariablen die Option aus Variable Erstellen .
-
Konfigurieren Sie die Eingabevariable mit diesen Werten.
Feld Wert Name Anwenderdatensätze Wert [Schritt->Schritt „Datensätze suchen“->Anwenderdatensätze] Hinweis:Wählen Sie im Schritt Datensätze suchen die Datenpille Anwenderdatensätze aus.Hinweis:Sie können auswählen Anwenderdatensätze Datenpille aus dem Datenbereich oder über die Schaltfläche „Datenpillenauswahl“. -
Für Skript Geben Sie den folgenden Text ein.
(function execute(inputs, outputs) { //Create an empty array var contactsArray = []; var i = 0; //Iterate through the list of User records while(inputs.userRecords.next()) { //Create an empty object for each iteration var contactObject = {}; //Query User records to assign object values contactObject.first_name = inputs.userRecords.getValue('first_name'); contactObject.last_name = inputs.userRecords.getValue('last_name'); contactObject.email_address = inputs.userRecords.getValue('email'); //Add current object to array contactsArray[i] = contactObject; i += 1; } outputs.contacts = contactsArray; })(inputs, outputs); - Wählen Sie unter Ausgabevariablen die Option aus Variable Erstellen .
-
Konfigurieren Sie die Ausgabevariable mit diesen Werten.
Bezeichnung Name Typ Obligatorisch Kontakte Kontakte Array.Object True - Erweitern Sie „Kontakte Array.Object“, und benennen Sie das untergeordnete Objekt in um Kontakt .
-
Wählen Sie in der Zeile für das Kontaktobjekt aus Untergeordnetes Element Hinzufügen Symbol
.
-
Konfigurieren Sie das untergeordnete Element mit diesen Werten.
Bezeichnung Name Typ Obligatorisch Vorname first_name Zeichenfolge True -
Wählen Sie in der Zeile für das Kontaktobjekt aus Untergeordnetes Element Hinzufügen Symbol
.
-
Konfigurieren Sie das untergeordnete Element mit diesen Werten.
Bezeichnung Name Typ Obligatorisch Nachname last_name Zeichenfolge True -
Wählen Sie in der Zeile für das Kontaktobjekt aus Untergeordnetes Element Hinzufügen Symbol
.
-
Konfigurieren Sie das untergeordnete Element mit diesen Werten.
Bezeichnung Name Typ Obligatorisch E-Mail-Adresse email_address Zeichenfolge Wahr - Wählen Sie in der Zeile für das Kontaktobjekt aus Schalten Sie Erweiterte Eingaben Ein/Aus .
-
Wählen Sie in den erweiterten Optionen die Option aus Als Vorlage Speichern .
Das System zeigt das Dialogfeld als Vorlage speichern an.
-
Für Geben Sie einen Namen ein , Eingabetaste Kontakt .
- Klicken Sie auf Speichern.
- Wählen Sie in der Aktionsgliederung die Option aus Ausgaben > Ausgabe erstellenan.
-
Konfigurieren Sie die Aktionsausgabe mit diesen Werten.
Bezeichnung Name Typ Obligatorisch Kontakte Kontakte Array.Object True - Erweitern Sie die Kontakte Array.Object.
- Wählen Sie in der Zeile für das Kontaktobjekt aus Schalten Sie Erweiterte Eingaben Ein/Aus .
-
Wählen Sie in den erweiterten Optionen die Option aus Struktur > Aus Vorlage startenan.
Das System zeigt an Vorlage .
-
Für Vorlage , Wählen Sie die zuvor gespeicherte Vorlage aus.
Wählen Sie beispielsweise aus Global: Kontakt .
-
Wählen Sie Aus Bearbeitungsmodus Beenden .
Das System zeigt die von Ihnen erstellten Ausgabefelder an.
-
Für Kontakte , Wählen Sie aus [Schritt->Skriptschritt->Kontakte] .
Hinweis:Sie können den Skriptschritt auswählen Kontakte Datenpille aus dem Datenbereich oder über die Schaltfläche „Datenpillenauswahl“.
- Klicken Sie auf Speichern.
-
Wählen Sie Aus Testen .
Das System zeigt das Dialogfeld „Testaktion“ an.
-
Geben Sie den folgenden Testwert ein:
Eingabe Wert Abteilung Entwicklung -
Wählen Sie Test ausführen.
Das System führt die Aktion mit den angegebenen Testwerten aus.
-
Wählen Sie Aus Die Ausführung Ihres Tests wurde abgeschlossen. Zeigen Sie die Aktionsausführungsdetails an.
Das System zeigt die Ausführungsdetails der Aktion an.
-
Überprüfen Sie den Laufzeitwert für die Aktionsausgabedaten.
Obwohl die Ausführungsdetails die Ausgabedaten als JSON-formatierte Zeichenfolge anzeigen, ist der tatsächliche Ausgabedatentyp ein Array von Objekten. Wenn Sie eine Zeichenfolgenversion Ihrer Ausgabe benötigen, können Sie das Objekt mithilfe der JSON-Klasse in eine Zeichenfolge konvertieren. Weitere Informationen zum Konvertieren eines JSON-Objekts in eine Zeichenfolge finden Sie unter Scoped JSON - stringify(Object jsonObject).In diesem Beispiel enthält das Kontaktobjekt ein Array von Kontaktobjekten mit Vorname, Nachname und E-Mail-Informationen für drei Anwender in der Entwicklungsabteilung.{ "contacts": "contact": [ { "email_address": "allyson.gillispie@example.com", "first_name": "Allyson", "last_name": "Gillispie" }, { "email_address": "alva.pennigton@example.com", "first_name": "Alva", "last_name": "Pennigton" }, { "email_address": "andrew.och@example.com", "first_name": "Andrew", "last_name": "Och" } ] } }