Zum Inhalt springen

Verwandeln Sie Ihre Kontakte in Urlaubsgeld mit unserem neuen Kundenempfehlungsprogramm! Erfahren Sie mehr

Diese Dokumentation gilt für Version 4 und höher von App Builder, dem neuen Namen für Vinyl. Hier gelangen Sie zur Vinyl-Dokumentation.

Dynamische Ersetzung im Jitterbit App Builder

Dynamische Substitution ist eine Syntax, die im App Builder verwendet werden kann, um das Ergebnis eines Ausdrucks entweder in der Business-Logik-Schicht oder in der Anwendungs-UI-Schicht dynamisch zu ersetzen. In der Business-Logik-Schicht dient sie zum dynamischen Ersetzen von Daten und in der Anwendungs-UI-Schicht zum dynamischen Ersetzen des angezeigten Ergebniswerts. Dynamische Substitution kann auch in Benachrichtigungen verwendet werden, wo Sie beispielsweise angezeigte Informationen ersetzen möchten. {{CustomerName}}.

Bei Verwendung der dynamischen Substitution in der Anwendungs-UI-Schicht müssen Sie die Seite einem Business-Objekt zuordnen, um die dynamische Substitution nutzen zu können. Diese Informationen werden auf Seitenebene konfiguriert, sodass alle für die Substitution benötigten Felder im Seiten-Business-Objekt verfügbar sein müssen.

Die dynamische Substitution in der Business-Logik bietet Vorteile: Sie vereinfacht den Informationsgehalt eines Ausdrucks und macht die Ausdrücke lesbarer.

Dynamische Substitutionssyntax

Die Syntax für die dynamische Substitution lautet:

`{{AliasName}}`

Hier die geschweiften Klammern {{ }} (oder Klammern in den USA) umschließen den Alias-Wert, der für die dynamische Ersetzung verwendet wird. Es wird empfohlen, dass der tatsächliche Wert in den geschweiften Klammern ein Alias-Wert und kein Spaltenname oder Ausdruckswert ist, da ein Alias-Wert im Laufe der Zeit im Allgemeinen als statischer angesehen wird als ein Spaltenname oder Ausdruck.

Beispiel für Geschäftslogik

Dynamische Substitution ist sehr nützlich in Where-Klauseln und vereinfacht Berechnungen in der Business-Logik-Schicht. Hier sehen wir uns konkrete Beispiele an, wie wir die dynamische Substitution nutzen können.

Für dieses Beispiel verwenden wir die Northwinds-Datenbank als Quelle und gehen davon aus, dass wir eine Bestellseite mit Informationen zu Bestellungen betrachten, die über eine App zur Auftragsabwicklung aufgegeben wurden. Zunächst sehen wir uns an, wie wir die dynamische Substitution in einer Geschäftslogikregel nutzen können, um die angezeigten Bestellinformationen auf die Bestellungen der letzten drei Jahre zu beschränken:

  • Navigieren Sie zur Seite „Bestellungen“ der App und gehen Sie zu Action Drawer > Live Designer
  • Gehen Sie zum SQL-Zahnrad-Symbol für das Auftragsfenster.
  • Kopieren Sie das Geschäftsobjekt Bestellung (Quelle) und benennen Sie es um. Beispiel: Bestellungen (letzte Jahre)
  • Erstellen Sie für die neue Regel auf der Tab „Spalten“ einen neuen Ausdruck, der die Anzahl der Jahre berechnet, seit eine Bestellung aufgegeben wurde, und zwar mit DATEDIFF und geben Sie einen Alias-Wert für diesen Ausdruck an. Dieser Alias wird für die dynamische Ersetzung verwendet. Beispiel: DateDiff
  • Legen Sie die entsprechende Cast-Option für den logischen Datentyp des Ausdrucks fest. Hier setzen wir sie auf Zahl.
  • Validieren, um zu überprüfen, ob die Ergebnisse den Erwartungen entsprechen

Als Nächstes verwenden wir die dynamische Substitution in der Where-Klausel unseres Geschäftsobjekts, um die Ergebnisse einzuschränken, die zurückgegeben werden sollen.

  • Navigieren Sie zum Bildschirm „Geschäftslogik“, wo Sie die Regel von oben konfigurieren
  • Klicken Sie, um die Tab Wo auszuwählen
  • Klicken Sie auf + Where-Klausel und fügen Sie die Syntax für dynamische Substitution hinzu. Verwenden Sie dabei unseren Alias-Wert aus dem gerade erstellten Ausdruck und geben Sie an, wie Sie die Ergebnisse einschränken möchten. Beispiel:
    • Links = {{DateDiff}}
    • Operator = <=
    • Rechts = 3
  • Validieren und überprüfen Sie, ob die zurückgegebenen Datensätze nur die Bestellungen der letzten 3 Jahre sind

Abschließend betrachten wir in diesem Beispiel, wie wir eine Berechnung durch dynamische Substitution vereinfachen können. Wir arbeiten weiter mit dem für unser Beispiel erstellten Geschäftsobjekt und modifizieren es um einen zusätzlichen Ausdruck, der durch dynamische Substitution die Anzahl der Jahre seit der Auftragserteilung mit dem Wort „Jahre“ verknüpft.

  • Klicken Sie auf die Zurück-Schaltfläche des App Builder, um zum Bildschirm „Geschäftslogik“ zurückzukehren, auf dem Sie die Regel konfigurieren.
  • Klicken Sie, um die Tab Spalten auszuwählen
  • Klicken Sie auf + Spalte und fügen Sie einen Ausdruck hinzu, der den dynamischen Substitutionswert umwandelt und ihn mit dem Wort „Jahre“ verknüpft:
    • Zum Beispiel: CAST({{DateDiff}} as string) || 'years'Geben Sie einen Aliaswert für diesen Ausdruck an. Beispiel: Jahre
  • Ergebnisse validieren

URL Beispiel

Wenn Sie eine URL dynamisch in einem Datenobjekt ersetzen möchten, können Sie eine Syntax wie im folgenden Beispiel verwenden:

'www.webpage.com/path/path/' || {{DynamischeSubstitution}}

Beispiel für einen komplexen Ausdruck

Wenn Sie mit dynamischer Substitution in einem komplexeren Ausdruck arbeiten, achten Sie auf die Syntax. Möglicherweise müssen Sie zusätzliche Klammern hinzufügen, damit die Syntax korrekt (oder wie erwartet) funktioniert.

Wenn Sie beispielsweise den folgenden Ausdruck verwenden, gibt App Builder einen Division-durch-Null-Fehler zurück:

IIF({{Summe}} = 0, 0,({{CompletedCount}}/{{Summe}})*100)

Der Grund hierfür liegt darin, dass der Prozess und die Reihenfolge, in der der Ausdruck ausgewertet wird, zusätzliche Klammern erfordern, um die gewünschten Ergebnisse auszugeben. Hier ist die korrigierte Syntaxversion:

IIF(({{Summe}}) = 0, 0,((CAST({{CompletedCount}} AS DECIMAL(15,5)))/(CAST({{Summe}} AS DECIMAL(15,5))))*100)

Beispiel für einen Seiten- oder Panelnamen

Dynamische Ersetzungen können auch für Seiten- oder Panelnamen verwendet werden. In diesem Beispielszenario verwenden wir die dynamische Ersetzung für einen Panelnamen im Formularfeld der Mitarbeiterseite. Hier ersetzen wir dynamisch den vollständigen Namen des Mitarbeiters als Panelnamen für das Mitarbeiterformular.

  1. Navigieren Sie zu der Seite in Ihrer Anwendung, auf der Sie den Panelnamen ersetzen möchten. Zum Beispiel: Mitarbeiter
  2. Klicken Sie auf das Menü Action Drawer und wählen Sie Live Designer
  3. Wählen Sie unter Seitenoptionen das Geschäftsobjekt aus, das den Spaltenwert enthält, den Sie für Quelle verwenden möchten.
  4. Klicken Sie auf die Tab Beschriftungsoptionen für das Panel, dessen Namen Sie ändern möchten. Beispiel: Mitarbeiter
  5. Ändern Sie das Feld Label so, dass es den von Ihnen verwendeten Spaltenwert enthält. Verwenden Sie dabei die richtige Syntax für die dynamische Ersetzung.

    • Zum Beispiel: {{FullName}}
  6. Klicken Sie auf Speichern.

  7. Navigieren Sie zurück zur Seite in der Anwendung, aktualisieren Sie Ihren Webbrowser und testen Sie.

App Builder Validierungen

Wenn Sie dynamische Ersetzungen mit App Builder-Validierungsnachrichten verwenden möchten, müssen Sie den Wert für die dynamische Ersetzung in die Validierungsnachricht selbst und auch in das Panel-Geschäftsobjekt einfügen.

Beispiel einer Validierungsnachricht: Kann nicht überschreiten {{MaxDiscount}}

Einschränkungen

Folgende bekannte Einschränkungen bei der Arbeit mit dynamischen Ersetzungen:

  • Spaltennamen in Diagrammen werden derzeit nicht unterstützt.
  • Die Formatierung von Fremdwährungen ermöglicht derzeit keine dynamische Ersetzung. Um dies zu umgehen, formatieren Sie das Datenobjekt und führen Sie eine Umwandlung als String durch. Dadurch funktioniert die Gesamtfunktion.