12.4.11 reassignAndPerformWI(作業の作業者変更および作業の着手)
構文
boolean reassignAndPerformWI( java.sql.Connection aDBConnection, CIWServer aCIWServer, java.lang.Integer aProcessInstanceID, java.lang.Integer aWorkItemID, java.lang. String aSource, java.lang. String aTarget, java.util.Collection<CIWBPMNProcessData<?>> aProcessDataCollection ) throws CIWFatalException, CIWTransientException, CIWStateException, CIWEntityNotExistException
機能
案件IDと作業IDで指定された作業の作業者を,指定された別の作業者に変更してから,その作業に着手します。また,指定されたプロセスデータを更新します。
対象となる作業は,ユーザタスクから変換された作業です。
引数
reassignAndPerformWIの引数を次の表に示します。
項番 |
仮引数名 |
名称 |
I/O |
説明 |
---|---|---|---|---|
1 |
aDBConnection |
JDBCコネクション |
in |
CIWServerオブジェクトに関連づけられたJDBCコネクションを指定します。 |
2 |
aCIWServer |
CIWServerオブジェクト |
in |
CIWServerオブジェクトを指定します。 |
3 |
aProcessInstanceID |
案件ID |
in |
対象にする作業の案件IDを指定します。 nullは指定できません。 |
4 |
aWorkItemID |
作業ID |
in |
対象にする作業の作業IDを指定します。 nullは指定できません。 |
5 |
aSource |
変更する前の作業者ID |
in |
変更する前の作業者IDを指定します。 未設定の場合はnullを指定します。空文字列は指定できません。 |
6 |
aTarget |
新しい作業者ID |
in |
新しい作業者IDを<SYSTEMID>_WORK_ITEMテーブルのParticipantカラムのバイト数以下で指定します。 nullを指定した場合,新しい作業者IDは設定されません。空文字列は指定できません。 |
7 |
aProcessDataCollection |
プロセスデータのコレクション |
in |
プロセスデータを更新しない場合はnullを指定します。 |
戻り値
作業の作業者の変更および作業の着手を実行したかどうかを返します。
true:実行しました
false:作業者の変更および作業の着手が実行済みだったので実行しませんでした
作業者の変更および作業の着手が実行済みの条件は次の両方が成立した場合です。
-
指定された作業の作業者が変更後の作業者と同じ
-
指定された作業の状態が作業者実行である
例外
reassignAndPerformWIで発生する例外を次の表に示します。
項番 |
発生する例外 |
説明 |
---|---|---|
1 |
CIWFatalException |
処理を続行できない障害が発生した場合 |
2 |
CIWTransientException |
一時的なエラーが発生した場合 |
3 |
CIWEntityNotExistException |
処理しようとしたオブジェクトが存在しない場合 |
4 |
CIWStateException |
状態の遷移に失敗した場合 |
注意事項
-
JDBCコネクションおよびCIWServerオブジェクトにnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
JDBCコネクションとCIWServerオブジェクトが関連づけられていない場合の動作は保証しません。
-
案件IDまたは作業IDにnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
対象となる作業は,ユーザタスクから変換された作業である必要があります。ユーザタスク以外から変換された作業を指定した場合は,例外(CIWStateException)が発生します。
-
指定した条件を満たす作業オブジェクトが存在しない場合は,例外(CIWEntityNotExistException)が発生します。
-
対象となる作業は,「実行開始可能」状態である必要があります。そのほかの場合は,例外(CIWStateException)が発生します。
-
引数aSourceに指定した作業者IDと,対象となる作業の作業者IDが異なる場合は,例外(CIWStateException)が発生します。ただし,対象となる作業の作業者IDが引数aTargetに指定した作業者IDと同じで,状態が「作業者実行」状態の場合,例外は発生しないでfalseが返されます。
-
作業者IDに空文字列を指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
作業者IDに<SYSTEMID>_WORK_ITEMテーブルのParticipantカラムのバイト数を超える文字列を指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。