Proceso de tareas participantes o puramente humanas

Las tareas participantes o puramente humanas se asignan a varias personas de la organización mediante elementos de trabajo. Las tareas participantes y sus elementos de trabajo asociados se crean, por ejemplo, cuando un proceso navega hacia una actividad de personal. Uno de los propietarios potenciales reclama la tarea asociada con el elemento de trabajo. Esta persona es responsable de proporcionar la información relevante y completar la tarea.

  1. Liste las tareas pertenecientes a una persona que ha iniciado la sesión y que están preparadas para trabajar con ellas.
    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);

    Esta acción devuelve un conjunto de resultados de consulta que contiene las tareas con las que puede trabajar la persona que ha iniciado la sesión.

  2. Reclame la tarea en la que se va a trabajar.
    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();
        // leer los valores
        ...
      }  
    }

    Cuando se reclama la tarea, se devuelve el mensaje de entrada de la tarea.

  3. Cuando haya acabado el trabajo en la tarea, complete la tarea.

    La tarea se puede completar satisfactoriamente o con un mensaje de error. Si la tarea se realiza satisfactoriamente se pasa un mensaje de salida. Si la tarea no se realiza satisfactoriamente se pasa un mensaje de error. Deberá crear los mensajes adecuados para estas acciones.

    1. Para completar la tarea correctamente, cree un mensaje de salida.
      ClientObjectWrapper output =
            task.createOutputMessage(tkiid);
      DataObject myMessage = null ;
      if ( output.getObject()!= null && output.getObject() instanceof DataObject )
      {
        myMessage = (DataObject)output.getObject();
        //establecer las partes del mensaje, por ejemplo, un número de pedido
        myMessage.setInt("OrderNo", 4711);
      }
      
      //completar la tarea
      task.complete(tkiid, output); 
      Esta acción establece un mensaje de salida que contiene el número de pedido. La tarea se coloca en el estado de finalizada.
    2. Para completar la tarea cuando se produce un error, cree un mensaje de error.
      //recuperar los errores diseñados para la tarea
      List faultNames = task.getFaultNames(tkiid);
      
      //crear un mensaje del tipo adecuado
      ClientObjectWrapper myFault =
            task.createFaultMessage(tkiid, (String)faultNames.get(0));
      
      // establecer las partes del mensaje de error, por ejemplo, un número de error
      DataObject myMessage = null ;
      if ( myFault.getObject()!= null && input.getObject() instanceof DataObject )
      {
        myMessage = (DataObject)myFault.getObject();
        //establecer las partes del mensaje, por ejemplo, un nombre de cliente
        myMessage.setInt("error",1304);
      }
      
      task.complete(tkiid, (String)faultNames.get(0), myFault);

      Esta acción establece un mensaje de error que contiene el código de error. La tarea se coloca en el estado de finalizada.


Condiciones de uso |

Última actualización: Wed Apr 19 21:34:07 2006

(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)