Zum Inhalt springen

Standardregeln in Jitterbit App Builder

Standardregeln sind eine Regelzweck, die verwendet werden, um automatisch ein oder mehrere Felder mit einem Wert zu füllen. Eine Standardregel kann beispielsweise ein Datums-Feld auf das heutige Datum setzen oder ein Preis-Feld basierend auf einem Wert aus einer verknüpften Tabelle festlegen.

Eine umfassende Beispieldemonstration mit Beispielwerten zum Erstellen einer Standardregel und deren Registrierung auf einem Panel finden Sie im Bereich Standardregeln unter Einführung in App Builder - Lektion 7: Mehr über Regeln.

Erstellen einer Standardregel

  1. Klicken Sie in App Workbench > Regeln auf + Regel. Der Rule Builder öffnet sich.

  2. Folgen Sie den Namenskonventionen von App Builder und geben Sie einen Namen für die Regel ein. Verwenden Sie das Muster TableName (Default ColumnName).

  3. Scrollen Sie im Feld Zweck nach unten, um die Option Standard unter Edge Case zu finden, und wählen Sie sie aus.

    Standardregelzweck

  4. Wählen Sie im Feld Ziel die Tabelle oder das Geschäftsobjekt aus, auf das die Standardwerte angewendet werden sollen. Unter Eine Tabelle oder ein Geschäftsobjekt als Ziel auswählen finden Sie Hinweise zur Entscheidung.

  5. Klicken Sie auf Erstellen. App Builder benötigt einen Moment, um die Regel zu erstellen.

  6. Auf der Registerkarte Spalten fügen Sie die Logik hinzu, die den Standardwert für jede Spalte bestimmt, die Sie standardisieren möchten. Sie können beispielsweise auf + Spalte klicken und den Ausdruck Now() eingeben, um ein Datumsfeld auf das aktuelle Datum und die aktuelle Zeit zu setzen. Verwenden Sie hierfür die Now()-Datenbankfunktion, oder fügen Sie auf der Registerkarte Tabellen eine verknüpfte Tabelle hinzu und wählen Sie eine ihrer Spalten aus, um einen Wert daraus nachzuschlagen.

  7. Klicken Sie im Regel-Panel auf Ergebnisse, um zu bestätigen, dass die Regel den erwarteten Wert zurückgibt.

Eine Tabelle oder ein Geschäftsobjekt als Ziel auswählen

Eine Standardregel muss entweder auf ihre Basistabelle oder auf ein Geschäftsobjekt abzielen, das auf derselben Tabelle erstellt wurde. Diese Wahl bestimmt ihr Verhalten:

  • Wenn das Ziel eine Tabelle ist: Eine Standardregel, die auf eine Tabelle abzielt, kann nur physische Spalten standardisieren, keine berechneten Spalten. Sie gilt jedoch für alle Geschäftsobjekte, die auf dieser Tabelle erstellt wurden. Eine Standardregel, die auf die Tabelle Order abzielt, könnte beispielsweise Quantity auf 1 und Price auf 5 setzen. Wenn ein Geschäftsobjekt, das auf Order basiert, eine berechnete Spalte wie LineTotal (Quantity*Price) hat, zeigt diese Spalte NULL an, bis der Datensatz gespeichert wird. Dies liegt daran, dass die Datenbank diese Spalte erst berechnet, nachdem die Standardwerte geschrieben wurden.

  • Wenn das Ziel ein Geschäftsobjekt ist: Eine Standardregel, die auf ein Geschäftsobjekt wie Order (Source) abzielt, kann sowohl physische Spalten als auch im Speicher berechnete Spalten standardisieren. Die berechneten Werte werden in der Benutzeroberfläche live neu berechnet, während der Benutzer verknüpfte Felder ändert – sogar bevor der Datensatz gespeichert wird. Wenn beispielsweise Quantity auf 1 standardisiert ist, Price auf 5 standardisiert ist und eine berechnete Spalte LineTotal (Quantity*Price) gleichzeitig standardisiert wird, zeigt LineTotal anfangs 5 an. Wenn Sie Quantity vor dem Speichern auf 2 ändern, wird LineTotal sofort auf 10 neu berechnet. Nach dem Speichern wird bei erneuter Änderung von Quantity auf 3 LineTotal auf 15 neu berechnet.

Ein Geschäftsobjekt wendet die Werte einer Standardregel nur für die Spalten an, die es auswählt. Wenn eine Standardregel, die auf einer Tabelle registriert ist, auf eine Spalte abzielt, die ein Geschäftsobjekt, das auf dieser Tabelle erstellt wurde, nicht auswählt, wird der Standard bei der Einfügung über dieses Geschäftsobjekt nicht angewendet. App Builder zeigt eine Warnung an. Um sicherzustellen, dass die Standardwerte angewendet werden, fügen Sie die fehlenden Spalten zum Geschäftsobjekt hinzu oder wählen Sie das Geschäftsobjekt als Ziel und registrieren Sie die Regel darauf.

Hinweis

Eine Standardregel, die auf eine Tabelle abzielt, kann auf diese Tabelle oder auf jedes Geschäftsobjekt registriert werden, das auf ihr erstellt wurde. Eine Standardregel, die auf ein bestimmtes Geschäftsobjekt abzielt, kann nur auf diesem Geschäftsobjekt registriert werden – nicht auf der zugrunde liegenden Tabelle oder auf einem anderen Geschäftsobjekt, das auf derselben Tabelle erstellt wurde. In jedem Fall müssen das Ziel der Regel und das, worauf Sie sie registrieren, verknüpft sein. Eine Standardregel für Order-Daten kann beispielsweise nicht auf der Tabelle Customer oder auf einem Customer-Geschäftsobjekt registriert werden.

Eine Standardregel registrieren

Eine Standardregel hat keine Auswirkung, bis man sie registriert – entweder auf der Tabelle, auf die sie abzielt, oder auf einem Panel, das auf dem Geschäftsobjekt basiert, auf das sie abzielt.

Auf einer Tabelle

Das Registrieren einer Standardregel auf ihrer Tabelle wendet sie auf jedes Geschäftsobjekt an, das auf dieser Tabelle basiert:

  1. Unter App Workbench > Tables die Tabelle suchen und auswählen.

  2. More > Defaults anklicken. Das Dialogfeld Defaults wird geöffnet.

  3. Register anklicken. Das Dialogfeld Default wird geöffnet.

  4. Im Feld Type die Option Rule auswählen.

  5. Im Feld Rule die erstellte Standardregel auswählen.

  6. Im Feld Binding einen Bindungstyp auswählen. Weitere Informationen finden Sie unter Binding weiter unten.

  7. Save anklicken.

Auf einem Panel

Das Registrieren einer Standardregel auf einem Panel wendet sie nur innerhalb dieses Panels an:

  1. Zum Panel navigieren, auf dem man die Regel registrieren möchte, auf eine von zwei Arten:

    • Aus der App-Vorschau zur Seite mit dem Panel navigieren und den Live Designer öffnen, indem man das Hamburger-Symbol oben rechts anklickt und Live Designer auswählt.

    • Aus dem App Workbench die Pages tab öffnen und die Seite mit dem Panel auswählen.

  2. Falls man sich im Live Designer befindet, das Panel in der Vorschau auswählen, um den Designer mit seinen Optionen zu füllen, dann More > Defaults anklicken. Falls man sich im App Workbench befindet, das Panel in Page Panel Layout auswählen, dann More > Defaults anklicken. Das Dialogfeld Defaults wird geöffnet:

    Defaults dialog

  3. Register anklicken. Das Dialogfeld Default wird geöffnet:

    Default dialog

  4. Im Feld Type die Option Rule auswählen.

  5. Im Feld Rule die erstellte Standardregel auswählen.

  6. Im Feld Binding einen Bindungstyp auswählen. Weitere Informationen finden Sie unter Binding weiter unten.

  7. (Optional) Im Feld Order eine Zahl eingeben, um die Reihenfolge zu bestimmen, in der die Regel ausgeführt wird, falls das Panel mehr als eine registrierte Regel hat. Falls das Panel nur eine Regel hat, ist der Standardwert 10.

  8. Das Kontrollkästchen Active aktiviert lassen, um die Regel durchzusetzen. Falls man sie deaktivieren möchte, ohne sie zu löschen, das Kontrollkästchen deaktivieren.

  9. Save anklicken.

Seite aktualisieren. Um zu testen, ob die Standardregel funktioniert, einen neuen Datensatz auf dieser Tabelle oder diesem Panel erstellen. Das Feld sollte sich automatisch füllen.

Binding

Das Binding einer Standardregel bestimmt, welche vorhandenen Datensatzdaten verwendet werden, um den Standardwert zu berechnen:

  • Implicit binding verwendet den Primärschlüssel des In-Memory-Datensatzes, sodass dieser immer genau einen Datensatz entspricht.

  • Explicit binding vergleicht eine andere Spalte als den Primärschlüssel, z. B. einen Fremdschlüssel. Man könnte beispielsweise ein Freight-Standard explizit an die ausgewählte ShipperID auf einem Order-Panel binden, sodass Freight basierend auf dem vom Benutzer ausgewählten Spediteur standardmäßig eingestellt wird.

Warnung

Ein explizites Binding muss so konfiguriert sein, dass seine Regel für einen bestimmten Satz von Bindungskriterien genau einen Datensatz zurückgibt, andernfalls wirft App Builder einen Fehler „zu viele Zeilen". Falls dieser Fehler auftritt, versuchen Sie, eine DISTINCT-Klausel zur Regel hinzuzufügen. Falls das die Ergebnisse nicht auf einen Datensatz reduziert, arbeiten Sie die Abfrage der Regel so um, dass dies der Fall ist.

Weitere Informationen finden Sie unter Implizite und explizite Bindung.

Wann Standard regeln ausgeführt werden

  • Bei einem New-Ereignis (wenn ein Datensatz zum ersten Mal erstellt wird) führt App Builder die vollständige Standardlogik aus, bevor der Datensatz in die Datenbank eingefügt wird, und initialisiert physische Spalten für jede Standardregel und berechnete Spalten für Regeln, die auf ein Geschäftsobjekt abzielen.

  • Bei einem Update-Ereignis (wenn ein vorhandener Datensatz bearbeitet wird), wendet App Builder die anfänglichen Spaltenwerte einer Standard-Regel nicht erneut an, sodass ein Wert, den der Benutzer bereits geändert hat, nicht überschrieben wird. Berechnete Spalten aus Standardwerten, die auf ein Geschäftsobjekt abzielen, werden jedoch neu berechnet, wenn sich ein Feld, von dem sie abhängen, ändert – sowohl vor als auch nach dem ersten Speichern des Datensatzes. Explizit gebundene Standardwerte verhalten sich gleich: Sie werden neu ausgeführt, wenn sich ihr gebundenes Feld ändert, unabhängig davon, ob der Datensatz bereits gespeichert wurde.