Conditional Start
プロセスのプロセスフローを設計する際、エンティティレコードでイベントが発生したときにフローを開始できます。この動作を実装するには、Conditional Startプロセスアクティビティを「Process Flowツールボックス」からキャンバスにドラッグします。
Conditional Startプロセスアクティビティは、レコード作成イベントまたはレコード更新イベントが発生したときにフローの実行を開始します。ただし、Conditional Startは、新しく発生したイベントがすべて処理されることを保証するために、イベントを処理した後も実行を終了しません。そのため、イベントが発生するたびに、フローの新しい実行が開始され、新しく発生したイベントを検出するために自分自身を返します。
プロセスフローのすべてのConditional Startアクティビティは、プロセス実行が終了したときにその実行を終了します。
Conditional Startプロセスアクティビティには、入力パラメータ、出力パラメータ、「コールバックアクション」を設定できます。
エンティティイベントでの実行を開始する
エンティティ上でイベントが発生した後にConditional Startのフローが実行を自動的に開始する場合、Start On
プロパティにそのイベントの種類と次のいずれかのエンティティアクションを設定する必要があります(Create<エンティティ>またはUpdate<エンティティ>)。
Start On
プロパティでイベントの種類を選択すると、エンティティアトリビュートのリストが表示され、Conditional Startのフローを自動的に開始する条件、特定のレコードの主キー、またはアトリビュートの特定の値の参照アトリビュートを設定できるようになります。
たとえば、Conditional Startのフローが新しく予定された面接を処理するように設計されている場合、Start On
プロパティにCreateInterviewエンティティアクションを設定する必要があります。
依存関係コネクタを追加する
場合によっては、1つまたは複数のプロセスアクティビティの実行が終了した後にのみConditional Startを実行することが考えられます。つまり、Conditional Startの実行が他のプロセスアクティビティの実行に依存しているということです。この動作を実装するには、Conditional StartがConditional Start自体に依存する各プロセスアクティビティからコネクタを追加するだけです。
この種のコネクタは、下記の図に示す緑色の点線のコネクタで表されます。
Conditional Startアクティビティの参照を使用する
Service Studioには、複数のeSpaces間でConditional Startプロセスアクティビティにアクセスする仕組みが用意されています。Conditional Startプロセスアクティビティを他のeSpaceに公開したり、別のeSpaceで定義されたConditional Startプロセスアクティビティを使用したりできます。
注意事項
別のエンティティからのイベントを検出するようにStart On
プロパティを変更した場合、変更後に作成されたConditional Startインスタンスにのみ反映されます。すでに実行しているすべてのインスタンスは、以前のエンティティからのイベントの検出を継続します。したがって、以前のエンティティをリッスンするConditional Startインスタンスがなくなった場合にのみ、この変更を行う必要があります。
ベストプラクティスとして、「プロセスに入れるConditional Startの数を制限する」ようにします。
プロパティ
名前 | 説明 | 必須 | デフォルト値 | 備考 |
---|---|---|---|---|
Description | 要素を文書化するテキスト。 | 文書化の際に便利です。 このプロパティの最大サイズは2,000文字です。 |
||
Label | このConditional Startアクティビティのインスタンスが実行されると、バックオフィスに表示されるテキスト。 | 定義されていない場合、表示されるテキストはConditional Startアクティビティ名になります。 | ||
Name | 画面、アクション、モジュールといった、定義されているスコープ内の要素を識別します。 | Yes | ||
Public | このプロセスアクティビティを他のモジュールが使用できるかどうかを示します。 | Yes | No | このプロパティは、現在のモジュールで作成されたプロセスアクティビティでのみ使用できます。プロセスアクティビティがパブリックの場合、そのプロセスもパブリックである必要があります。 |
Start On | Conditional Startフローの実行を自動的に開始するエンティティアクション。 | エンティティイベントが選択されると、エンティティの主キーがプロセスの入力パラメータとして自動的に追加されます。このように、各プロセスインスタンスには、それに関連したエンティティレコードを示す参照が存在しています。 実行を開始するエンティティアクション: Create <エンティティ>: 指定したエンティティのレコードが作成されると、Conditional Startはフローの実行を開始します。 Update <エンティティ>: 指定したエンティティのレコードが更新されると、Conditional Startはフローの実行を開始します。 |
||
Original Name | 要素を実装するモジュール(プロデューサモジュール)で定義されている要素名。このプロパティは読み取り専用です。 | Yes | このプロパティは、参照される要素に対してのみ表示されます。 |
ランタイムプロパティ
名前 | 説明 | 読み取り専用 | 型 | 備考 |
---|---|---|---|---|
StartedBy | プロセスアクティビティインスタンスを開始したユーザの識別子。 | Yes | ||
StartedInstant | プロセスアクティビティインスタンスが開始した日付と時刻。 | Yes | Date Time | |
ActivityId | 実行時のプロセスアクティビティインスタンスの識別子。 | Yes |