Code

Es wird ein Worfklowereignishandler für die Prozessumsetzung von Cúram bereitgestellt, der automatisch registriert wird, um in der Anwendung ausgelöste Ereignisse zu überwachen. In einem Workflowprozess können für eine bestimmte Aktivitätsinstanz mehrere Event-Waits registriert werden. Wenn das Flag waitOnAllEvents für die angegebenen Event-Wait-Daten auf den Wert "false" gesetzt ist, muss zum Abschließen dieser Aktivitätsinstanz nur eines dieser Event-Waits zugeordnet werden. Der Workflowereignishandler verarbeitet dieses Ereignis, indem er die angegebene Aktivitätsinstanz abschließt und den Prozess durch Starten der nächsten Gruppe von Aktivitäten im Prozess weiterführt. Alle anderen Event-Wait-Datensätze, die für die abgeschlossene Aktivitätsinstanz registriert wurden, werden dann entfernt. Wenn Ausgabezuordnungen (siehe Ausgabezuordnungen) für das Event-Wait angegebenen wurden, werden diese von der Workflow-Engine beibehalten und können in nachfolgenden Aktivitäten und Übergängen im Prozess verwendet werden.

Wenn das Flag waitOnAllEvents auf "true" gesetzt ist, müssen alle für die Aktivitätsinstanz angegebenen Event-Waits ausgelösten Ereignissen zugeordnet sein, damit die Aktivität abgeschlossen und der Workflow fortgesetzt werden kann. Für jedes ausgelöste Ereignis, das einem zugehörigen Event-Wait für die Aktivitätsinstanz zugeordnet ist, verarbeitet der Workflowereignishandler das Ereignis, indem er den entsprechenden Event-Wait-Datensatz löscht und alle Ausgabezuordnungen (siehe Ausgabezuordnungen) beibehält, die für das Event-Wait angegeben wurden. Diese Verarbeitung wird so lange weitergeführt, bis alle zugehörigen Event-Waits ausgelösten Ereignissen zugeordnet wurden. Erst dann kann der Workflowereignishandler die angegebene Aktivitätsinstanz abschließen und den Prozess durch Starten der nächsten Gruppe von Aktivitäten im Prozess fortsetzen.