ユーザーが同時に作業でき、後で親プロセスに再参加できる、一つのサブプロセスの複数のインスタンスを作成することで、ケース完了を加速します。その結果、並行して作業を行うツールをユーザーに提供し、ケース処理中にユーザーを妨害するリスクを取り除きます。ケースが複数のユーザーからの承認を必要とするサンプルシナリオでは、「Split for Each」シェープは、指定された条件を満たすユーザーすべてに対して同じ承認プロセスを開始します。たとえば、承認プロセスは、ケースにアクセスできる管理的役割を持つユーザーすべてに対して開始することができます。先に進めるにはケースがいくつ承認を必要とするのかを定義できます。

注:各サブプロセスは、非同期で並行して実行します。ユーザーが一つのサブプロセスでアサインメントに取り組んでいるとき、他のユーザーは、並列サブプロセスでアサインメントに取り組むことができます。安全に作業するためのこのプロセスの前提条件は、ロック戦略を確認し、複数ユーザーのロック戦略への切り替えを検討することです。しかし、同時アクセスでは、別のユーザーも同時に変更を行えるため、アサインメントを更新することが必要となる可能性があります。

  1. ケースライフサイクルに「Split for Each」シェープを追加します。
    1. App Studioのナビゲーションペインで、Case typesをクリックし、次に開きたいケースタイプをクリックします。
    2. Case life cycle」セクションの、「Split Join」シェープを追加したいプロセスで、「Configure process」をクリックします。
    3. ツールバーで、「Open process in Dev Studio」をクリックします。
    4. Diagram」タブで、「Flow shapes」アイコンをクリックし、その後Advanced Shapes」>「Split for Eachを選択します。
    5. コネクターの終点をプロセスのさまざまなシェープの接続点にドラッグして、「Split for Each」シェープを接続します。
  2. Split for Each」シェープをダブルクリックして、ダイアログボックスを開きます。
  3. オプション:シェープに特別な名前を付けるには、「Split for Each」ダイアログボックスの「Split for Each」フィールドに新しい名前を入力します。
  4. Join」リストで、親プロセスがいつプロセスを再開するかを定義します。
    • すべてのサブプロセスが完了した後にプロセスを再開するには、「All」を選択します。
    • いずれかのサブプロセスが完了した後にプロセスを再開するには、「Any」を選択します。

      いずれかのサブプロセスが完了した後、残りのサブプロセスのプロセスは停止し、システムは、オープンアサインメントをキャンセルします。

    • 指定されたWhen条件がtrueと評価した個々のページのプロセスを開始するには、「Iterate」を選択します。
    • 指定された数のサブプロセスが完了した後にプロセスを再開するには、「Some」を選択します。
  5. Page propertyフィールドで、「Page List」または分割の基である「Page Group」プロパティを入力します。

    下記のような例があります。

    承認のためにケースを複数の承認者に送信するには、ページを保管するPageプロパティに、承認者の詳細を入力します。

    結果:

    指定したプロパティの埋め込みページを使用して、クラスを格納するClassフィールドの値が自動入力されます。
  6. Filter flow byフィールドで、サブプロセスカテゴリーを選択します。
    • 完了すべき一連のアクションからなるサブプロセスを開始するには、「Process flow」を選択します。
    • 完了すべき一連のフォームからなるサブプロセスを開始するには、「Screen flow」を選択します。
  7. Flow nameフィールドに、実行したいサブプロセスの名前を入力します。
  8. オプション:ページプロパティのすべて、または一部のページについて、フローを実行するかどうかを制御するには、Whenフィールドで、各ページで値を評価するWhen条件を入力します。
    実行時、システムは、Page propertyフィールドのプロパティの各ページに対して、一度だけこのWhen条件ルールを評価し、このルールがtrueと評価したページについて、サブプロセスを開始します。
  9. 手順4で、「Iterate」を選択し、指定されたWhen条件がtrueと評価された後にプロセスが再開する場合は、Exit iteration whenフィールドで、trueと評価された後にプロセスを再開するWhen条件の名前を入力します。
  10. 手順4で、「Some」を選択し、指定された数のサブプロセスが完了した後にプロセスが再開する場合は、プロセスを再開するための条件を設定します。
    選択肢手順
    When条件がtrueの値を返した後に、プロセスを再開する
    1. Exit iteration」リストで、「On when」を選択します。
    2. Whenフィールドで、trueと評価された後にプロセスを再開するWhen条件を入力します。
    指定された数のサブプロセスが特定のステータスに達した後に、プロセスを再開する
    1. Exit iteration」リストで、「On count」を選択します。
    2. Number of pathsフィールドで、プロセスを再開するには、いくつのサブプロセスが特定のステータスに達する必要があるのかを決定する整数を入力します。
      注:手順5で提供したページプロパティの埋め込みページの数と同等かそれ以下の整数を入力します。
    3. Resulting with flow statusフィールドで、プロセスを再開するためにサブプロセスが達成する必要があるステータスを入力します。

      下記のような例があります。

      Resolved-Completed」と入力します。
  11. オプション:サブプロセスの監査証跡にメッセージを表示するには、Audit noteフィールドに、含めたい監査メモを保管するルールを入力します。
  12. オプション:パンくずリストナビゲーションでサブプロセスへのリンクを提供するには、「Enable navigation link」チェックボックスを選択し、追加のナビゲーションオプションを設定します。
    • ケースが前進した後に、ユーザーをサブプロセスに戻れるようにするには、「Only allow navigating back to this step」チェックボックスを選択します。
    • パンくずリストのサブプロセスからユーザーが戻ったときに、後処理か検証を可能にするには、「Perform post-processing when navigating away from step」チェックボックスを選択します。
    • 手順4で、「Iterate」を選択した場合で、サブプロセスのエントリーポイントにユーザーが戻ることを許可するには、「Subprocess has navigation links」チェックボックスを選択します。
  13. オプション:手順4で、「Iterate」を選択した場合で、システムがページを評価する順序を定義するには、「Page group iteration settings」セクションで、実行時に評価する正確な値を定義します。
    1. Subscript orderフィールドで、プロセスがグループの各ページに対して添字の値と比較するテキストを入力します。

      下記のような例があります。

      Pegaという言葉を含むページを見つけるには、「Pega」と入力します。
    2. オプション:完全な一致を必要とする場合は、「Exact match」チェックボックスを選択します。

      下記のような例があります。

      Pegaドメインのメールアドレスを含むページを見つけるには、「@pega.com」と入力します。
    3. オプション:提供する添字順序に一致しないグループのページを無視するには、「Process remaining changes」チェックボックスをオフにします。
      そうしないと、「Page group iteration settings」セクションの条件すべてを処理した後、プロセスは、一致しないページを評価します。
  14. Submit」をクリックします。
  15. Save」をクリックします。