12.4.21 changeStateAdHocSubProcess(アドホック・サブプロセスの状態変更)
構文
boolean changeStateAdHocSubProcess( java.sql.Connection aDBConnection, CIWServer aCIWServer, java.lang.Integer aProcessInstanceID, java.lang.String aAdHocSubProcessID, java.lang.String aAdHocSubProcessName, java.lang.Integer aMIIndex, CIWWorkItem.State aNewState, java.util.Collection<CIWBPMNProcessData<?>> aProcessDataCollection ) throws CIWFatalException, CIWTransientException, CIWTransitionFailedException, CIWStateException, CIWEntityNotExistException
機能
指定したアドホック・サブプロセスの状態を変更します。また,指定したプロセスデータを更新します。
アドホック・サブプロセス内のフロー遷移,およびBPMNビジネスプロセス定義ファイルに設定したアドホック・サブプロセスの属性値に関係なく,強制的にアドホック・サブプロセスの状態を変更できます。
引数
changeStateAdHocSubProcessの引数を次の表に示します。
項番 |
仮引数名 |
名称 |
I/O |
説明 |
---|---|---|---|---|
1 |
aDBConnection |
JDBCコネクション |
in |
CIWServerオブジェクトに関連づけられたJDBCコネクションを指定します。 nullは指定できません。 |
2 |
aCIWServer |
CIWServerオブジェクト |
in |
CIWServerオブジェクトを指定します。 nullは指定できません。 |
3 |
aProcessInstanceID |
案件ID |
in |
対象であるアドホック・サブプロセスが所属する案件IDを指定します。 nullは指定できません。 |
4 |
aAdHocSubProcessID |
アドホック・サブプロセスID(BPMN要素のid属性値) |
in |
状態変更するアドホック・サブプロセスのアドホック・サブプロセスIDを指定します。 アドホック・サブプロセスIDを指定しない場合は,nullを指定します。nullを指定したときは,必ずaAdHocSubProcessNameにアドホック・サブプロセス名を指定します。 空文字列は指定できません。 |
5 |
aAdHocSubProcessName |
アドホック・サブプロセス名(BPMN要素のname属性値) |
in |
状態変更するアドホック・サブプロセスのアドホック・サブプロセス名を指定します。 アドホック・サブプロセス名を指定しない場合は,nullを指定します。nullを指定したときは,必ずaAdHocSubProcessIDにアドホック・サブプロセスIDを指定します。 |
6 |
aMIIndex |
マルチインスタンスインデクス |
in |
状態変更するアドホック・サブプロセスのマルチインスタンスインデクスを指定します。マルチインスタンスインデクスを指定しない場合は,nullを指定します。 |
7 |
aNewState |
アドホック・サブプロセスの状態に対応する作業の状態 |
in |
変更する状態を指定します。 状態は,アドホック・サブプロセスの状態に対応する作業の状態です。値には,CIWWorkItem.State列挙型の定数を指定できます。 nullは指定できません。 |
8 |
aProcessDataCollection |
プロセスデータのコレクション |
in |
プロセスデータを更新しない場合はnullを指定します。 |
このAPIでは,アドホック・サブプロセスの状態に対応する作業の状態をaNewStateに指定します。アドホック・サブプロセスの状態の詳細については,「1.5.6 アドホック・サブプロセスの状態遷移モデル」を参照してください。
aNewStateで指定できる作業の状態を次の表に示します。
現在の状態 |
指定できる状態 |
説明 |
||
---|---|---|---|---|
定数 |
意味 |
定数 |
意味 |
|
READY |
実行開始可能 |
PERFORMING |
作業者実行 |
アドホック・サブプロセス内の実行中のフローノード(業務ステップ)がすべて完了したあとに,アドホック・サブプロセスを完了する場合に指定します。 |
PERFORMING |
作業者実行 |
READY |
実行開始可能 |
アドホック・サブプロセスを「生成不可」状態にしたあとに,再度,アドホック・サブプロセス内のフローノード(業務ステップ)を生成する場合に指定します。 |
− |
未終了 |
EXECUTED |
実行済 |
アドホック・サブプロセスを強制的に完了する場合に指定します。 |
- (凡例)
-
定数:CIWWorkItem.State列挙型の定数を表します。
−:定数がないことを表します。
戻り値
アドホック・サブプロセスの状態変更を実行したかどうかを返します。
true:実行しました
false:アドホック・サブプロセスの状態変更が実行済みだったので実行しませんでした
アドホック・サブプロセスの状態変更が実行済みだったかどうかの判定については,「5.3 Java API利用時の注意事項」の「べき等性について」の説明を参照してください。
例外
changeStateAdHocSubProcessで発生する例外を次の表に示します。
項番 |
発生する例外 |
説明 |
---|---|---|
1 |
CIWFatalException |
処理を続行できない障害が発生した場合 |
2 |
CIWTransientException |
一時的なエラーが発生した場合 |
3 |
CIWTransitionFailedException |
案件処理中にエラーが発生した場合 |
4 |
CIWStateException |
状態や属性の変更に失敗した場合 |
5 |
CIWEntityNotExistException |
処理しようとしたオブジェクトが存在しない場合 |
注意事項
-
JDBCコネクションおよびCIWServerオブジェクトにnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
JDBCコネクションおよびCIWServerオブジェクトが関連づけられていない場合の動作は保証しません。
-
案件IDにnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
アドホック・サブプロセスIDに空文字を指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
アドホック・サブプロセスIDおよびアドホック・サブプロセス名の両方にnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
指定した案件が存在しない場合は,例外(CIWEntityNotExistException)が発生します。
-
指定したアドホック・サブプロセスが存在しない場合は,例外(CIWEntityNotExistException)が発生します。
-
指定したアドホック・サブプロセスが複数存在する場合は,例外(CIWStateException)が発生します。
-
対象となるアドホック・サブプロセスに対応する作業の状態と,変更する状態の組み合わせが不正な場合は,例外(CIWStateException)が発生します。ただし,対象となるアドホック・サブプロセスに対応する作業の状態が変更する状態の場合は,falseが返され,例外は発生しません。
-
アドホック・サブプロセスを「生成不可」状態(アドホック・サブプロセスに対応する作業は「作業者実行」状態)に変更した際に,アドホック・サブプロセス内に実行中のフローノード(業務ステップ)が存在しない場合,アドホック・サブプロセスを完了(アドホック・サブプロセスに対応する作業を完了)します。
-
アドホック・サブプロセスを完了した(アドホック・サブプロセスに対応する作業を完了した)場合は,対象となるアドホック・サブプロセス内に存在する実行中のフローノード(業務ステップ)を強制終了します。