Hitachi

uCosminexus Service Coordinator Interactive Workflow BPMN連携機能 使用の手引


1.4.3 タイマーイベントのタイマールール動的変更

タイマーイベントのタイマールール動的変更の概要について,説明します。

BPMNエディタで設定したタイマールールの内容の一部を,案件ごとに変更できます。これによって,外部のサービスで決定するタイムアウト期限や待機時間を,案件ごとに設定できます。

動的変更するには,プロセスデータを使用します。使用するプロセスデータのキー名は,BPMNエディタで設定します。ただし,プロセスデータを利用するため,開始イベントによる案件投入のタイマールールは変更できません。また,最大実行回数も変更できません。

プロセスデータの値は,イベント発火時刻の決定タイミングで参照します。イベント発火時刻の決定タイミングで指定されたプロセスデータが存在しない場合,BPMNエディタで設定したタイマールールで動作します。設定されるプロセスデータ値は,タイマールールの種類によって異なります。タイマールールの種類によって設定されるプロセスデータについて,以降で説明します。

〈この項の構成〉

(1) 固定日時方式(Fixed date and time)の場合

固定日時方式(Fixed date and time)のタイマールールに変更する場合のプロセスデータ値について説明します。

形式

次の形式(ISO 8601の拡張形式)で,プロセスデータに日付と時刻を指定します。

yyyy-MM-ddThh:mm:ss

yyyy:年を4桁で指定します。

MM:月を2桁(01~12)で指定します。

dd:日を2桁(01~31)で指定します。

hh:時を2桁(00~23)で指定します。

mm:分を2桁(00~59)で指定します。

ss:秒を2桁(00~59)で指定します。

ポイント

年のフィールドは必ず4桁で指定してください。また,月,日,時,分,秒のフィールドは必ず2桁で指定してください。

正しい指定例
2018-01-02T03:04:05
誤った指定例
2018-1-2T3:4:5

(2) 間隔方式(Duration)の場合

間隔方式(Duration)のタイマールールに変更する場合のプロセスデータ値について説明します。

形式

次の形式(ISO 8601の間隔を指定する形式の一つ)で,プロセスデータに日付と時刻を指定します。

PnyYnmMndDTnhHnmiM

ny:年を整数で指定します。

nm:月を整数で指定します。

nd:日を整数で指定します。

nh:時を整数で指定します。

nmi:分を整数で指定します。

ポイント

量が0であることを表す場合

整数値とフィールドの指定文字(Y,M,D,H,M)を省略できます。

1時間30分の表記法を次に示します。年,月,日を示すフィールドの指定文字(Y,M,D)を省略できます。

PT1H30M
時,および分の量が0であることを表す場合

T以降をすべて省略できます。

1か月間の表記法を次に示します。年,日を示すフィールドの指定文字(Y,D),およびT以降を省略できます。

P1M

ただし,すべてのフィールドを省略することはできません。

(3) 定期日時方式(Periodic date and time)の場合

定期日時方式(Periodic date and time)のタイマールールに変更する場合のプロセスデータ値について説明します。

形式

次の形式で,プロセスデータに日付と時刻を指定します。

*-M-dTh:m

M:月を整数(1~12)で指定します。または「*」を指定します。

d:日を整数(1~31)で指定します。または「*」を指定します。

h:時を整数(0~23)で指定します。または「*」を指定します。

m:分を整数(00~59)で指定します。

ポイント

すべての値を取得したいフィールド(月,日,時)には「*」を指定します。「年」のフィールドは,常にすべての値を取得します。

ある月の15日午前9時00分の表記法
*-*-15T9:00

指定された文字列から求められる日時の「秒」の値は0として扱われます。

(4) サブプロセス(マルチインスタンス)でのタイマールール動的変更

サブプロセス(マルチインスタンス)の場合に,タイマールールを動的に変更するときの設定方法について説明します。

サブプロセス(マルチインスタンス)の中にタイマーイベントが定義されている場合,マルチインスタンスのインスタンスごとに異なるプロセスデータ値で,タイマールールを動的変更できます。

BPMNエディタでは,{MIIndex}を付与した形式でプロセスデータキー名を指定します。指定例を次に示します。

指定例
$STimerDateTime{MIIndex}

実行環境では,リスト型プロセスデータを登録する必要があります。