12.4.12 reassignWI(作業の作業者変更)
構文
boolean reassignWI( java.sql.Connection aDBConnection, CIWServer aCIWServer, java.lang.Integer aProcessInstanceID, java.lang.Integer aWorkItemID, java.lang.String aSource, java.lang.String aTarget ) throws CIWFatalException, CIWTransientException, CIWEntityNotExistException, CIWStateException
機能
案件IDと作業IDで指定された作業の作業者を,指定した別の作業者に再割り当てします。
対象となるのは,ユーザタスクから変換された作業です。
引数
reassignWIの引数を次の表に示します。
項番 |
仮引数名 |
名称 |
I/O |
説明 |
---|---|---|---|---|
1 |
aDBConnection |
JDBCコネクション |
in |
CIWServerオブジェクトに関連づけられたJDBCコネクションを指定します。 nullは指定できません。 |
2 |
aCIWServer |
CIWServerオブジェクト |
in |
CIWServerオブジェクトを指定します。 nullは指定できません。 |
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は未設定となります。空文字列は指定できません。 |
戻り値
作業の作業者の再割り当てを実行したかどうかを返します。
true:実行しました
false:すでに作業の作業者が指定した新しい作業者IDに割り当てられていたので実行しませんでした
例外
reassignWIで発生する例外を次の表に示します。
項番 |
発生する例外 |
説明 |
---|---|---|
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)が発生します。