Mitarbeiteraktivitäten verarbeiten

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

Mitarbeiteraktivitäten werden verschiedenen Personen in Ihrem Unternehmen durch Arbeitselemente zugewiesen. Sobald ein Prozess gestartet wird, werden für die potenziellen Eigner Arbeitselemente erstellt. Einer dieser Eigner beansprucht die Aktivität. Diese Person ist dafür zuständig, die relevanten Informationen bereitzustellen und die Aktivität abzuschließen.

Erforderliche Schritte für diese Task

  1. Listen Sie die einer angemeldeten Person zugeordneten Aktivitäten auf, die zum Bearbeiten bereit sind:
    QueryResultSet result = 
         process.query("ACTIVITY.AIID",
                       "ACTIVITY.STATE = ACTIVITY.STATE.STATE_READY AND
                        ACTIVITY.KIND = ACTIVITY.KIND.KIND_STAFF AND
                        WORK_ITEM.REASON = 
                             WORK_ITEM.REASON.REASON_POTENTIAL_OWNER",
                        null, null, null); 
    Diese Aktion gibt ein Abfrageergebnis zurück, in dem die Aktivitäten enthalten sind, die von der angemeldeten Person bearbeitet werden können.
  2. Beanspruchen Sie die zu bearbeitende Aktivität:
    if (result.size() > 0)
    {
    	result.first();
    	  AIID aiid = (AIID) result.getOID(1);
    	ClientObjectWrapper input = process.claim(aiid);
    	DataObject activityInput = null ;
      if ( input.getObject()!= null && input.getObject() instanceof DataObject )
      {
        activityInput = (DataObject)input.getObject();
        // Lesen der Werte
        ...
      }  
    }
    Wenn die Aktivität beansprucht ist, wird die Eingabenachricht der Aktivität zurückgegeben.
  3. Beenden Sie die Aktivität, nachdem ihre Bearbeitung abgeschlossen ist. Die Aktivität kann erfolgreich oder mit einer Fehlernachricht beendet werden. Ist die Aktivität erfolgreich beendet, wird eine Ausgabenachricht übergeben. Falls die Aktivität nicht erfolgreich beendet wird, wird sie in den Fehlschlagstatus oder den Stoppstatus versetzt, und es wird eine Fehlernachricht übergeben. Sie müssen die entsprechenden Nachrichten für diese Aktionen erstellen. Beim Erstellen der Nachricht müssen Sie den Nachrichtentypnamen so angeben, dass er die Nachrichtendefinition enthält.
    1. Erstellen Sie eine Ausgabenachricht für die erfolgreiche Beendigung der Aktivität.
      ActivityInstanceData activity = process.getActivityInstance(aiid);
      ClientObjectWrapper output = 
            process.createMessage(aiid, activity.getOutputMessageTypeName());
      DataObject myMessage = null ;
      if ( output.getObject()!= null && output.getObject() instanceof DataObject )
      {
        myMessage = (DataObject)output.getObject();
        // Festlegen der Teile in der Nachricht (z. B. eine Bestellnummer)
        myMessage.setInt("Bestellnr", 4711);
      }
      
      // Beenden der Task
      process.complete(aiid, output);
      Diese Aktion legt eine Ausgabenachricht fest, die die Bestellnummer enthält.
    2. Erstellen Sie eine Fehlernachricht für die Beendigung einer Aktivität nach Auftreten eines Fehlers.
      // Abrufen der für die Mitarbeiteraktivität modellierten Fehler
      List faultNames = process.getFaultNames(aiid);
      
      // Erstellen einer Nachricht des gewünschten Typs
      ClientObjectWrapper myFault = 
            process.createMessage(aiid, faultNames.get(0));
      
      // Festlegen der Teile in der Fehlernachricht (z. B. eine Fehlernummer)
      DataObject myMessage = null ;
      if ( myFault.getObject()!= null && input.getObject() instanceof DataObject )
      {
        myMessage = (DataObject)myFault.getObject();
        // Festlegen der Teile in der Nachricht (z. B. ein Kundenname)
        myMessage.setInt("Fehler",1304);
      }
      
      process.complete(aiid, (String)faultNames.get(0), myFault);
      Diese Aktion versetzt die Aktivität entweder in den Fehlschlagstatus oder in den Stoppstatus. Falls der Parameter continueOnError für die Aktivität im Prozessmodell auf TRUE gesetzt ist, wird die Aktivität in den Fehlschlagstatus versetzt, und die Navigation wird fortgesetzt. Ist der Parameter continueOnError auf FALSE gesetzt, wird die Aktivität in den Stoppstatus versetzt. In diesem Status kann die Aktivität durch eine erzwungene Beendigung oder eine erzwungene Wiederholung repariert werden.

Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

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