サブプロセス起動ロボットの設定

以下では、サブプロセス起動ロボットの定義手順・設定について説明します。

サブプロセス起動ロボットの定義手順

1.サブプロセスを起動させたい位置に新しいアクティビティを配置します。
基本情報の「種別」設定項目で、サブプロセス起動ロボットを選択し、「適用」ボタンを押下します。

2.「適用」ボタンを押下すると、「サブプロセス起動ロボット 固有データ」の設定欄が表示されます。「サブプロセス起動ロボット 固有データ」では、起動するサブプロセスやプロセスの連携時に必要な設定ができます。
サブプロセス追加エリアで、サブプロセス起動ロボットの終了条件を選択し、起動するサブプロセスを選択、追加します。詳細については【サブプロセスの追加】を参照してください。

3.サブプロセスを選択すると、プロセス連携設定エリアが選択されたサブプロセスごとに表示されます。プロセス連携設定エリアの詳細については【プロセスの連携設定】を参照してください。
必要に応じてプロセス連携設定エリアを設定すると、サブプロセス起動ロボットの定義が完了します。

サブプロセスの追加

サブプロセス追加エリアでは、サブプロセス起動ロボットの終了条件の選択と、サブプロセス起動ロボットで起動するサブプロセスの選択・追加ができます。

サブプロセス起動ロボットの終了条件

サブプロセス起動ロボットは、終了条件の選択が必須です。業務プロセスの要件に応じて、終了条件を選択してください。

サブプロセス起動ロボットの終了条件とその動作は、以下のとおりです。

終了条件 説明
すべてのサブプロセスが完了待ち メインプロセスに設定されているすべてのサブプロセスが完了したときに、サブプロセス起動ロボットが終了します。
ひとつでも完了 メインプロセスに設定されているすべてのサブプロセスのうち、ひとつでも完了したときに、サブプロセス起動ロボットが終了します。また、その際進行中の他のサブプロセスは強制終了されます。
完了を待たない サブプロセスの起動後、サブプロセス起動ロボットが終了します。

サブプロセスの選択・追加手順

  1. サブプロセス起動ロボットによって起動するサブプロセスを選択します。
    「サブプロセス追加」ボタンを押下します。

  1. サブプロセス追加のウインドウが開きます。「検索」ボタンを押下すると、「業務名」の入力値と「絞込み」での選択に従って検索された業務プロセス定義が表示されます。

  1. 検索結果から、サブプロセスとして起動する業務プロセスのチェックボックスにチェックを入れます。複数選択が可能です。
    「追加」ボタンを押下すると選択した業務プロセスがサブプロセス追加エリアとプロセス連携設定エリアに表示されます。

サブプロセス追加時、メインプロセスと同じ業務プロセス定義はサブプロセスとして追加できません。
ただし、メインプロセスを再利用した業務プロセス定義は、サブプロセスとして追加可能です。

※ドラフト版の業務プロセス定義をサブプロセスに設定したメインプロセスは、正式版として公開できません。
※「サブプロセス起動」欄のリンクから、サブプロセスに追加した業務プロセスの定義を確認することができます。業務プロセス定義の閲覧権限が無い場合は、リンクをクリック後にエラー画面が表示されます。

サブプロセスの削除

サブプロセス追加エリア、もしくはプロセス連携設定エリアに表示されているサブプロセス名の右隣にある ボタンを押下すると、サブプロセスの設定は削除されます。

※削除後、「適用」ボタンを押下しなければ削除操作は反映されません。

プロセスの連携設定

プロセス連携設定エリアでは、メインプロセスとサブプロセスの間でサブプロセスごとにデータを受け渡す設定を行うことができます。データを受け渡す設定は、サブプロセスの開始時と完了時に設定できます。プロセス間のデータの受け渡しには変数マッピングとプロセス変数を使います。また、個々のサブプロセスの開始時と完了時のタイミングで、イベントハンドラを定義できます。「開始時のイベントハンドラ」で値をプロセス変数に代入し、そのプロセス変数を変数マッピングでサブプロセスに渡す、などの使い方ができます。

変数マッピング

変数マッピングとは、業務プロセス定義で使用したデータを、異なる業務プロセスに受け渡す機能です。マッピングする際には、それぞれのデータの変数型に対応したプロセス変数を指定します。受け渡されたデータは、受け渡された側の業務プロセスで使用できます。

変数マッピングの設定が可能なタイミング/データの詳細については、【プロセス変数のマッピング】を参照してください。

サブプロセスの開始時には、メインプロセスからサブプロセスへデータが受け渡されます。完了時には、サブプロセスからメインプロセスへデータが受け渡されます。

変数マッピングの操作手順

以下では、サンプル業務のアクティビティ⑨、サブプロセス起動ロボット【営業部担当者or上長確認】を例として、変数マッピングの操作手順を説明します。
サブプロセス起動ロボット【営業部担当者or上長確認】では、メインプロセスとサブプロセス間で以下の表中のデータを受け渡します。

⑨サブプロセス起動アクティビティ【営業部担当者or上長確認】」で受け渡しするデータ

業務プロセス メインプロセス
サービス契約WF(営業部)
サブプロセス
回覧WF
開始時 サービスDBの文書データをもつ文書型変数 >> 【対応結果確認】アクティビティで使用されている文書型変数
直前アクティビティ実施者の上長 >> 業務開始者 ※

※業務開始者へのマッピングは、⑨で2つ設定する回覧WFのうち1つにのみ行います。

  1. サービスDBで作成した文書のデータが代入されている文書型変数 doc2 を、「親プロセス」欄で選択します。
    回覧WF で使用されている文書型変数 doc1 を「サブプロセス」欄で選択します。

設定した2つの回覧WFのうち、1つの変数マッピングは完了です。

  1. 「追加」ボタンを押下し、変数マッピング欄を増やします。

  2. ⑨で設定する2つの回覧WFのうち1つに、「開始時のイベントハンドラ」で、「直前アクティビティ実施者の上長」をアカウント変数に代入します。

  3. 「開始時のイベントハンドラ」で代入したアカウント型変数 account02 を、「親プロセス」欄で選択します。
    業務開始者を、「サブプロセス」欄で選択します。

  4. 「完了時の変数マッピング」は必要ないため、変数マッピングは以上で終了です。「適用」ボタンを押下すると、エラーのチェックが行われ、アクティビティの定義が反映されます。

変数マッピング欄の追加

変数マッピング欄の右にある「追加」ボタンを押下すると、変数マッピング欄が追加されます。
「追加」ボタンを押下した行の変数マッピング欄は、変更できません。

変数マッピング欄の削除

決定した変数マッピングを削除する場合、変数マッピング欄右の ボタンを押下するとその行を削除できます。

※削除後、「適用」ボタンを押下しなければ削除操作は反映されません。

イベントハンドラの設定

イベントハンドラは、サブプロセスの完了時などに、文書に記入するなどの独自の処理を自動で実行させたい場合に利用します。 サブプロセスに関するイベントハンドラは、下記タイミング毎に定義することができます。

タイミング 用途
アクティビティ開始時 アクティビティ開始時に実行させたい処理がある場合
サブプロセス開始時 サブプロセスごとの開始時に実行させたい処理がある場合
※例)部品のデータをサブプロセスに渡すために変数へセットする場合など
サブプロセス完了時 サブプロセスごとの完了時に実行させたい処理がある場合
サブプロセス完了時の共通処理 各サブプロセスの完了時に共通で実行させたい処理がある場合
※例)ひとつのサブプロセスで否認や差戻しが発生した際に他サブプロセスを終了させる場合など
アクティビティ終了時 アクティビティ終了時に実行させたい処理がある場合

サブプロセスの「開始時」「完了時」のタイミング、サブプロセス共通の「サブプロセス完了時」のタイミング、およびアクティビティ(サブプロセス起動ロボット)の「開始時」「終了時」のタイミングでイベントハンドラによる自動処理の設定を行うことができます。

「アクティビティ実施待機終了」タグの利用方法

ひとつのサブプロセスで否認や差戻しが発生した際に、ほかサブプロセスを強制的に終了する場合は、サブプロセス完了時の共通処理の「共通イベントハンドラ」に、条件に応じて「アクティビティ実施待機終了」タグを使用してください。

※「アクティビティ実施待機終了」タグは、「サブプロセス完了時のイベントハンドラ」および「サブプロセス完了時の共通イベントハンドラ」のみで使用可能です。

※「アクティビティ実施待機終了」タグは、サブプロセス起動ロボットの終了条件が「すべてのサブプロセスが完了」「ひとつでも完了」の場合に使用可能です。「完了を待たない」場合には使用できません。

例)イベントハンドラの記載

<イベントハンドラ>
  <条件判定>
    <条件>
      <文字列AとBは等しい>
        <A><変数 name="string01" /></A>
        <B><文字列 value="却下" /></B>
      </文字列AとBは等しい>
    </条件>
    <真>
      <アクティビティ実施待機終了 />
    </真>
    <偽>
      <文書部品代入 document="doc01" item-id="10004">
        <変数 name="string01" />
      </文書部品代入>
    </偽>
  </条件判定>
</イベントハンドラ>