4.3.3.3. タスクリスナを利用して特定の組織に所属するユーザを処理対象ユーザに設定する¶
このチュートリアルでは「タスクリスナ」を利用して、ユーザタスクの処理対象ユーザに特定の組織に所属するユーザを設定します。「タスクリスナ」の詳細については、「IM-BPM プロセスデザイナ 操作ガイド」 - 「タスクリスナ」もあわせて参照してください。
コラム
このチュートリアルで作成する「プロセス定義」と「ロジックフロー定義」のサンプルを以下のリンクからダウンロードできます。
これらのサンプルは、各アプリケーションの機能でアップロード、または、インポートして利用可能です。
詳細な手順については、以下のリンク先を参照してください。
- プロセス定義 : 「IM-BPM プロセスデザイナ 操作ガイド」-「プロセス定義のアップロード」
- ロジックフロー定義 : 「IM-LogicDesigner ユーザ操作ガイド」-「インポート/エクスポート」
4.3.3.3.1. ロジックフローを作成する¶
- ツールバーの「入出力設定」をクリックします。図:「ツールバー」 - 「入出力設定」
- 入力値を以下のように設定します。
キー名 型 companyCd <string> departmentSetCd <string> departmentCd <string> task <object> task - id <string> 図:「入出力設定」 - 「入力」 - パレットの種別「IM共通マスタ」から、「組織に所属するユーザの取得」を設置します。図:「組織に所属するユーザの取得」
- 「組織に所属するユーザの取得」のマッピングを、以下のとおりに設定します。
入力(始点) 出力(終点) 入力<Object> - companyCd<string>im_immGetUserByDepartment1<object> - companyCd<string>入力<Object> - departmentSetCd<string>im_immGetUserByDepartment1<object> - departmentSetCd<string>入力<Object> - departmentCd<string>im_immGetUserByDepartment1<object> - departmentCd<string>図:「マッピング設定」 - 「組織に所属するユーザの取得」コラム
「組織に所属するユーザの取得」に関するタスクの詳細は「IM-LogicDesigner仕様書」-「組織に所属するユーザの取得」を参照してください。 - パレットの種別「基本」から、「繰り返し」を設置します。「繰り返し開始」を選択すると、自動で「繰り返し終了」も配置されます。図:「繰り返し開始」と「繰り返し終了」
- 「繰り返し開始」を選択した状態で、「プロパティ」 - 「タスク固有設定」 - 「繰り返し対象」の選択をクリックします。図:「プロパティ」 - 「タスク固有設定」 - 「繰り返し対象」
コラム
「繰り返し」に関する制御要素の詳細は「IM-LogicDesigner チュートリアルガイド」-「繰り返し処理を利用したフロー」を参照してください。 - 「繰り返し対象の選択」から、im_immGetUserByDepartment1<object> - users<object[]> を選択し、決定をクリックします。図:「タスク固有設定」 - 「繰り返し対象」
- パレットの種別「IM-BPM」から「タスク処理対象のユーザの追加」を選択し、上記で配置した「繰り返し開始」と「繰り返し終了」の間に配置します。図 : 「タスク処理対象のユーザの追加」
- 「タスク処理対象のユーザの追加」のマッピングを、以下のように設定します。
入力(始点) 出力(終点) 入力<Object> - task<Object> - id <string>im_bpmAddTaskCandidateUser1<object> - taskId <string>im_startLoop1<object> - item<object> - userCd<string>im_bpmAddTaskCandidateUser1<object> - userIds<string[]>図 : 「タスク処理対象のユーザの追加」 - 「マッピング設定」コラム
「マッピング設定」に関するタスクの詳細は「IM-LogicDesigner仕様書」 - 「タスクの処理対象ユーザの追加」を参照してください。 - シーケンスでつなぎます。図:「ロジックフロー定義編集画面」
- 「ロジックフロー定義編集」画面上部、ヘッダ内の「新規保存」をクリックします。以下のように設定し、ロジックフロー定義を新規保存します。
フロー定義ID : addTargetUsersByDepartment
フロー定義名 : 【チュートリアル】処理対象ユーザ追加
- フローカテゴリ :
- ID : sample
- 名称 : Sample
図:「新規保存」
4.3.3.3.2. プロセス定義を作成する¶
- 「開始イベント」を配置します。
- 複数のユーザタスクに分岐するため、「パラレルゲートウェイ」を設置します。図:「パラレルゲートウェイ」
「ユーザタスク」を配置し、「リスナ」タブから、「タスクリスナ」 の 「追加」リンクをクリックします。
- 「サンプル課11」に所属しているユーザを処理対象ユーザに設定するため、「タスクリスナ」を以下のように設定します。
イベント : create
タイプ : IM-LogicDesigner
フローID : addTargetUsersByDepartment
最新バージョン : 最新バージョンを利用
- 入力データ1(会社コード):
- 名前 : companyCd
- 値 : comp_sample_01
- 入力データ2(組織セットコード):
- 名前 : departmentSetCd
- 値 : comp_sample_01
- 入力データ3(組織コード):
- 名前 : departmentCd
- 値 : dept_sample_11
図:「ユーザタスク」 - 「プロパティ」 - 「リスナ」コラム
ロジックフローと変数を連携するには、「IM-LogicDesigner」リスナのプロパティ「入力データ」で設定する必要があります。task<object>とid<string>は「暗黙オブジェクト」のため、設定は行いません。「暗黙オブジェクト」についての詳細は「IM-BPM 仕様書」-「IM-LogicDesignerリスナ」を参照してください。 - 「ユーザタスク」を配置し、「リスナ」 タブから、「タスクリスナ」 の 「追加」リンクをクリックします。図:「ユーザタスク」 - 「プロパティ」 - 「リスナ」
- 「サンプル課22」に所属しているユーザを処理対象ユーザに設定するため、「タスクリスナ」を以下のように設定します。
イベント: create
タイプ : IM-LogicDesigner
フローID : addTargetUsersByDepartment
最新バージョン : 最新バージョンを利用
- 入力データ1(会社コード):
- 名前 : companyCd
- 値 : comp_sample_01
- 入力データ2(組織セットコード):
- 名前 : departmentSetCd
- 値 : comp_sample_01
- 入力データ3(組織コード):
- 名前 : departmentCd
- 値 : dept_sample_22
図:「タスクリスナ」 - 「パラレルゲートウェイ」と「終了イベント」を設置します。図:「パラレルゲートウェイ」と「終了イベント」
名前を付けて保存します。
4.3.3.3.3. 実行結果を確認する¶
このチュートリアルで作成した「プロセス定義」を実行環境にデプロイし、実行した結果の確認を行います。
- 「サイトマップ」→「BPM」→「プロセス開始一覧」を開きます。プロセス開始をクリックし、プロセスを開始します。図:「プロセス開始一覧」
- 「プロセス一覧」から、「プロセス詳細」を開きます。図:「プロセス一覧」
- 「プロセス詳細」から、ユーザタスクにそれぞれの組織の処理対象ユーザが設定されていることを確認します。図:「プロセス一覧」 - 「プロセス詳細」
- テナント管理画面を開くため、テナント管理者でログインします。サイトマップから「共通マスタ」 - 「マスタメンテナンス」- 「組織」をクリックします。所属しているユーザが、上記で確認した「プロセス詳細」のタスク「サンプル課11」の処理対象ユーザであることを確認します。図:「共通マスタ」 - 「組織」
- さらに、「サンプル課22」をクリックします。所属しているユーザが、上記で確認した「プロセス詳細」のタスク「サンプル課22」の処理対象ユーザであることを確認します。図:「共通マスタ」 - 「組織」