활동 인스턴스 또는 타스크 인스턴스의
지속 시간동안 오브젝트에 연관된 사용자 설정은 사용자가 휴가이거나 새로운 직원이 고용되거나
워크로드가 다르게 분배되어야 하는 경우와 같은 상황에서는 변경될 수 있습니다.
이 변경사항을 허용하려면 작업 항목을 작성, 삭제 또는 전송할 응용프로그램을 개발할 수 있습니다.
이 타스크의 수행 목적 및 시기
작업 항목은 특정 이유로 사용자 또는 사용자 그룹에 오브젝트를 지정하는
것입니다. 오브젝트는 일반적으로 staff 활동 인스턴스, 프로세스 인스턴스 또는 휴먼
타스크입니다. 이유는 지정된 활동 또는 타스크에 대한 사용자의 역할에서
파생됩니다. 활동 또는 타스크는 사용자가 활동 또는 타스크에 연관되어 다른 역할을 가질 수 있기 때문에
여러 작업 항목을 포함할 수 있으며 작업 항목은 이러한 각 역할에 대해 작성됩니다.
작업 항목을 관리하기 위해 수행할 수 있는 조치는 사용자가 가지고 있는 역할에 따라 다릅니다.
예를 들어, 관리자는 작업 항목을 작성, 삭제 및 전송할 수 있지만 타스크 소유자는 작업 항목을 전송할 수만
있습니다.
이 타스크의 단계
- 작업 항목을 작성하십시오.
// query the task instance for which an additional
// administrator is to be specified
QueryResultSet result = task.query("TASK.TKIID",
"TASK.NAME='CustomerOrder'",
(String)null, (Integer)null,
(TimeZone)null);
if ( result.size() > 0 )
{
result.first();
// create the work item
task.createWorkItem((TKIID)(result.getOID(1)),
WorkItem.REASON_ADMINISTRATOR,"Smith");
}
이 조치를 통해 관리자 역할을 보유하고 있는 사용자 Smith에 대해 작업 항목이 작성됩니다.
- 작업 항목을 삭제하십시오.
// query the task instance for which a work item is to be deleted
QueryResultSet result = task.query("TASK.TKIID",
"TASK.NAME='CustomerOrder'",
(String)null, (Integer)null,
(TimeZone)null);
if ( result.size() > 0 )
{
result.first();
// delete the work item
task.deleteWorkItem((TKIID)(result.getOID(1)),
WorkItem.REASON_READER,"Smith");
}
이 조치를 통해 독서자 역할을 보유하고 있는 사용자 Smith에 대한 작업 항목이 삭제됩니다.
- 작업 항목을 전송하십시오.
// query the task that is to be rescheduled
QueryResultSet result =
task.query("DISTINCT TASK.TKIID",
"TASK.NAME='CustomerOrder' AND
TASK.STATE=TASK.STATE.STATE_READY AND
WORK_ITEM.REASON=WORK_ITEM.REASON.REASON_POTENTIAL_OWNER AND
WORK_ITEM.OWNER_ID='Miller'",
(String)null, (Integer)null, (TimeZone)null);
if ( result.size() > 0 )
{
result.first();
// transfer the work item from user Miller to user Smith
// so that Smith can work on the task
task.transferWorkItem((TKIID)(result.getOID(1)),
WorkItem.REASON_POTENTIAL_OWNER,"Miller","Smith");
}
이 조치를 통해 사용자 Smith에게 작업 항목을 전송하여 작업할 수 있도록 합니다.