Neuen Prozess starten

Mit der Funktion tw.system.startProcessByName() kann eine neue Instanz eines Prozesses gestartet werden.

Parameter

Die Methode tw.system.startProcessByName() gibt ein TWProcessInstance-Objekt zurück und akzeptiert zwei Parameter:
name (Zeichenfolge)
Der Name des Prozesses.
inputValues (Zuordnung)
Die Zuordnung, die die Eingabeparameter für den Prozess enthält.
var inputs = new tw.object.Map();
inputs.put("parm1", "parm1 value");
inputs.put("parm2", "parm2 value");
tw.system.startProcessByName("StartProcess2", inputs);

Ausnahmebedingungen für blockierten Thread

Unter bestimmten Umständen kann der Versuch, eine Prozessinstanz mit der Funktion tw.system.startProcessByName() zu starten, blockiert werden, und im Systemausgangsprotokoll wird möglicherweise eine Ausnahmebedingung wegen blockierter Threads für einen Thread angezeigt, der eine Datenbankverbindung enthält. Dies kann in den folgenden Situationen auftreten:
  • Sie haben ein UCA-Nachrichtenereignis (UCA = Undercover Agent) mit einem angehängten Service definiert.
  • Im angeschlossenen Service starten Sie eine neue Prozessinstanz mit der Funktion tw.system.startProcessByName().
  • Für den gestarteten Prozess sind Variablen definiert, die für die Komponente 'Geschäftsdatensuche' zugänglich sind, und die Erstellung des Prozesses wird blockiert.

Zur Lösung wird die Verwendung des bewährten Verfahrens von BPMN (Business Process Model and Notation) sowie eine Modellierung des Prozesses mit einem Startnachrichtenereignis empfohlen. Das UCA-Nachrichtenereignis wird dann an dieses Startnachrichtenereignis angehängt.