Definition als synchrone oder asynchrone Methode (BOR) 
Berücksichtigen Sie bei der Entscheidung, ob Sie eine Methode als synchrone und asynchrone Methode definieren wollen, das Umfeld der späteren Verwendung der Methode in einer Aufgabe:
Definition als ... |
Verwendung |
|---|---|
asynchrone Methode |
Eine Aufgabe, die sich auf eine asynchrone Objektmethode bezieht, muss mit mindestens einem beendenden Ereignis definiert sein. Wenn Sie eine asynchrone Methode definieren, müssen Sie sicherstellen, dass nach der Durchführung der Methode eines der beendenden Ereignisse ausgelöst wird. Zur Laufzeit wird das entsprechende Workitem nur beendet, wenn eines der definierten, beendenden Ereignisse eintrifft. |
synchrone Methode |
Eine Aufgabe, die sich auf eine synchrone Objektmethode bezieht, kann mit beendenden Ereignissen definiert sein. Zur Laufzeit wird das entsprechende Workitem in der Regel dadurch beendet, dass die synchrone Methode erfolgreich durchlaufen wurde. Das Workitem wird aber auch beendet, wenn eines der definierten, beendenden Ereignisse eintrifft. |
Sie definieren eine Methode als asynchrone Methode, wenn Sie wollen, dass eine Aufgabe, die diese Methode verwendet, ausschließlich über Ereignisse beendet wird. Gründe für die Definition einer Methode als asynchrone Methode können sein:
Die Methode wird durch ein Ereignis beendet, das bei erfolgreicher Verbuchung erzeugt wird.
Hinweis
Wenn Sie die Methode in diesem Fall trotzdem als synchrone Methode definieren, können durch Verbuchungsabbrüche oder -verzögerungen die Daten des Workflow und die aktuellen Daten auf der Datenbank inkonsistent werden.
Wenn es passieren kann, dass ein Benutzer die in der Methode gekapselte Funktion auch außerhalb des Workflow aufruft, obwohl das Objekt zeitgleich auch unter der Kontrolle eines Workflow bearbeitet wird, sollten Sie die Methode als asynchrone Methode implementieren. Es ist dann unerheblich, ob der Aufruf der Funktion innerhalb oder außerhalb des Workflow-Systems erfolgt. Nach dem Eintreffen des Ereignisses wird der Workflow fortgesetzt.
Durch die beendenden Ereignisse erhält diese Aufgabe ihren spezifischen Charakter.
Beispiel
In einer Aufgabe soll ein bestimmter Auftrag für die Faktura freigegeben werden. In der Aufgabe rufen Sie dazu die (allgemeine) Methode Auftrag bearbeiten auf und tragen als beendendes Ereignis das Ereignis Fakturasperre gelöscht ein.
Beispiel
Die Aufgabe, in der die Methode Kundenauftrag bearbeiten ausgeführt wird, wird auch durch das Ereignis Kunde zahlungsunfähig beendet.
Sie definieren eine Methode als synchrone Methode, wenn Sie Bearbeitungsergebnisse als Methodenparameter oder als Ergebnis nutzen wollen.
Weitere Gründe für die Definition einer Methode als synchrone Methode können sein:
Beispiel
Die Methode Display zum Anzeigen eines Objektes.
Die Bearbeitung der Aufgabe ist erst dann beendet, wenn der Bearbeiter im Business Workplace den Bearbeitungsstatus auf beendet setzt.
Beispiel
Die Methode Brief schreiben.
Es stehen keine Ereignisse zur Verfügung, die als beendende Ereignisse geeignet sind, und Sie haben keine Möglichkeit, die fehlenden Ereignisse zu erzeugen.