Business-Objekt-Funktionen verwalten
Die Logik eines Business Objekts wird über Skriptfunktionen implementiert. Jedes Business-Objekt kann beliebig viele Funktionen enthalten. Klicken Sie auf das Symbol ‘Funktionen bearbeiten’.
Sie werden zur Übersicht der Funktionen des Business Objekts weitergeleitet. Dort können Sie auf die Funktionsdetails zugreifen, eine Funktion bearbeiten, testen, kopieren oder löschen.
Um eine neue Funktion hinzuzufügen, klicke auf das ‘+’.
Das Erstellen einer Funktion umfasst das Schreiben einer Methode über JavaScript im Code-Editor und das Festlegen von Eingabe- und Ausgabeparametern. Im Skripteditor kannst du Logik programmieren, die im Process Designer aufgerufen werden kann.
Code Editor
Der Inhalt entspricht dem inneren Teil einer JavaScript-Funktion. Mit anderen Worten, Ihr Hauptcodeblock darf nicht in einer separaten Funktionsdefinition eingeschlossen sein, sondern befindet sich im Top-Level-Kontext. Es ist dennoch möglich, Sub-Funktionen über Ihrem Hauptcodeblock zu definieren.
Es hat sich bewährt, Ihren Hauptcodeblock in einen Try-Catch-Block einzuschließen, um mögliche Fehler zu behandeln.
Hier ein typisches ‘Hello World’-Beispiel:
Legen Sie den Funktionsnamen oben im Editor fest.
In der Symbolleiste oben hast du verschiedene Möglichkeiten:
- Rückgängig (Strg+z)
- Wiederherstellen (Strg+y)
- Suchen (Strg+f)
- Suchen und Ersetzen
- Code formatieren
- Code validieren
- Einstellungen (Strg+,)
- Vollbild
Dieses Beispiel liest einen Namen, der dem Business Objekt als Eingabeparameter übergeben wird, verkettet ihn zu einer Begrüßungsnachricht und schreibt das Ergebnis in die Ausgabe.
Wirf einen Blick auf den Try-Catch-Block, der den Hauptcodeabschnitt 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 „catch“-Abschnitt, wenn ein Fehler auftritt. In diesem Fall wird output.success = false gesetzt und die Fehlermeldung dem Parameter output.error zugewiesen.
Um die Skriptfunktion korrekt zu verwenden, musst du dieselben Eingabe- und Ausgabeparameter hinzufügen, die du in der Payload verwendet hast. Diese Parameter werden in den Mapping-Dialogen im Process 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 enthält 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 Fehlerfall zu enthalten.
Sie können die Parameteransicht maximieren, indem Sie auf die linke Pfeiltaste klicken.
Neue Integration des VS Code Monaco Editors (experimentell)
Wenn in den Funktionseinstellungen aktiviert, wird der Legacy-Code-Editor durch den VS Code Editor Monaco ersetzt. Syntaxhervorhebung und JavaScript-Codevervollständigung basieren jetzt auf ECMAScript 2022.
Die folgenden APIs stehen für die Codevervollständigung zur Verfügung:
- Simplifier API (Simplifier.)
- dieser Kontext
- Eingabe- und Ausgabeparameter (input., output., fnSuccess(), fnError())
- Integrierte Bibliotheken in serverseitigen Business-Objekten (Lodash, moment, etc.)
- Zusätzlicher Namespace in clientseitigen Business-Objekten (sap., document., window.)
Eingabe- und Ausgabeparameter
Sie können die Eingabe- und Ausgabeparameter im Backend validieren. Es validiert:
- Basistyp gegen Typsicherheit
- Domänentyp gegen Sicherheit und Einschränkungen
- Strukturen gegen Typsicherheit und zugrunde liegende Eigenschaftstypen
- Sammlungen gegen Typsicherheit und die zugrunde liegenden Typen/Eigenschaftskategorien
Wenn die Validierung nicht erfolgreich ist, wird der Client über alle fehlgeschlagenen Validierungen benachrichtigt, und die Informationen werden gleichzeitig in das Business-Objekt-Protokoll und das Systemprotokoll geschrieben.
Für jedes neue Business Objekt ist dieses Flag standardmäßig gesetzt.
Speichern und Testen
Beide Aktionen ‘Speichern’ (Strg + s) und ‘Speichern & Testen’ speichern deine Funktion und erstellen eine Version, wenn der Code geändert wurde.















