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

4.3.3.1. IM-LogicDesignerのリスナを利用する

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

コラム

このチュートリアルで作成するプロセス定義のサンプルを以下のリンクからダウンロードできます。

このサンプルは「プロセス定義アップロード」機能でプロジェクトにアップロードできます。
アップロード手順は「IM-BPM プロセスデザイナ 操作ガイド」-「プロセス定義のアップロード」を参照してください。

4.3.3.1.1. IM-LogicDesignerのリスナを利用したプロセス定義を作成する

IM-LogicDesignerのリスナを利用して、基準日から数日後の営業日を取得し、ユーザタスクの期限日に設定します。
このチュートリアルでは、基準日を現在日に設定し、10日後の営業日を期限日に設定するようにします。
このチュートリアルを開始する前に以下リンクから「ロジックフロー」をダウンロードし、インポートしてください。

コラム

「ロジックフロー」のインポートについての詳細は「IM-LogicDesigner ユーザ操作ガイド」-「インポート/エクスポート」を参照してください。
../../../../_images/listener_0001.png
図:完成イメージ
  1. 開始イベントを設置します。

  2. 「データプロパティ」を設定します。
    キャンパスの空白部分をクリックし、「プロパティ」をプロセス全体に切り替えます。
    「データオブジェクト」タブから、「データプロパティ」の「追加」リンクをクリックします。
  3. 「データプロパティ」ダイアログから、以下のとおりに項目を設定します。
    • ID : dueDateDays

    • 名前 : dueDateDays

    • 型 : int

    • 値 : 10

      ../../../../_images/listener_0002.png
      図:データプロパティ

    コラム

    プロセスのデータプロパティ設定方法については「プロセスにデータプロパティを設定する」を参照してください。
  4. ユーザタスクのリスナを追加します。
    実行リスナの「追加」リンクをクリックします。
    ../../../../_images/listener_0003.png
    図:「ユーザタスク」 - 「プロパティ」 - 「リスナ」
  5. 以下の手順で、実行リスナを設定します。
    1. タイプを IM-LogicDesigner に設定します。

      ../../../../_images/listener_0004.png
      図:「実行リスナ」
    2. フローIDを設定します。

      フローIDを設定するには、以下3つの方法があります。
      • 「フロー定義検索」により、ロジックフロー定義を選択する

        1. 「フロー定義検索」をクリックし、「ロジックフロー定義検索」ウィンドウを開きます。
        2. フロー定義ID businessDateCalculation のロジックフローを選択し、「決定」ボタンをクリックします。
      • フローIDを文字列で入力する

        1. フローIDの入力フォームに直接 businessDateCalculation を入力します。
      • EL式で動的にフローIDを設定する

        EL式による動的なフローIDの設定方法については、別途「IM-LogicDesignerタスクで実行するロジックフローを動的に設定する」で説明しています。
    3. 最新バージョンを利用するように設定します。

      ../../../../_images/listener_0005.png
      図:「実行リスナ」
    4. 入力データを以下のように設定します。

      • 名前: referenceDate

        値: ${execution.getEngineServices().getProcessEngineConfiguration().getClock().getCurrentTime()}

      • 名前: days

        値: ${dueDateDays}

      ../../../../_images/listener_0006.png
      図:基準日の設定
      ../../../../_images/listener_0007.png
      図:日数の設定

      コラム

      上記で設定したEL式は、ロジックフローの入力設定に対応しています。
      ../../../../_images/listener_0008.png
      図:ロジックフロー側の対応する入力設定
    5. 「結果変数を格納する」を有効にします。

    6. 結果変数名に businessDateCalculationResult を設定します。

      ../../../../_images/listener_0009.png
      図:「実行リスナ」
  6. 「ユーザタスク」に期限を設定します。
    「ユーザタスク」の「メインコンフィグ」タブで、「期限」に「 ${businessDateCalculationResult.addedBusinessDate} 」を入力します。
    ../../../../_images/listener_0010.png
    図:「ユーザタスク」 - 「プロパティ 」- 「メインコンフィグ」

    コラム

    上記の期限で設定したEL式は、ロジックフローの出力設定に対応しています。
    ../../../../_images/listener_0011.png
    図:ロジックフロー側の対応する出力設定

4.3.3.1.2. 実行結果を確認する

このチュートリアルで作成したプロセス定義を実行環境にデプロイし、実行した結果の確認を行います。
  1. プロセスを開始します。

  2. タスク一覧を確認します

    ../../../../_images/listener_0012.png
    図:タスク一覧