IM-BPM for Accel Platform IM-BPM チュートリアルガイド 第18版 2021-04-01

5.2.1. アドオンのプロセス一覧画面の作成

このチュートリアルでは、IM-LogicDesignerのロジックフローとViewCreatorを使用し、カスタマイズしたプロセスインスタンスの一覧画面を作成する方法を解説します。
../../../../_images/process_instance_list_view_0001.png
図:作成物の構成

コラム

IM-LogicDesignerとは、intra-mart Accel Platform上でビジネスロジックを簡単に作成できるアプリケーションです。
IM-LogicDesignerの詳細については、「IM-LogicDesigner仕様書」を参照してください。

コラム

ViewCreatorはintra-martのWeb画面上から、データベースなどのデータを使用して、表やグラフを簡単に作成できるツールです。
ViewCreatorの詳細については、「ViewCreator 管理者操作ガイド」を参照してください。

コラム

このチュートリアルで使用する「デプロイメント情報」および、作成する「ロジックフロー定義」、「クエリ」、「データ参照」を以下のリンクからダウンロードできます。
各種インポート方法については、以下のリンクを参照してください。

注意

このチュートリアルの「ロジックフロー」は IM-BPM for Accel Platform 2018 Summer(Tiffany) 以降のバージョンで動作します。

5.2.1.1. プロセスインスタンスのデータを取得するIM-LogicDesignerのロジックフローを作成する

プロセスインスタンスの検索を行い、検索結果を出力項目result<object[]>として返却するIM-LogicDesignerのロジックフローを作成します。
../../../../_images/process_instance_list_view_0002.png
図:完成イメージ
  1. 「サイトマップ」→「LogicDesigner」→「フロー定義一覧」から、「ロジックフロー定義一覧」画面を表示します。

  2. 「フロー定義一覧」画面、ツールバー内の「ロジックフロー新規作成」をクリックします。

  3. 「ロジックフロー定義編集」画面上部、ヘッダ内の「定数設定」をクリックします。

    定数値を以下のように設定します。
    定数ID 定数値
    TRUE true
    processBusinessKeyLike %BusinessKey%
    ../../../../_images/process_instance_list_view_0003.png
    図:定数設定
  4. 「ロジックフロー定義編集」画面上部、ヘッダ内の「変数設定」をクリックします。

    変数に以下のパラメータを追加します。
    1. plusobject」をクリックし、キー名をeditedQueryResultとします。

    2. 「配列型にする」にチェックを入れます。

      キー名
      editedQueryResult object[]
      ../../../../_images/process_instance_list_view_0004.png
      図:editedQueryResult<object[]>の設定
    3. 「配下に配置する」にチェックを入れ、editedQueryResult<object[]>パラメータの配下に以下の項目を設定します。

      キー名
      processBusinessKey string
      processDefinitionName string
      processInstanceId string
      startTime date
      startUserName string
      variablesMap object
      ../../../../_images/process_instance_list_view_0005.png
      図:editedQueryResult<object[]>の配下の項目設定
    4. editedQueryResult<object[]>配下のvariablesMap<object>を選択し、「配下に配置する」にチェックを入れ、以下の項目を設定します。

      キー名
      im_bpm_system_variables object
    5. variablesMap<object>配下のim_bpm_system_variables<object>を選択し、「配下に配置する」にチェックを入れ、以下の項目を設定します。

      キー名
      im_operation_users map
      ../../../../_images/process_instance_list_view_0006.png
      図:variablesMap<object>の配下の項目設定
  5. 「ロジックフロー定義編集」画面上部、ヘッダ内の「入出力設定」をクリックします。

    「出力」に以下のパラメータを追加します。
    1. plusobject」をクリックし、キー名をresultとします。

    2. 「配列型にする」にチェックを入れます。

      キー名
      result object[]
      ../../../../_images/process_instance_list_view_0007.png
      図:result<object[]>の設定
    3. 「配下に配置する」にチェックを入れ、result<object[]>パラメータの配下に以下のキーを設定します。

      キー名
      processBusinessKey string
      processDefinitionName string
      processInstanceId string
      startTime date
      startUserName string
      variableValue string
      ../../../../_images/process_instance_list_view_0008.png
      図:result<object[]>の配下のキー設定

      コラム

      キーresult<object[]>は、ViewCreatorと連携する際には必須のパラメータです。

      ロジックフローの出力結果をリソースとして利用する際の詳細は「ViewCreator 管理者操作ガイド」-「ViewCreatorで利用可能なロジックフローの出力設定」を参照してください。
  6. パレット内の「IM-BPM」の一覧から「プロセスインスタンス検索」を選び、フロー編集画面上に追加します。

    ../../../../_images/process_instance_list_view_0009.png
    図:「プロセスインスタンス検索」タスク
  7. 「プロセスインスタンス検索」のプロパティ項目「マッピング設定」を開き、定数項目から「出力ペイン」項目のim_bpmQueryProcessInstances1<object>配下の各キーに対し、以下のようにマッピングを行います。

    入力(始点) 出力(終点)
    定数<object> - TRUE<string> im_bpmQueryProcessInstances1<object> - includeProcessVariables<boolean>
    定数<object> - processBusinessKeyLike<string> im_bpmQueryProcessInstances1<object> - processBusinessKeyLike<string>
    ../../../../_images/process_instance_list_view_0010.png
    図:「プロセスインスタンス検索」タスクへのマッピング設定

    コラム

    上記の設定では、プロセスインスタンスを「業務キー」で部分一致検索し、返却される項目へ「プロセス変数を含む」オプションを設定しています。

    「プロセスインスタンス検索」に関するタスクの詳細は「IM-LogicDesigner仕様書」-「プロセスインスタンス検索」を参照してください。
  8. パレット内の「基本」の一覧から「変数操作」を選び、フロー編集画面上に追加します。

    ../../../../_images/process_instance_list_view_0011.png
    図:「変数操作」タスク
  9. 「変数操作」のプロパティ項目「マッピング設定」を開き、以下のようにマッピングを行います。

    1. 「マッピング設定」画面上部、ヘッダ内の左上に位置するセレクトボックスからim_bpmQueryProcessInstances1を選択し、「plus入力を追加」をクリックします。

      ../../../../_images/process_instance_list_view_0012.png
      図:im_bpmQueryProcessInstances1を選択
      以下のように、「入力ペイン」項目にim_bpmQueryProcessInstances1<object>が追加されます。
      ../../../../_images/process_instance_list_view_0013.png
      図:im_bpmQueryProcessInstances1<object>の追加
    2. 「入力ペイン」項目のim_bpmQueryProcessInstances1<object>配下のqueryProcessInstancesResults<object[]>配下の各キーより変数editedQueryResult<object[]>の各キーに対して、以下のようにマッピングを行います。

      入力(始点) 出力(終点)
      im_bpmQueryProcessInstances1<object> - queryProcessInstancesResults<object[]> 変数<object> - editedQueryResult<object[]>
      ../../../../_images/process_instance_list_view_0014.png
      図:editedQueryResult<object[]>へのマッピング設定
  10. 「終了」のプロパティ項目「マッピング設定」を開き、以下のようにマッピングを行います。

    1. 「入力ペイン」項目の「変数」内のeditedQueryResult<object[]> - variablesMap<object> - im_bpm_system_variables<object> - im_operation_users<map>を選択し、「マッピング設定」画面上部、ヘッダ内の「plusキーを追加」をクリックしてキーの追加を行い、追加されたキーの名称にuser-task_1と入力します。

      ../../../../_images/process_instance_list_view_0015.png
      図:im_operation_users<map>へキーuser-task_1を追加

      コラム

      上記の設定は、プロセスインスタンスが内部的に保持しているMap型の変数im_operation_usersから、タスク「user-task_1」の処理を行ったユーザのユーザコードを取得するための設定です。

      プロセスインスタンスが保持している変数については、以下のように標準機能の「変数一覧」画面でも確認できます。
      ../../../../_images/process_instance_list_view_0016.png
      図:「変数一覧」画面
      変数一覧画面についての詳細は「IM-BPM ユーザ操作ガイド」 - 「プロセスインスタンスの変数を確認する」を参照してください。
    2. 「入力ペイン」項目の「変数」内のeditedQueryResult<object[]>配下の各キーより、出力項目result<object[]>の配下の各キーに対して以下のようにマッピングを行います。

      入力(始点) 出力(終点)
      変数<object> - editedQueryResult<object[]> 出力<object> - result<object[]>
      ... - im_operation_users<map> - user-task_1<any> 出力<object> - result<object[]> - variableValue<string>
      ../../../../_images/process_instance_list_view_0017.png
      図:result<object[]>へのマッピング設定
  11. 「開始」→「プロセスインスタンス検索」→「変数操作」→「終了」の順にタスクを接続します。

  12. 「新規保存」をクリックし、以下を入力し、「決定」をクリックします。

    <画面項目>

    項目 設定値
    フロー定義ID QueryProcessInstancesFlow
    フロー定義名(標準) プロセスインスタンス検索
    フローカテゴリ Sample
    ../../../../_images/process_instance_list_view_0018.png
    図:新規保存ダイアログ

コラム

マッピング元とマッピング先で配下に同名の値を持っている場合、IM-LogicDesignerは自動でその値をマッピングします。

階層化された値のマッピングの詳細については、「IM-LogicDesigner チュートリアルガイド」-「階層化された入力値・出力値の定義(Object型の定義)」を参照してください。

5.2.1.2. IM-LogicDesignerのロジックフローと連携したViewCreatorのクエリ・データ参照を作成する

IM-LogicDesignerのロジックフローからデータを取得し、ViewCreatorで表示するためのクエリ・データ参照の設定を作成します。
  1. 外部データソース定義

    1. 「サイトマップ」→「ViewCreator」→「外部データソース連携」→「ロジックフロー管理」をクリックし「ロジックフロー管理」画面を表示します。

    2. 「ロジックフロー管理」画面のフロー定義ID一覧に表示されているフロー定義IDQueryProcessInstancesFlowの「ViewCreatorで使用する」にチェックを入れます。

      ../../../../_images/process_instance_list_view_0019.png
      図:「ViewCreatorで使用する」にチェック
  2. クエリの作成

    1. 「サイトマップ」→「ViewCreator」→「クエリ一覧」から、ViewCreatorの「クエリ一覧」画面を表示します。

    2. クエリ一覧画面の「新規」をクリックして「クエリ編集」画面を表示します。

      ../../../../_images/process_instance_list_view_0020.png
      図:クエリの新規作成
    3. 「接続ID」のプルダウンよりLogicFlowを選択します。

      ../../../../_images/process_instance_list_view_0021.png
      図:接続IDの選択
    4. 「リソース一覧」よりQueryProcessInstancesFlowを選択します。

      ../../../../_images/process_instance_list_view_0022.png
      図:リソース一覧
    5. デザイナ部分に表示されたリソースQueryProcessInstancesFlowより、以下の「フィールド」をダブルクリックし、クエリの「カラム」として選択し、選択した「カラム」に「キャプション」を設定します。

      フィールド名 キャプション
      processBusinessKey 業務キー
      processDefinitionName プロセス定義名
      processInstanceId プロセスインスタンスID
      startTime 開始日時
      startUserName 開始ユーザ名
      variableValue 変数の値
      ../../../../_images/process_instance_list_view_0023.png
      図:カラムの選択とキャプションの設定
    6. 「クエリ編集」画面上部の「登録」ボタンをクリックし、以下の値を入力し、作成したクエリを登録します。

      <画面項目>

      項目 設定値
      クエリコード ProcessInstanceList
      クエリ名 プロセスインスタンスリスト
      ../../../../_images/process_instance_list_view_0024.png
      図:登録確認ダイアログ
  3. データ参照の作成

    1. 「サイトマップ」→「ViewCreator」→「クエリ一覧」から、ViewCreatorの「クエリ一覧」画面を表示します。

    2. プロセスインスタンスリストの「データ参照作成」欄のリスト集計作成(view_creator_create_list)をクリックし、「リスト集計の作成」画面を表示します。

      ../../../../_images/process_instance_list_view_0025.png
      図:リスト集計作成
    3. 「リスト集計の作成」画面の入力項目に以下の値を入力します。

      <画面項目>

      項目 設定値
      データ参照名 プロセスインスタンスリスト参照
      参照権 - 認証済みユーザ チェック
      ../../../../_images/process_instance_list_view_0026.png
      図:データ参照名
      ../../../../_images/process_instance_list_view_0027.png
      図:参照権 - 認証済みユーザ
    4. カラム一覧のカラムプロセス定義名(processDefinitionName)の「ソート順」プルダウンより「昇順」を、カラム開始日時(startTime)の「ソート順」プルダウンより「降順」をそれぞれ選択します。

      ../../../../_images/process_instance_list_view_0028.png
      図:ソートの設定
    5. カラム一覧のカラム開始日時(startTime)の「フォーマット」にyyyy/MM/dd HH:mm:ssを設定します。

      ../../../../_images/process_instance_list_view_0029.png
      図:日付フォーマットの設定

      コラム

      上記の設定では、プロセス定義名(processDefinitionName)カラム(昇順)が第1ソートキー、開始日時(startTime)カラム(降順)が第2ソートキーです。

      日付フォーマットや、「リスト集計の作成」についてのその他の設定の詳細は「ViewCreator 管理者操作ガイド」-「ViewCreator 管理者操作ガイド - リスト集計の作成」を参照してください。
    6. 「登録して一覧へ戻る」をクリックします。

5.2.1.3. 作成したプロセスインスタンス一覧画面を確認する

検索対象となるプロセスインスタンスを作成し、プロセスインスタンス一覧画面を確認します。
  1. 検索対象となるプロセスインスタンスを作成するために、デプロイメント情報をインポートします。

    ../../../../_images/process_instance_list_view_0030.png
    図:インポートされるプロセス定義
    ../../../../_images/process_instance_list_view_0031.png
    図:実行中のプロセスインスタンスの詳細画面

    コラム

    デプロイされたプロセス定義を開始することにより、プロセスインスタンスが作成されます。

    プロセスインスタンスの確認については、「IM-BPM ユーザ操作ガイド」-「プロセスインスタンスを確認する」を参照してください。
    1. 「サイトマップ」→「BPM」→「インポート」画面を表示し、「インポートファイル」項目に、デプロイメント情報im_bpm_process_instance_list.zipを設定し、「実行」ボタンをクリックします。

      ../../../../_images/process_instance_list_view_0032.png
      図:インポート画面
    2. 「サイトマップ」→「BPM」→「デプロイ一覧」画面を表示し、デプロイ名DeployProcessForListが存在することを確認します。

      ../../../../_images/process_instance_list_view_0033.png
      図:デプロイ一覧画面
    3. 「サイトマップ」→「BPM」→「プロセス開始一覧」画面を表示し、プロセス定義名ProcessForListのプロセス開始(process_start)をクリックし、「プロセス開始確認」ダイアログの「業務キー」に以下の値を入力しプロセスを開始してください。

      合計で3件のプロセスを開始します。
      業務キー
      Sample_BusinessKey_001
      Sample_BusinessKey_002
      Sample_ManagementProcessKey_001
      ../../../../_images/process_instance_list_view_0034.png
      図:プロセス開始確認ダイアログ
    4. 「サイトマップ」→「BPM」→「タスク一覧」画面を表示し、グループタスクにプロセス定義名 ProcessForList のプロセスのユーザタスクが3件存在することを確認します。

      ../../../../_images/process_instance_list_view_0035.png
      図:タスク一覧画面
    5. グループタスクの「業務キー」に Sample_BusinessKey_001 が設定されているユーザタスクの担当にする(assign_user)をクリックし、タスクの割り当てを行います。

      ../../../../_images/process_instance_list_view_0036.png
      図:グループタスク一覧
    6. 「業務キー」に Sample_BusinessKey_001 が設定されているユーザタスクが個人タスクに移動したことを確認し、個人タスクの処理(execute_task)をクリックし、処理確認ダイアログで「決定」をクリックし、タスクを処理します。

      ../../../../_images/process_instance_list_view_0037.png
      図:個人タスク一覧
    7. 「サイトマップ」→「BPM」→「プロセス一覧」画面を表示し、プロセス定義名 ProcessForList のプロセスが3件存在することを確認します。

      ../../../../_images/process_instance_list_view_0038.png
      図:プロセス一覧画面

      注意

      本チュートリアルではプロセスの開始を行うユーザは、「IM-BPM管理者(im_bpm_manager)」ロールを持つユーザであることを前提としています。
      プロセス定義の開始権限の詳細については「IM-BPM 仕様書」 - 「プロセス定義の開始権限」を参照してください。
  2. ViewCreatorで作成したプロセスインスタンスの一覧画面を確認します。

    1. 「サイトマップ」→「ViewCreator」→「データ参照一覧」から、ViewCreatorの「データ参照一覧」画面を表示します。

    2. 一覧に表示されている プロセスインスタンスリスト参照 のリンクをクリックします。

      ../../../../_images/process_instance_list_view_0039.png
      図:データ参照へのリンク
    3. 「業務キー」に文字列 BusinessKey を含むプロセスインスタンスのリストが表示されることを確認します。

      ../../../../_images/process_instance_list_view_0040.png
      図:データ参照-プロセスインスタンス一覧
    4. 「サイトマップ」→「BPM」→「プロセス一覧」画面を表示し、プロセス定義名「ProcessForList」のプロセスが存在することを確認します。

      ../../../../_images/process_instance_list_view_0041.png
      図:標準機能のプロセス一覧画面
    5. 「プロセス一覧」画面に表示されている「業務キー」、「プロセス定義名」、「開始日時」が作成したデータ参照のプロセスインスタンス一覧の「業務キー」、「プロセス定義名」、「開始日時」と等しいこと、「プロセス一覧」画面には存在しない「プロセスインスタンスID」、「開始ユーザ名」、「変数の値」が表示されていることを確認します。

    コラム

    作成したデータ参照はポートレットとして登録することで、ポータル画面へ表示することが可能です。

    ポートレットとして使用する場合の詳細については「ViewCreator 管理者操作ガイド」-「ポータルとの連携」を参照してください。