Teilnehmende Tasks oder reine Benutzertasks verarbeiten

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

Teilnehmende oder reine Benutzertasks werden durch Arbeitselemente verschiedenen Personen in Ihrem Unternehmen zugeordnet. Teilnehmende Tasks und die zugeordneten Arbeitselemente werden beispielsweise erstellt, wenn ein Prozess eine bestimmte Staff-Aktivität aufruft. Einer der potenziellen Eigner beansprucht die dem Arbeitselement zugeordnete Task. Diese Person ist dafür zuständig, die relevanten Informationen bereitzustellen und die Task abzuschließen.

Erforderliche Schritte für diese Task

  1. Listen Sie die einer angemeldeten Person zugeordneten Tasks auf, die zum Bearbeiten bereit sind.
    QueryResultSet result = 
         task.query("TASK.TKIID", 
                    "TASK.STATE = TASK.STATE.STATE_READY AND
                    (TASK.KIND = TASK.KIND.KIND_PARTICIPATING OR 
                     TASK.KIND = TASK.KIND.KIND_HUMAN)AND
                     WORK_ITEM.REASON = 
                       WORK_ITEM.REASON.REASON_POTENTIAL_OWNER",
                     null, null, null); 

    Diese Aktion gibt ein Abfrageergebnis zurück, in dem die Tasks enthalten sind, die von der angemeldeten Person bearbeitet werden können.

  2. Beanspruchen Sie die zu bearbeitende Task.
    if (result.size() > 0)
    {
      result.first();
      TKIID tkiid = (TKIID) result.getOID(1);
      ClientObjectWrapper input = task.claim(tkiid);
      DataObject taskInput = null ;
      if ( input.getObject()!= null && input.getObject() instanceof DataObject )
      {
        taskInput = (DataObject)input.getObject();
        // Lesen der Werte
        ...
      }  
    }

    Wenn die Task beansprucht ist, wird die Eingabenachricht der Task zurückgegeben.

  3. Beenden Sie die Task, nachdem ihre Bearbeitung abgeschlossen ist.

    Die Task kann erfolgreich oder mit einer Fehlernachricht beendet werden. Ist die Task erfolgreich beendet, wird eine Ausgabenachricht übergeben. Ist die Task nicht erfolgreich, wird eine Fehlernachricht übergeben. Sie müssen die entsprechenden Nachrichten für diese Aktionen erstellen.

    1. Erstellen Sie eine Ausgabenachricht für die erfolgreiche Beendigung der Task.
      ClientObjectWrapper output = 
            task.createOutputMessage(tkiid);
      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
      task.complete(tkiid, output); 
      Diese Aktion legt eine Ausgabenachricht fest, die die Bestellnummer enthält. Die Task wird in den Status für Fertigstellung versetzt.
    2. Erstellen Sie eine Fehlernachricht für die Beendigung einer Task nach Auftreten eines Fehlers.
      // Abrufen der für die Task modellierten Fehler
      List faultNames = task.getFaultNames(tkiid);
      
      // Erstellen einer Nachricht des gewünschten Typs
      ClientObjectWrapper myFault = 
            task.createFaultMessage(tkiid, (String)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);
      }
      
      task.complete(tkiid, (String)faultNames.get(0), myFault);

      Diese Aktion definiert eine Fehlernachricht, die den Fehlercode enthält. Die Task wird in den Fehlschlagstatus versetzt.


Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

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