Proceso de actividades de personal

Las actividades de personal de procesos de empresa se asignan a distintas personas de la organización mediante elementos de trabajo. Cuando se inicia un proceso, se crean elementos de trabajo para los propietarios potenciales. Uno de estos propietarios reclama la actividad. Esta persona se encarga de proporcionar la información relevante y completar la actividad.
  1. Enumere las actividades que pertenecen a una persona que ha iniciado la sesión y que están preparadas para utilizarse:
    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);
    Esta acción devuelve un conjunto de resultados de consulta que contiene las actividades con las que puede trabajar la persona que ha iniciado la sesión.
  2. Reclame la actividad en la que se va a trabajar:
    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();
        // leer los valores
        ...
      }  
    }
    Cuando se reclama la actividad, se devuelve el mensaje de entrada de la actividad.
  3. Cuando haya acabado el trabajo en la actividad, finalice la actividad. La actividad puede completarse satisfactoriamente o con un mensaje de error. Si la actividad se realiza satisfactoriamente se pasa un mensaje de salida. Si no se realiza satisfactoriamente la actividad, se pone en el estado con anomalía o detenida y se pasa un mensaje de error. Deberá crear los mensajes adecuados para estas acciones. Cuando cree el mensaje, debe especificar el nombre del tipo de mensaje, para que contenga la definición del mensaje.
    1. Para completar la actividad correctamente, cree un mensaje de salida.
      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();
        //establecer las partes del mensaje, por ejemplo, un número de pedido
        myMessage.setInt("OrderNo", 4711);
      }
      
      //completar la actividad
      process.complete(aiid, output);
      Esta acción establece un mensaje de salida que contiene el número de pedido.
    2. Para completar la actividad cuando se produce un error, cree un mensaje de error.
      //recuperar los errores diseñados para la actividad de personal
      List faultNames = process.getFaultNames(aiid);
      
      //crear un mensaje del tipo adecuado
      ClientObjectWrapper myFault =
            process.createMessage(aiid, 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);
      }
      
      process.complete(aiid, (String)faultNames.get(0), myFault);
      Esta acción establece la actividad en el estado con anomalía o detenida. Si el parámetro continueOnError de la actividad del modelo de proceso se establece en true, se pone la actividad en el estado con anomalía y continúa la navegación. Si el parámetro continueOnError se establece en false, se pone la actividad en el estado detenida. En este estado se puede reparar la actividad utilizando force terminate o force retry.

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)