Elaborazione di human task puri o partecipanti

Perché e quando effettuare questa attività

Le attività partecipanti o esclusivamente human task sono assegnate a diversi utenti dell'azienda mediante gli elementi di lavoro. Le attività partecipanti e gli elementi di lavoro associati vengono creati, ad esempio, quando un processo passa ad un'attività staff. Uno dei potenziali proprietari richiede l'attività associata all'elemento di lavoro. Questo utente è responsabile della fornitura di informazioni rilevanti e del completamento dell'attività.

Procedura di questa attività

  1. Elencare le attività che appartengono a un utente collegato e pronte per essere utilizzate.
    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",
                     (String)null, (Integer)null, (TimeZone)null); 

    Questa operazione restituisce una serie di risultati query che contiene le attività che possono essere elaborate dall'utente connesso.

  2. Richiedere le attività su cui lavorare.
    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();
        // leggere i valori
        ...
      }  
    }

    Una volta richiesta l'attività, viene restituito il messaggio di input dell'attività stessa.

  3. Una volta terminato il lavoro sull'attività, completare quest'ultima.

    L'attività può essere completata correttamente o con un messaggio di errore. Se l'attività ha esito positivo, viene inoltrato un messaggio di output. Se l'attività non è riuscita correttamente, viene restituito un messaggio di errore. Per queste azioni, è necessario creare i messaggi appropriati.

    1. Per completare correttamente l'attività, creare un messaggio di output.
      ClientObjectWrapper output = 
            task.createOutputMessage(tkiid);
      DataObject myMessage = null ;
      if ( output.getObject()!= null && output.getObject() instanceof DataObject )
      {
        myMessage = (DataObject)output.getObject();
        //impostare le parti nel messaggio, ad esempio, un numero di ordine
        myMessage.setInt("OrderNo", 4711);
      }
      
      //completare l'attività
      task.complete(tkiid, output); 
      Questa azione imposta un messaggio di output contenente il numero dell'ordine. l'attività viene collocata in stato terminato.
    2. Per completare l'attività quando si verifica un errore, creare un messaggio di errore.
      //richiamare gli errori modellati per l'attività
      List faultNames = task.getFaultNames(tkiid);
      
      //creare un messaggio del tipo appropriato
      ClientObjectWrapper myFault = 
            task.createFaultMessage(tkiid, (String)faultNames.get(0));
      
      // impostare le parti nel messaggio di errore, ad esempio, un numero di ordine
      DataObject myMessage = null ;
      if ( myFault.getObject()!= null && input.getObject() instanceof DataObject )
      {
        myMessage = (DataObject)myFault.getObject();
        //impostare le parti nel messaggio, ad esempio, un nome cliente
        myMessage.setInt("error",1304);
      }
      
      task.complete (tkiid, (String)faultNames.get(0), myFault);

      Questa azione imposta un messaggio di errore contenente il codice errore. L'attività viene collocata in stato non riuscito.


(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)