12.4.20 createFlowNodeInstanceForAdHocSubProcess(アドホック・サブプロセスのフローノードを生成)
構文
java.util.List<CIWBPMNFlowNodeInstance> createFlowNodeInstanceForAdHocSubProcess( java.sql.Connection aDBConnection, CIWServer aCIWServer, java.lang.Integer aProcessInstanceID, java.lang.String aFlowNodeID, java.lang.String aFlowNodeName, java.lang.Integer aMIIndex, java.util.Collection<CIWBPMNProcessData<?>> aProcessDataCollection ) throws CIWFatalException, CIWTransientException, CIWTransitionFailedException, CIWStateException, CIWEntityNotExistException
機能
指定したアドホック・サブプロセス内のフローノード(実行中の業務ステップ)を生成します。また,指定したプロセスデータを更新します。
生成するフローノードは,アドホック・サブプロセス内に存在するフロー先端のフローノード(入力シーケンスフローが付与されていないフローノード)だけを対象とします。
引数
createFlowNodeInstanceForAdHocSubProcessの引数を次の表に示します。
項番 |
仮引数名 |
名称 |
I/O |
説明 |
---|---|---|---|---|
1 |
aDBConnection |
JDBCコネクション |
in |
CIWServerオブジェクトに関連づけられたJDBCコネクションを指定します。 nullは指定できません。 |
2 |
aCIWServer |
CIWServerオブジェクト |
in |
CIWServerオブジェクトを指定します。 nullは指定できません。 |
3 |
aProcessInstanceID |
案件ID |
in |
対象であるアドホック・サブプロセスが所属する案件IDを指定します。 nullは指定できません。 |
4 |
aFlowNodeID |
フローノードID(BPMN要素のid属性値) |
in |
生成するフローノードのフローノードIDを指定します。 フローノードIDを指定しない場合は,nullを指定します。nullを指定したときは,必ずaFlowNodeNameにフローノード名を指定します。 空文字列は指定できません。 |
5 |
aFlowNodeName |
フローノード名(BPMN要素のname属性値) |
in |
生成するフローノードのフローノード名を指定します。 フローノード名を指定しない場合は,nullを指定します。nullを指定したときは,必ずaFlowNodeIDにフローノードIDを指定します。 |
6 |
aMIIndex |
マルチインスタンスインデクス |
in |
生成するフローノードが存在するアドホック・サブプロセスのマルチインスタンスインデクスを指定します。マルチインスタンスインデクスを指定しない場合は,nullを指定します。 |
7 |
aProcessDataCollection |
プロセスデータのコレクション |
in |
プロセスデータを更新しない場合はnullを指定します。 |
戻り値
生成したフローノードのリストを返します。フローノードがマルチインスタンスの場合,生成したすべてのフローノードのリストを返します。
フローノードが生成済みだった場合は,フローノードの生成を実行しないで,生成済みのフローノードのリストを返します。フローノードが生成済みだったかどうかの判定については,「5.3 Java API利用時の注意事項」の「べき等性について」の説明を参照してください。
例外
createFlowNodeInstanceForAdHocSubProcessで発生する例外を次の表に示します。
項番 |
発生する例外 |
説明 |
---|---|---|
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)が発生します。
-
対象となるアドホック・サブプロセスの実行方式(Ordering)にSequentialを指定した場合,アドホック・サブプロセス内に実行中のフローノードが存在するときは,例外(CIWStateException)が発生します。