4.3.11.1. コールアクティビティを使用する¶
このチュートリアルでは、「コールアクティビティ」を使用して他のプロセス定義を呼び出す方法を解説します。
「サブプロセス」との違いは、異なるプロセス定義ファイルに定義されたプロセス定義を呼び出すことが可能な点です。
「コールアクティビティ」の詳細については、「IM-BPM プロセスデザイナ 操作ガイド」 - 「コールアクティビティ」もあわせて参照してください。
コラム
このチュートリアルで作成するプロセス定義のサンプルを以下のリンクからダウンロードできます。
このサンプルは「プロセス定義アップロード」機能でプロジェクトにアップロードできます。
アップロード手順は「IM-BPM プロセスデザイナ 操作ガイド」-「プロセス定義のアップロード」を参照してください。
コラム
このチュートリアルのサンプルでは、同一ファイル内に「呼び出されるプロセス定義」と「呼び出し元のプロセス定義」が定義されていますが、それぞれファイルを分けて定義することも可能です。
4.3.11.1.1. 呼び出されるプロセス定義を作成する¶
コールアクティビティから呼び出されるプロセス定義を作成します。
図:呼び出されるプロセス定義
このチュートリアルでは、足し算を「スクリプトタスク」で行い、結果を変数 result に設定する「呼び出されるプロセス定義」を作成します。
変数 result は後述する「呼び出し元のプロセス定義」にて「出力パラメータ」の設定を行うことにより、「呼び出し元のプロセス定義」の変数へ設定できます。
足し算の対象の数字は、「呼び出し元のプロセス定義」より変数を介して受け取ります。この際、数字の受け渡しに使用する変数の名前は連番(1, 2, 3, ...)を付与した規則的な変数名とします。
val + 数字 : val1 , val2 , val3 , ・・・
スクリプトタスク「足し算」のスクリプトです。
function run(variables, execution, entity) { var result = 0; var i = 1; while (true) { var num = entity.getVariable('val' + i); if (num != null) { result += parseInt(num); i++; } else { break; } } entity.setVariable('result', result); }
「プロセス定義キー」に addition_process を設定します。
図:プロセス定義キー
開始イベント、および、終了イベントには、特に設定が必要なプロパティはありません。
4.3.11.1.2. 入力パラメータを設定してプロセス定義を呼び出す¶
コールアクティビティで入力パラメータを設定して、プロセス定義を呼び出します。
図:完成イメージ
図:コールアクティビティ - メインコンフィグ
「呼び出し対象」に addition_process 指定します。
直接入力するか、プロセス定義検索()を使用して指定します。図:プロセス定義検索コラム
プロセス定義検索「プロセス定義検索」子画面で、参照可能なプロセス定義を検索し、「呼び出し対象」の項目へ設定できます。- 「プロセスデザイナ上のプロセス定義」タブ
- 「プロセスデザイナ上のプロセス定義」タブでは、プロセスデザイナ上のプロセス定義が表示されます。「参照」アクションが許可されているプロジェクトのプロセス定義が表示されます。
- 「デプロイ済みのプロセス定義」タブ
- 「デプロイ済みのプロセス定義」タブでは、既にデプロイされているプロセス定義が表示さます。プロセス定義の検索の認可がある場合のみ表示されます。
注意
「呼び出されるプロセス定義」はプロセス定義の実行前までに、必ずデプロイされている必要があります。デプロイされていないプロセス定義が呼び出された場合、実行時にエラーが発生します。「入力パラメータ」を設定します。
「出力パラメータ」を設定します。
結果を表示する「スクリプトタスク」を作成します。
- 実行結果を確認します。
- 上記で作成したプロセス定義を実行環境にデプロイし、実行した結果の確認を行います。図:結果表示図:変数一覧
4.3.11.1.3. 参照可能な変数を継承してプロセス定義を呼び出す¶
コールアクティビティで参照可能な変数を継承してプロセス定義を呼びます。
図:完成イメージ
図:コールアクティビティ - メインコンフィグ
変数を設定するスクリプトタスクを作成します。
「スクリプトタスク」のスクリプトです。function run(variables, execution, entity) { entity.setVariable('val1', 1); entity.setVariable('val2', 2); entity.setVariable('val3', 3); entity.setVariable('val4', 4); entity.setVariable('val5', 5); entity.setVariable('val6', 6); entity.setVariable('val7', 7); entity.setVariable('val8', 8); entity.setVariable('val9', 9); entity.setVariable('val10', 10); }
図:スクリプトタスク - メインコンフィグ - スクリプト「呼び出し対象」に addition_process 指定します。
「参照可能な変数を継承する」を有効にします。
「出力パラメータ」を設定します。
結果を表示する「スクリプトタスク」を作成します。
- 実行結果を確認します。
- 上記で作成したプロセス定義を実行環境にデプロイし、実行した結果の確認を行います。図:結果表示図:変数一覧