12.4.22 getListProcessDataIndex(リスト型プロセスデータのインデクスを取得)
構文
java.lang.Integer getListProcessDataIndex ( java.sql.Connection aDBConnection, java.lang.Integer aProcessInstanceID, java.lang.String aProcessDataKey, java.lang.Object aProcessDataValue ) throws CIWFatalException, CIWSQLTransientException, CIWEntityNotExistException
機能
指定したプロセスデータキー名とプロセスデータ値が示すリスト型プロセスデータのインデクス(リスト型プロセスデータの何番目に登録されているかを示す番号)を取得します。
引数
getListProcessDataIndexの引数を次の表に示します。
項番 |
仮引数名 |
名称 |
I/O |
説明 |
---|---|---|---|---|
1 |
aDBConnection |
JDBCコネクション |
in |
JDBCコネクションを指定します。 nullは指定できません。 |
2 |
aProcessInstanceID |
案件ID |
in |
対象であるプロセスデータの案件IDを指定します。 nullは指定できません。 |
3 |
aProcessDataKey |
プロセスデータキー名 |
in |
リスト型プロセスデータの全要素を示すプロセスデータキー名を指定します。プロセスデータキー名には"$"と型を示す種別を付けた変数名を指定します。 空文字列およびnullは指定できません。 |
4 |
aProcessDataValue |
プロセスデータ値 |
in |
プロセスデータ値を指定します。 プロセスデータ値に指定できるクラスを次に示します。
空文字列は指定できません。 nullを指定した場合はnullになります。 |
戻り値
取得したインデクスを返します。指定したプロセスデータ値がリスト型プロセスデータの中に複数登録されている場合,最初に検出された位置のインデクスを取得します。
例外
getListProcessDataIndexで発生する例外を次の表に示します。
項番 |
発生する例外 |
説明 |
---|---|---|
1 |
CIWFatalException |
処理を続行できない障害が発生した場合 |
2 |
CIWSQLTransientException |
DBMSの一時的な要因で処理を実行できない場合 |
3 |
CIWEntityNotExistException |
処理しようとしたオブジェクトが存在しない場合 |
注意事項
-
JDBCコネクションにnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
案件IDにnullを指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
プロセスデータキー名の書式が不正な場合は,例外(java.lang.IllegalArgumentException)が発生します。不正となる書式を次に示します。
-
プロセスデータキー名の命名規則に従っていない
プロセスデータキー名の命名規則については,「1.6.3 プロセスデータテーブルの内容」の表「プロセスデータキー名の命名規則とプロセスデータ型の対応関係」を参照してください。
-
プロセスデータキー名の末尾が"{}"ではない
-
-
プロセスデータ値に空文字列を指定した場合は,例外(java.lang.IllegalArgumentException)が発生します。
-
指定したプロセスデータが存在しない場合は,-1を返します。
-
指定した案件が存在しない場合は,例外(CIWEntityNotExistException)が発生します。
-
リスト型プロセスデータのリスト内識別子が連番の場合,取得するインデクスは,プロセスデータ値に対応するリスト内識別子と同値になります。リスト内識別子に欠番がある場合,登録されている順番はそのままで1から順に採番した値となります。この場合,リスト内識別子とは一致しません。
-
指定したプロセスデータキー名とプロセスデータ値の型が一致しない場合,型を一致させてからリスト型プロセスデータのインデクス取得処理を実施します。例えば,引数に次の値を指定した場合,プロセスデータ値"3"(数値型)のインデクスを返します。
-
プロセスデータキー名:"$NKey{}"(数値型のプロセスデータキー名)
-
プロセスデータ値:"3"(文字列型のプロセスデータ値)
なお,プロセスデータキー名とプロセスデータ値の型が一致しない場合,例外は発生しません。例えば,引数に次の値を指定した場合,数値型のリスト型プロセスデータにプロセスデータ値"ABC"(文字列型)は存在しないため,-1を返します。
-
プロセスデータキー名:"$NKey{}"(数値型のプロセスデータキー名)
-
プロセスデータ値:"ABC"
-