Please enable JavaScript to view this site.

Prozess Designer

Navigation: Workflow Design > Weitere Prozessfunktionen > PHP-Funktionen

PHP-Funktion schreiben

Scroll Zurück Oben Weiter Mehr

Der PHP-Editor zeigt Ihnen standardmäßig den Rahmen für Ihre Funktionsklasse mit einer Klassen- und einer Methodendefinition. Fügen Sie Ihren Programmcode an der folgenden Stelle ein:

PHP-Editor

PHP-Editor

Bitte beachten Sie: Ergänzen Sie bei einer Boxaktionsfunktion sowie einer Regelbedingungsfunktion am Ende der Methode execute() entweder return true oder return false. Wird kein Wert zurückgegeben, wird das als false interpretiert.

Dialogfelder

In der Auswahlliste Dialogfelder finden Sie alle Elemente sämtlicher Dialoge des Prozesses. Über den Namen eines Dialogelements können Sie auf dessen Wert zugreifen. Verwenden Sie hierzu die Methode getDialogValue und übergeben Sie der Methode den Namen des Dialogelements als Parameter. Durch Doppelklick auf einen Eintrag in der Liste wird der entsprechende Methodenaufruf direkt an der aktuellen Cursorposition im Codeeditor eingefügt.

Beispiel: $this->getDialogValue('Name des Dialogfelds')

Prozesskonfigurationen

In der Auswahlliste Prozesskonfigurationen finden Sie sämtliche Prozesskonfigurationen des Prozesses. Über den Namen einer Prozesskonfiguration können Sie auf deren Wert zugreifen. Verwenden Sie hierzu die Methode getConfiguration und übergeben Sie der Methode den Namen der Prozesskonfiguration als Parameter. Durch Doppelklick auf einen Eintrag in der Liste wird der entsprechende Methodenaufruf direkt an der aktuellen Cursorposition im Codeeditor eingefügt.

Beispiel: $this->getConfiguration('Name der Prozesskonfiguration')

Prozessmeldungen

In der Auswahlliste Prozessmeldungen finden Sie sämtliche Prozessmeldungen des Prozesses. Über den Namen einer Prozessmeldung können Sie auf deren Wert zugreifen. Verwenden Sie hierzu die Methode getMessage und übergeben Sie der Methode den Namen der Prozessmeldung als Parameter. Als weiteren Parameter können Sie der Methode die gewünschte Sprache übergeben. Standardmäßig wird die Meldung in der Sprache des Benutzers zurückgeliefert, in dessen Kontext die PHP-Funktion ausgeführt wird, bzw. in der Systemsprache, falls die Ausführung nicht im Benutzerkontext stattfindet (z. B. bei Entscheidungsschritten oder Systemaktivitätsschritten). Durch Doppelklick auf einen Eintrag in der Liste wird der entsprechende Methodenaufruf direkt an der aktuellen Cursorposition im Codeeditor eingefügt.

Beispiel: $this->getMessage('Name der Meldung', $this->getLanguage())

PHP-Funktionen

In der Auswahlliste PHP-Funktionen finden Sie sämtliche Methoden, die Ihnen für den ausgewählten Typ und die ausgewählte Version zur Verfügung stehen. Durch Doppelklick auf einen Eintrag in der Liste wird der entsprechende Methodenaufruf direkt an der aktuellen Cursorposition im Codeeditor eingefügt. Eine Beschreibung der unterschiedlichen Funktionstypen sowie der jeweils verfügbaren Funktionen finden Sie im Handbuch PHP API.

PHP Templates

In der Auswahlliste PHP Templates finden Sie Codevorlagen, die Sie innerhalb Ihrer Funktionsklasse verwenden können. Durch Doppelklick auf einen Eintrag in der Liste wird der entsprechende Codeblock direkt an der aktuellen Cursorposition im Codeeditor eingefügt. Eine Beschreibung der unterschiedlichen Codevorlagen finden Sie im Handbuch PHP-Funktionen.

Tabellenfelder

In der Auswahlliste Tabellenfelder finden Sie alle Felder der Prozesstabelle. Über den Namen eines Feldes können Sie lesend und schreibend auf dessen Wert zugreifen. Verwenden Sie hierzu die Methode getTableValue (Lesen) bzw. setTableValue (Schreiben) und übergeben Sie der Methode den Namen des Feldes als Parameter. Durch Doppelklick auf einen Eintrag in der Liste wird der Name des entsprechenden Feldes an der aktuellen Cursorposition im Codeeditor eingefügt.

Untertabellen

In der Auswahlliste Untertabellen finden Sie alle Untertabellen. Über den Namen einer Untertabelle können Sie verschiedene Operationen auf der Untertabelle vornehmen, z. B. Zeilen hinzufügen (insertSubtableRow), Zeilen löschen (deleteSubtableRow), die Anzahl der Zeilen abfragen (getSubtableCount) oder die Untertabelle leeren (clearSubtable). Verwenden Sie hierzu die entsprechende Methode und übergeben Sie der Methode den Namen der Untertabelle als Parameter. Durch Doppelklick auf einen Eintrag in der Liste wird der Name der entsprechenden Untertabelle an der aktuellen Cursorposition im Codeeditor eingefügt.

Untertabellenfelder

In der Auswahlliste Untertabellenfelder finden Sie alle Felder sämtlicher Untertabellen. Über den Namen eines Feldes in Kombination mit dem Namen der Untertabelle sowie der Zeilennummer (Row-ID) können Sie lesend und schreibend auf dessen Wert zugreifen. Verwenden Sie hierzu die Methode getSubtableValue (Lesen) bzw. setSubtableValue (Schreiben) und übergeben Sie der Methode den Namen der Untertabelle, die Zeilennummer, den Namen des Feldes und - im Falle von setSubtableValue - den Wert als Parameter. Durch Doppelklick auf einen Eintrag in der Liste wird der Name des entsprechenden Feldes an der aktuellen Cursorposition im Codeeditor eingefügt.

Fehlerbehandlung

Exceptions, die innerhalb Ihrer Funktionsklasse geworfen und dort nicht explizit behandelt werden, führen dazu, dass der Fehler implizit im Kontext des jeweiligen Aufrufs behandelt wird. Bei Funktionen, die im Schrittkontext ausgeführt werden, führt dies dazu, dass der Schritt in den Fehlerstatus versetzt und die Nachricht der Exception als Fehlermeldung beim Schritt hinterlegt wird. In den Eingangsboxen sowie der Schrittübersicht wird ein solcher Schritt rot markiert dargestellt.

In Benutzerschritten können Sie diesen Mechanismus beispielsweise nutzen, um die vom Benutzer eingegebenen Daten einer komplexeren Überprüfung zu unterziehen und im Falle eines negativen Prüfergebnisses eine Exception mit einem entsprechenden Nachricht erzeugen. Die Exception verhindert die Ausführung weiterer Regeln. Die Fehlermeldung wird dem Benutzer unmittelbar im Dialog angezeigt.