Hitachi

uCosminexus Service Coordinator Interactive Workflow AP開発ガイド


付録C.3 作業の状態遷移

〈この項の構成〉

(1) 作業の状態遷移

作業の状態遷移を次の図に示します。

図C‒3 作業の状態遷移

[図データ]

(2) 作業の状態

作業の状態について次の表に示します。

表C‒7 作業の状態一覧

上段:状態

中段:列挙型定数(コード値)

下段:状態の短縮表記形式

状態の完全表記形式

説明

初期

INITIAL(i)

initial

open.notRunning.notStarted.initial

作業が生成されたときの初期の状態を示します。

実行開始可能

READY(j)

ready

open.notRunning.notStarted.ready

作業が実行できる状態を示します。

作業が「実行開始可能」状態へ遷移した時点で,作業者への割り当て(リソースセレクション)は実行済みです。このため,作業者からは実行開始可能な作業として見えます。

なお,「実行開始可能」状態の場合,作業の評価および作業者振り分けルールの再評価ができます。

作業が「作業者実行」状態となるタイミングは次のとおりです。

  • 作業が生成されたあとに,引き続いて遷移されたとき(ワーク管理システムによって作業が生成されたとき)

  • 作業者(外部リソース)によって,「作業の返却と振り分けルールの再評価」の処理が実行されたとき

自動実行

EXECUTING(e)

executing

open.running.executing

作業が自動的に実行されている状態を示します。

組み込み作業など,ワーク管理システムが制御する作業が実行されていることを示します。

なお,「自動実行」状態の場合,作業の評価ができます。

作業者実行

PERFORMING(f)

performing

open.running.performing

作業者が作業を実行している状態を示します。

人的リソースによる作業の実行など,ワーク管理システムの外部リソースによって作業が実行されていることを示します。

なお,「作業者実行」状態の場合,作業の評価および作業者振り分けルールの再評価ができます。

作業が「作業者実行」状態となるタイミングは次のとおりです。

  • 作業者(外部リソース)によって作業が実行されたとき

  • 作業アプリケーション(同期)によって作業が実行されたとき

  • 作業者(外部リソース)によって,「条件に一致する作業の作業者割り当てと着手」の処理が実行されたとき

実行省略

NOT_EXECUTED(p)

notExecuted

closed.completed.notExecuted

作業が何も実行されないで完了した状態を示します。

「未実行」状態の作業を含む業務ステップが「完了」状態になった場合,この作業は「実行省略」状態になります。

また,発生と同時に作業の完了条件が満たされた場合,作業は「実行省略」状態になります。

実行取消

CANCELED(q)

canceled

closed.completed.canceled

作業の実行が取り消された状態を示します。

「実行中」状態の作業を含む業務ステップが「完了」状態になった場合に,この作業は「実行取消」状態になります。

実行済

EXECUTED(r)

executed

closed.completed.executed

ワーク管理システムまたは作業者によって,作業が実行され,完了した状態を示します。

「自動実行」状態の作業の場合,作業の完了条件が満たされると「実行済」状態になります。

また,「作業者実行」状態の作業の場合,「実行済」状態となるタイミングは次のとおりです。

  • 作業者(外部リソース)によって作業が完了されたときに

  • 作業アプリケーション(同期)によって作業が完了されたとき

実行開始不可

DISABLED(l)

disabled

open.notRunning.suspended.disabled

業務ステップが「実行停止」状態のため,作業を開始または着手できない状態を示します。

業務ステップが「実行停止」状態へ遷移した場合に,業務ステップに含まれるすべての「未実行」状態の作業は「実行開始不可」状態へ遷移します。

なお,作業が「実行開始不可」状態の場合は,作業者振り分けルールの再評価ができます。

実行停止

INTERMITTED(m)

intermitted

open.notRunning.suspended.intermitted

作業の実行が中断された一時停止の状態を示します。

作業実行の一時停止を,その作業の作業者へ要求する場合に,APIによって,「実行停止」状態への遷移要求を出します。

なお,作業が「実行停止」状態の場合は,作業者振り分けルールの再評価ができます。

強制終了

TERMINATED(u)

terminated

closed.terminated

作業が強制的に終了された状態を示します。

APIによって強制終了が要求された場合 ,作業は「強制終了」状態になります。

また,作業を含む業務ステップが「強制終了」状態になった場合,この作業は「強制終了」状態になります。

なお,強制終了された作業が含まれる業務ステップは,完了条件が評価されません。この場合は,業務ステップを直接完了させるか,またはCIWActivityInstance#evaluate()を使用して業務ステップの完了条件を評価し,業務ステップの完了または作業の再作成をしてください。作業を再作成する場合は,作業の発生条件および完了条件を適切に定義してください。

(3) 作業の遷移

作業の遷移について次の表に示します。

表C‒8 作業の遷移一覧

遷移種別

要因

および

動作

説明

生成

要因

作業の発生条件が満たされた場合(業務ステップの評価処理時)

動作

作業を「初期」状態で生成します。

準備済

(ready)

要因

作業の生成時に引続いて遷移する場合(ワーク管理システムによって生成された場合)

動作

作業の完了条件を評価し,条件が満たされた場合は,続けて「実行省略」状態へ遷移させます。

条件が満たされなかった場合は,振分ルール評価(リソースセレクション)を実行し,作業者を割り当てたあとで「実行開始可能」状態へ遷移します。

開始

(start)

要因

組み込み作業の「実行開始可能」状態への遷移

動作

作業を「自動実行」状態へ遷移させます。

着手

(get)

要因

API呼び出しによる遷移要求

動作

作業を「作業者実行」状態へ遷移させます。

返却

(back)

要因

API呼び出しによる遷移要求

動作

作業を「実行開始可能」状態へ遷移させます。

作業完了

(workitem completed)

要因

  • API呼び出しによる遷移要求

  • 作業の評価処理で完了条件が満たされた場合(作業の完了条件あり)

  • 組み込み作業の完了時

動作

作業を「実行済」状態へ遷移させます。

完了通知

(complete)

要因

  • API呼び出しによる遷移要求

  • 作業の評価処理で完了条件が満たされた場合。(作業の完了条件あり)

動作

作業を「実行済」状態へ遷移させます。

実行省略

(skip)

要因

  • 業務ステップの「遷移可」状態への遷移時

  • 作業評価時に完了条件が満たされた場合

動作

作業を「実行省略」状態へ遷移させます。

実行取消

(cancel)

要因

業務ステップの「遷移可」状態への遷移時

動作

作業を「実行取消」状態へ遷移させます。

ワーク管理システムによって実行制御が行われている作業の場合は,「実行取消」状態へ遷移することで,実際の作業実行の強制終了制御を行います。

中断

(suspend)

要因

API呼び出しによる遷移要求

動作

作業を「実行停止」状態へ遷移させます。

ワーク管理システムによって実行制御が行われている作業の場合は,「中断」状態へ遷移することで,実際の作業実行の停止制御を行います。

再開

(resume)

要因

API呼び出しによる遷移要求

動作

作業を「自動実行」状態,または「作業者実行」状態へ遷移させます。

ワーク管理システムによって実行制御が行われている作業の場合は,「再開」状態へ遷移することで,実際の作業実行の再開制御を行います。

実行開始不可

(disable)

要因

  • 業務ステップの「実行停止」状態への遷移時

  • 作業の「実行開始可能」状態への遷移時に,作業を含む業務ステップが「実行停止」状態の場合

動作

作業を「実行開始不可」状態へ遷移させます。

実行開始可

(enable)

要因

業務ステップの「実行中」状態への遷移時

動作

作業を「実行開始可能」状態へ遷移させます。

強制終了

(terminate)

要因

  • API呼び出しによる遷移要求

  • 業務ステップの状態遷移に伴う制約

    業務ステップの状態遷移に伴う制約については,「表C-5 業務ステップの遷移一覧」の「業務ステップ完了」状態遷移および「強制終了」状態遷移を参照してください。

動作

作業の状態を「強制終了」状態へ遷移させます。

ワーク管理システムによって実行制御が行われている作業の場合は,「強制終了」状態へ遷移することで,実際の作業実行の中断制御を行います。

作業の遷移時に設定する属性について次の表に示します。

表C‒9 作業の遷移時に設定する属性一覧

属性名

生成

準備済

開始

着手

返却

作業完了

完了通知

実行省略

実行取消

中断

再開

実行開始不可

実行開始可

強制終了

ID

Name※1

WorkDefinitionName

ActivityInstanceID

ProcessInstanceID

WorkDefinitionID

ProcessDefinitionID

WorkTypeCode

StateCode※2

Participant

N

CreationDate※3

N

StartDate※4

N

ClosedDate※3

N

Deadline※5

ProcessInstanceName

Priority※6

(凡例)

○:設定します。

−:設定しません。

△:条件によって設定します。

N:nullを設定します。

注※1

子作業の場合は,生成ルールが返した値を設定します。

子作業以外の場合は,nullを設定します。

注※2

遷移先の状態を設定します。

注※3

遷移が行われた時刻を設定します。

注※4

遷移が行われた時刻を設定します。返却(back)への遷移時は未設定に戻しません。2回目の開始(start)の遷移が行われた場合は,遷移が行われた時刻を設定します。

注※5

生成時は業務ステップのDeadlineの値を設定します。開始(start)時にnullが設定されている場合は,業務ステップのDeadlineの値を設定します。

注※6

業務ステップのPriorityの値を設定します。