分析流程结果

执行本任务的原因和时间

长期流程以异步方式运行。它的输出消息不会在该流程完成时自动返回。您必须显式地检索该消息。仅当用于派生流程实例的流程模板未指定自动删除所派生的流程实例时,流程结果才会存储在数据库中。

本任务的步骤

分析流程结果,例如,检查订单号。
QueryResultSet result = process.query
                       ("PROCESS_INSTANCE.PIID", 
                        "PROCESS_INSTANCE.NAME = 'CustomerOrder' AND 
                         PROCESS_INSTANCE.STATE = 
                                 PROCESS_INSTANCE.STATE.STATE_FINISHED", 
                         null, null, null);
if (result.size() > 0)
{
  result.first();
  PIID piid = (PIID) result.getOID(1);
  ClientObjectWrapper output = process.getOutputMessage(piid);
  DataObject myOutput = null;
  if ( output.getObject() != null && output.getObject() instanceof DataObject )
  {
     myOutput  = (DataObject)output.getObject();
     int order = myOutput.getInt("OrderNo");
  }
}
相关概念
对业务流程以及与任务相关的对象执行的查询

使用条款 |


(c) Copyright IBM Corporation 2005, 2006.
本信息中心基于 Eclipse 技术(http://www.eclipse.org)。