Mikroprozess mit eindeutigem Startservice ausführen

Ein Mikroprozess kann durch eine Empfangs- oder Auswahlaktivität gestartet werden. Der Startservice ist eindeutig, wenn der Mikroprozess mit einer Empfangsaktivität beginnt, oder wenn die Auswahlaktivität nur über eine einzige onMessage-Definition verfügt.

Anlass und Zeitpunkt für die Ausführung dieser Task

Wenn der Mikroprozess eine Operation für Antwortanforderung implementiert, d. h., der Prozess enthält eine Antwort, können Sie den Prozess mit der Aufrufmethode ausführen, wobei der Name der Prozessschablone als Parameter im Aufruf übergeben wird.

Wenn es sich bei dem Mikroprozess um eine unidirektionale Operation handelt, verwenden Sie die Methode sendMessage zum Ausführen des Prozesses. Diese Methode wird in diesem Beispiel nicht dargelegt.

Erforderliche Schritte für diese Task

  1. Optional: Listen Sie die Prozessschablonen auf, um den Namen des Prozesses zu finden, den Sie ausführen möchten.

    Dieser Schritt ist optional, wenn Sie den Namen des Prozesses bereits kennen.

    ProcessTemplateData[] processTemplates = process.queryProcessTemplates
    ("PROCESS_TEMPLATE.EXECUTION_MODE =
           PROCESS_TEMPLATE.EXECUTION_MODE.EXCECUTION_MODE_MICROFLOW",
     "PROCESS_TEMPLATE.NAME",
      new Integer(50),
      null);

    Die Ergebnisse sind nach dem Namen sortiert. Die Abfrage gibt eine Matrix mit den ersten 50 sortierten Schablonen zurück, die mit der Aufrufmethode gestartet werden können.

  2. Starten Sie den Prozess mit einer Eingabenachricht des passenden Typs.

    Beim Erstellen der Nachricht müssen Sie den Nachrichtentypnamen so angeben, dass er die Nachrichtendefinition enthält.

    ProcessTemplateData template = processTemplates[0];
    // Erstellen einer Nachricht für die einzelne Empfangsstartaktivität
    ClientObjectWrapper input = process.createMessage
                               (template.getID(),
                                template.getInputMessageTypeName());
    DataObject myMessage = null;
    if ( input.getObject()!= null && input.getObject() instanceof DataObject )
    {
      myMessage = (DataObject)input.getObject();
      // Festlegen der Zeichenfolgen in der Nachricht (z. B. ein Kundenname)
      myMessage.setString("Kundenname", "Schmidt");
    }
    
    // Ausführen des Prozesses
    ClientObjectWrapper output = process.call(template.getName(), input);
    DataObject myOutput = null;
    if ( output.getObject() != null && output.getObject() instanceof DataObject )
    {
      myOutput  = (DataObject)output.getObject();
      int order = myOutput.getInt("Bestellnr");
    }

    Diese Aktion erstellt eine Instanz der Prozessschablone 'Kundenschablone' und übergibt die Kundendaten. Die Operation gibt das Ergebnis erst zurück, wenn der Prozess abgeschlossen ist. Das Ergebnis des Prozesses (Bestellnr) wird an den Aufrufenden zurückgegeben.

Zugehörige Konzepte
Abfragen für Business-Prozessobjekte und taskbezogene Objekte

Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

(c) Copyright IBM Corporation 2005.
Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)