비즈니스의 스태프 활동은 작업 항목을 통해 사용자 조직의 여러 사용자에게 지정됩니다. 프로세스가 시작하면 작업 항목이 잠재적 사용자에 대해 작성됩니다.
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", (String)null, (Integer)null, (TimeZone)null);이 조치는 로그온 상태의 사용자가 작업할 수 있는 활동을 포함하는 결과 조회 세트를 리턴합니다.
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(); // read the values ... } }활동이 청구될 때 활동의 입력 메시지가 리턴됩니다.
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(); //set the parts in your message, for example, an order number myMessage.setInt("OrderNo", 4711); } //complete the activity process.complete(aiid, output);이 조치는 순번을 포함하는 출력 메시지를 설정합니다.
//retrieve the faults modeled for the staff activity List faultNames = process.getFaultNames(aiid); //create a message of the appropriate type ClientObjectWrapper myFault = process.createMessage(aiid, faultNames.get(0)); // set the parts in your fault message, for example, an error number DataObject myMessage = null ; if ( myFault.getObject()!= null && input.getObject() instanceof DataObject ) { myMessage = (DataObject)myFault.getObject(); //set the parts in the message, for example, a customer name myMessage.setInt("error",1304); } process.complete(aiid, (String)faultNames.get(0), myFault);이 조치는 활동을 실패 또는 중지 상태로 설정합니다. 프로세스 모델의 활동에 대한 continueOnError 매개변수가 참으로 설정되는 경우, 활동은 실패 상태로 되며 탐색이 계속됩니다. continueOnError 매개변수가 false로 설정되고 주변 범위에서 결함이 발견되지 않으면 활동은 중지 상태가 됩니다. 이러한 상태에서 활동은 강제 종료 또는 강제 재시도를 통해 수정될 수 있습니다.
ⓒ Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)