Die Logik eines Business-Objekts wird über Skriptfunktionen realisiert. Jedes Business-Objekt kann so viele Funktionen enthalten, wie Sie möchten. Klicken Sie auf das Symbol “Funktionen bearbeiten”.
Sie gelangen in die Übersicht der Funktionen des Business-Objekts. Dort können Sie auf die Funktionsdetails zugreifen, eine Funktion bearbeiten, testen, kopieren oder löschen.
Um eine neue Funktion hinzuzufügen, klicken Sie auf das “+”.
Beim Erstellen einer Funktion wird eine Methode über JavaScript geschrieben und Parameter bearbeitet. Im Skript-Editor können Sie Logik codieren , die im Prozess-Designer aufgerufen werden kann.
Der Inhalt entspricht dem inneren Text einer JavaScript-Funktion.
Mit anderen Worten: Ihr Hauptcodeblock darf nicht in eine separate Funktionsdefinition verpackt werden, sondern ruht auf dem Kontext der obersten Ebene.
Es ist dennoch möglich, Unterfunktionen über Ihrem Hauptcodeblock zu definieren.
Es empfiehlt sich, den Hauptcodeblock in einen try-catch-Block einzuschließen, um mögliche Fehler zu behandeln.
Nehmen wir ein typisches Hello World-Beispiel:
Legen Sie den Funktionsnamen oben im Editor fest.
In der Symbolleiste oben haben Sie mehrere Möglichkeiten:
- Rückgängig (Strg+Z)
- Wiederholen (Strg+Y)
- Suche (Strg+F)
- Suchen und Ersetzen
- Formatieren von Code
- Überprüfen des Codes
- Einstellungen (Strg+,)
- Vollbild
In diesem Beispiel wird ein Name gelesen, der dem Geschäftsobjekt als Eingabeparameter bereitgestellt wird, er wird zu einer Begrüßungsnachricht verkettet und das Ergebnis in die Ausgabe geschrieben. Werfen Sie einen Blick auf den try-catch-Block, der den Hauptcode-Abschnitt umgibt:
Wenn kein Fehler auftritt, wird der obere Teil des Codes innerhalb des “try”-Abschnitts ausgeführt und gibt die Begrüßungsnachricht und output.success = true zurück. Die Funktion springt jedoch in den Abschnitt “catch”, wenn ein Fehler auftritt. In diesem Fall wird set output.success = false gesetzt, und die Fehlermeldung wird dem Parameter output.error zugewiesen. Um die Skriptfunktion korrekt zu verwenden, müssen Sie die gleichen Eingabe- und Ausgabeparameter hinzufügen, die Sie in der Payload verwendet haben. Diese Parameter werden in den Mapping-Dialogen im Prozess-Designer angezeigt.
Bitte beachten Sie die entsprechende Behandlung von Ein- und Ausgabe über die (JSON) Objekte “input” und “output”. Beide können beliebige Attribute tragen.
In diesem Beispiel trägt das Objekt “input” das Attribut:
- input.name , um den eingefügten Namen zu lesen.
Das Objekt “output” trägt die Attribute:
- output.message , um eine Begrüßungsnachricht zu senden.
- output.success (true/false), um anzugeben, ob die Skriptvorlage erfolgreich ausgeführt wurde.
- output.error , um die Ursache eines Fehlers im Falle eines Fehlers zu speichern.
Sie können die Parameteransicht maximieren, indem Sie auf die Schaltfläche mit dem Pfeil nach links klicken.
Validieren
Sie können die Eingabe- und Ausgabeparameter im Backend validieren. Es validiert:
- Basistyp gegen Typsicherheit
- Domain-Typ gegen Sicherheit und Einschränkungen
- Strukturen für den Typ security und die zugrunde liegenden Eigenschaftstypen
- Auflistungen für die Typsicherheit und die zugrunde liegenden Typen/Eigenschaftskategorien
Wenn die Validierung nicht erfolgreich ist, wird der Client über alle fehlgeschlagenen Validierungen benachrichtigt und gleichzeitig in das Business-Objekt-Protokoll oder das Systemprotokoll geschrieben. Für jedes neue Business-Objekt wird dieses Kennzeichen standardmäßig gesetzt.
Speichern und Testen
Sowohl die Aktionen ‘Speichern’ (Strg + S) als auch ‘Speichern & Testen’ speichern Ihre Funktion und erstellen eine Version, wenn der Code geändert wurde.
“Speichern & Testen” steht nur für serverseitige Business Objekte zur Verfügung und öffnet direkt die Testansicht der Funktion Ihrer Business Objekte.