Dynamische Ersetzung im Jitterbit App Builder
Dynamische Substitution ist eine Syntaxart, die verwendet werden kann in {{nm.ab}} um das Ergebnis eines Ausdrucks entweder in der Business-Logik-Schicht und/oder in der Anwendungs-UI-Schicht dynamisch zu ersetzen. In der Business-Logik-Schicht wird es zum dynamischen Ersetzen von Daten verwendet und in der Anwendungs-UI-Schicht wird es zum dynamischen Ersetzen des angezeigten Ergebniswerts verwendet. Dynamische Ersetzung kann auch in Benachrichtigungen verwendet werden, wo Sie beispielsweise angezeigte Informationen ersetzen möchten {{CustomerName}}
.
Wenn Sie dynamische Substitution in der Anwendungs-UI-Schicht verwenden, müssen Sie die Seite einem Geschäftsobjekt zuweisen, um die dynamische Substitution zu verwenden. Diese Informationen werden auf Seitenebene konfiguriert, sodass jedes für die Substitution erforderliche Feld im Seiten-Geschäftsobjekt verfügbar sein muss.
Die Verwendung dynamischer Substitution in der Geschäftslogik hat den Vorteil, dass Sie die Menge der in einem Ausdruck enthaltenen Informationen vereinfachen können und Ausdrücke für Menschen besser lesbar sind.
Dynamische Substitutionssyntax
Die für die dynamische Substitution zu verwendende Syntax lautet:
`{{AliasName}}`
Hier die geschweiften Klammern {{ }} (oder Klammern in den USA) umgeben 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 in Where-Klauseln sehr nützlich und vereinfacht Berechnungen in der Business-Logik-Schicht. Hier sehen wir uns konkrete Beispiele an, in denen wir dynamische Substitution nutzen können.
Für dieses Beispiel verwenden wir die Northwinds-Datenbank als Quelle und gehen davon aus, dass wir uns eine Seite mit Bestellungen ansehen, die Informationen zu Bestellungen enthält, die über eine App zur Auftragserfüllung aufgegeben wurden. Zunächst sehen wir uns an, wie wir die dynamische Substitution in einer Geschäftslogikregel verwenden können, sodass wir die angezeigten Bestellinformationen auf die Bestellungen beschränken, die in den letzten 3 Jahren aufgegeben wurden:
- Navigieren Sie zur Seite „Bestellungen“ der App und gehen Sie zu Action Drawer > Live Designer
- Rufen Sie das SQL-Zahnrad-Symbol für das Auftragsfenster auf.
- 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 legen wir sie auf Zahl fest.
- 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 dynamische Substitutionssyntax 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 prüfen, ob die zurückgegebenen Datensätze nur die Bestellungen der letzten 3 Jahre sind
Zuletzt werden wir uns in diesem Beispiel ansehen, wie wir eine Berechnung mithilfe dynamischer Substitution vereinfachen können. Wir arbeiten weiter mit dem für unser Beispiel erstellten Geschäftsobjekt und ändern es, um einen zusätzlichen Ausdruck einzuschließen, der dynamische Substitution verwendet, um die Anzahl der Jahre seit der Bestellung mit dem Wort „Jahre“ zu verknüpfen.
- Klicken Sie auf das {{nm.ab}} Zurück-Schaltfläche, 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 Ersetzungswert umwandelt und ihn mit dem Wort „Jahre“ verknüpft:
- Zum Beispiel:
CAST({{DateDiff}} as string) || 'years'
- Zum Beispiel:
- Geben Sie einen Alias-Wert für diesen Ausdruck an. Beispiel: Jahre
- Validieren Sie die Ergebnisse
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, seien Sie vorsichtig mit der Syntax. Es kann Fälle geben, in denen Sie zusätzliche Klammern hinzufügen müssen, damit die Syntax richtig (oder wie erwartet) funktioniert.
Wenn Sie beispielsweise den folgenden Ausdruck verwenden würden {{nm.ab}} gibt einen Division-durch-Null-Fehler zurück:
IIF({{Summe}} = 0, 0,({{AbgeschlosseneAnzahl}}/{{Summe}})*100)
Der Grund hierfür ist, dass der Prozess und die Reihenfolge, in der der Ausdruck ausgewertet wird, einen zusätzlichen Klammernsatz erfordern, um die gewünschten Ergebnisse auszugeben. Hier ist die korrigierte Syntaxversion:
IIF(({{Summe}}) = 0, 0,((CAST({{AbgeschlosseneAnzahl}} AS DECIMAL(15,5)))/(CAST({{Summe}} AS DECIMAL(15,5))))*100)
Beispiel für einen Seiten- oder Bedienfeldnamen
Dynamische Ersetzungen können auch für Seiten- oder Panelnamen verwendet werden. In diesem Beispielszenario verwenden wir dynamische Ersetzung für einen Panelnamen für das Formularfeld der Mitarbeiterseite. Hier ersetzen wir den vollständigen Namen des Mitarbeiters dynamisch als Panelnamen für das Mitarbeiterformular.
- Navigieren Sie zu der Seite in Ihrer Anwendung, auf der Sie den Panelnamen ersetzen möchten. Beispiel: Mitarbeiter
- Klicken Sie auf das Menü Action Drawer und wählen Sie Live Designer
- Wählen Sie unter Seitenoptionen das Geschäftsobjekt aus, das den Spaltenwert enthält, den Sie für Quelle verwenden möchten.
- Klicken Sie auf die Tab Beschriftungsoptionen für das Panel, dessen Namen Sie ändern möchten. Beispiel: Mitarbeiter
-
Ä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}}
- Zum Beispiel:
-
Klicken Sie auf Speichern
- Navigieren Sie in der Anwendung zurück zur Seite, aktualisieren Sie Ihren Webbrowser und testen Sie
{{nm.ab}} Validierungen
Wenn Sie dynamische Substitutionen verwenden möchten mit {{nm.ab}} Validierungsnachrichten: Sie müssen den Wert für die dynamische Substitution in die Validierungsnachricht selbst und auch in das Panel-Geschäftsobjekt einfügen.
Beispiel für eine Validierungsnachricht: Darf nicht überschritten werden {{MaxDiscount}}
Einschränkungen
Folgende Einschränkungen sind bei der Arbeit mit dynamischen Ersetzungen bekannt:
- Derzeit nicht unterstützt für Spaltennamen in einem Diagramm
- Die Formatierung von Fremdwährungen erlaubt derzeit keine dynamische Ersetzung. Um das Problem zu umgehen, formatieren Sie das Datenobjekt und wandeln Sie es in einen String um, wodurch die Gesamtfunktion dann funktioniert.