IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

Copyright © 2016 NTT DATA INTRAMART CORPORATION

↑Top

1

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

目次
1. 改訂情報
2. はじめに2.1. 本書の目的
2.2. 対象読者
2.3. 本書の構成
3. 概要
3.1. IM-BPM for Accel Platform とは
3.2. 用語3.2.1. BPMN
3.2.2. プロセスダイアグラム
3.2.3. プロセス定義
3.2.4. プロセス定義キー
3.2.5. プロセス定義ID
3.2.6. カテゴリ
3.2.7. プロセスインスタンス
3.2.8. プロセスインスタンスID
3.2.9. 業務キー
3.2.10. エグゼキューション
3.2.11. デプロイメント
3.2.12. タスク
3.2.13. グループタスク
3.2.14. 個人タスク
3.2.15. オプショナルタスク
3.2.16. アドホックタスク
4. 機能仕様
4.1. 権限
4.1.1. ロール
4.1.2. 認可
4.1.3. 関係者権限
4.2. デプロイメント
4.2.1. 永続化
4.2.2. クラスローダ
4.2.3. アンデプロイ
4.3. プロセス
4.3.1. プロセス定義
4.3.2. プロセスインスタンス
4.4. タスク
4.4.1. 属性
4.4.2. タスクの状態
4.5. プロセスの実行
4.5.1. トランザクション
4.5.2. エグゼキューション
4.5.3. ジョブ
4.6. マイグレーション
4.6.1. 概要
4.6.2. マイグレーションを行う際の条件
4.6.3. マイグレーションを行うことができないプロセス定義
4.7. インポート/エクスポート
4.7.1. インポート/エクスポートで扱う情報
4.7.2. ファイルフォーマット
4.7.3. インポート/エクスポート時の動作
4.8. 画面連携
4.8.1. 画面連携について

2

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
4.8.2. フォームキー
4.8.3. 詳細画面のURL
4.8.4. IM-FormaDesigner連携
4.8.5. スクラッチ画面連携
4.8.6. IM-BloomMaker画面連携
4.8.7. ユーザタスク処理者の取得
4.9. IM-LogicDesigner連携
4.9.1. IM-LogicDesignerタスク
4.9.2. IM-LogicDesignerリスナ
4.10. OpenRules連携
4.10.1. 対応フォーマット
4.10.2. リソース
4.10.3. パラメータ
4.11. IM-Workflow/Forma/IM-BIS連携
4.11.1. IM-Workflow/Forma/IM-BIS連携について
4.11.2. 起票による連携
4.11.3. 申請による連携
4.11.4. ワークフロー終了時の連携
4.11.5. トランザクション
4.12. Elasticsearch連携機能
4.12.1. Elasticsearch連携について
4.12.2. Elasticsearch連携方式
4.12.3. 登録されるデータ
4.12.4. 連携イベント
4.12.5. インデックスのパターン
4.12.6. インデックステンプレート例
4.12.7. HTTP Proxy
4.13. マルチテナント
4.13.1. バーチャルテナント
4.14. Java API
4.14.1. パッケージ
4.14.2. Javaターゲットバージョン
4.14.3. プロセスエンジンの取得
4.14.4. API
4.15. REST API
4.15.1. REST APIについて
4.15.2. 認証方式
4.15.3. 認可
4.15.4. エンドポイント
4.15.5. Swagger
4.15.6. REST APIドキュメント
4.16. EL式
4.16.1. 暗黙オブジェクト
4.16.2. 変数の操作
4.17. アーカイブ
4.17.1. アーカイブ機能
4.17.2. アーカイブ対象の指定
4.17.3. アーカイブするデータの保存先
4.18. ジョブ一覧
4.19. 関連ドキュメント
4.19.1. 概要
4.19.2. 関連ドキュメントの設定方法について
4.19.3. 関連ドキュメントの設定種別について
4.20. オプショナルタスク
4.20.1. 概要
4.20.2. プロセスデザイナでの設定

3

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
4.20.3. タスクの追加
4.20.4. プロセスインスタンスの履歴
4.20.5. マイグレーション
4.21. アドホックタスク
4.21.1. 概要
4.21.2. プロセスデザイナでの設定
4.21.3. タスクの追加
4.21.4. プロセスインスタンスの履歴
4.21.5. マイグレーション
5. 画面仕様
5.1. 一覧画面リクエストパラメータ5.1.1. ユーザ向け画面
5.1.2. 管理者向け画面
5.2. プロセス図の独自画面での利用
5.2.1. プロセス図の種類
5.2.2. プロセス図の操作
5.3. IM-BloomMaker連携
5.3.1. IM-BloomMakerエレメント一覧
5.3.2. IM-BloomMaker連携機能一覧

4IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

改訂情報
変更年月日

変更内容

2016-08-01

初版

2016-08-31

第2版
下記のページの表記を修正しました。
「概要」「IM-Workflow/Forma/IM-BIS連携」「マイグレーション」「Elasticsearch連携機能」

2016-12-01

第3版
下記のページの「業務キー」登録方法について加筆しました。
「概要」「プロセス」

2017-04-01

第4版 下記を追加・変更しました。
「業務キー」に業務キーの入力有無の設定について加筆しました。
「インポート/エクスポート」を追加しました。
「REST APIについて」に「インポート/エクスポート」を追加しました。
「フォームキー」に「redirect:(PATH)」を加筆しました。
「前処理と後処理」に後処理の実行処理種別「一時保存」について加筆しました。
「アーカイブ」を追加しました。
「ジョブ一覧」を追加しました。
「関連ドキュメント」を追加しました。
「ユーザタスク処理者の取得」にシステム変数の格納方式の設定について加筆しました。
「起票による連携」にシステム変数の格納方式の設定について加筆しました。
「申請による連携」にシステム変数の格納方式の設定について加筆しました。
「暗黙オブジェクト」にシステム変数の格納方式の設定について加筆しました。

2017-08-01

第5版 下記について加筆しました。
「権限」に、追加されたロールおよび認可リソースについて加筆しました。
「インポート/エクスポート」に、プロセスデザイナのインポート/エクスポートについて加筆しました。

2017-12-01

第6版 下記を追加しました。
「画面仕様」を追加しました。

2017-12-22

第7版 下記について加筆しました。
「トランザクション」に、「非同期処理」および「排他制御と非排他制御」について加筆しました。
「タスク失敗時のトランザクション」の記述内容を「ジョブ」に統合しました。

2018-04-01

第8版 下記を追加しました。
「IM-LogicDesignerリスナ」を追加しました。

5

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
変更年月日

変更内容

2018-12-01

第9版 下記を修正・加筆しました。
「連携イベント」を修正しました。
「インデックステンプレート例」を修正、加筆しました。
「一覧画面リクエストパラメータ」に画面のURLを追記しました。
「管理者向けプロセス一覧画面」の「業務キー」項目を修正しました。
「処理済一覧画面」の「処理済タスク一覧」を修正しました。
「処理済一覧画面」の「開始済プロセス一覧」を加筆しました。
「管理者向けプロセス一覧画面」の「完了日」項目を加筆しました。
「権限」に、「関係者権限」を加筆しました。
「画面仕様」に「プロセス図の独自画面での利用」を追加しました。

2019-04-01

第10版 下記を修正・加筆しました。
「詳細画面のURL」を加筆しました。
「インデックステンプレート例」を修正しました。

2019-08-01

第11版 下記を修正・加筆・追加しました。
「フォームキー」を加筆しました。
「フォームの値と変数の連携」を追加しました。
「オプショナルタスク」を追加しました。
各ページで「オプショナルタスク」について対応しました。
「トランザクション」の「順次実行制御（排他制御）と同時実行制御（非排他制御）」について記述を修正しました。

2019-12-01

第12版 下記を修正・加筆・追加しました。
「アドホックタスク」を追加しました。
各ページで「アドホックタスク」について対応しました。
「ファイルフォーマット」に、ケース定義について加筆しました。

2020-04-01

第13版 下記を加筆しました。
「REST API」に、OAuth認証について加筆しました。
「一覧画面リクエストパラメータ」 - 「管理者向けプロセス一覧画面」に「定義種別」項目を加筆しました。

2020-08-01

第14版 下記を修正・加筆しました。
「アドホックタスク」のマイグレーションにアドホックタスクの移行ができない条件を加筆しました。
「画面連携」にIM-BloomMaker画面連携について加筆しました。
「画面連携」-「検証」に「BPMAuthorityHelper」クラスについて加筆・記述を修正しました。

2020-12-01

第15版 下記を修正・加筆しました。
「画面連携」-「検証」に「bpm.BPMAuthorityHelper」オブジェクトについて加筆・記述を修正しました。
「画面仕様」-「プロセス図の独自画面での利用」に「アクティビティのマウスアウトイベント」項目を加筆しました。
「画面仕様」-「プロセス図の独自画面での利用」に「アクティビティの選択状態を解除する」項目を加筆しました。
「マイグレーション」 - 「マイグレーションを行うことができないプロセス定義」を追加しました。
「プロセス図を表示するIM-BloomMakerエレメント」を追加しました。
「履歴タイムライン（「履歴・コメント」エレメント）」を追加しました。
「プロセスの実行」-「エグゼキューション」にエグゼキューションについて加筆しました。

6

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
変更年月日

変更内容

2023-04-28

第16版 下記を修正・加筆しました。
「画面連携」-「フォームキー」に「アプリケーションの履歴番号」について修正・加筆しました。

2023-10-01

第17版 下記を修正・加筆しました。
「インポート/エクスポート」に「プロセス一覧クエリ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「タスク一覧画面」の「グループタスク一覧」の「作成日時」「期限日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「タスク一覧画面」の「個人タスク一覧」の「作成日時」「期限日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「グループタスク一覧画面」の「作成日時」「期限日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「個人タスク一覧画面」の「作成日時」「期限日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「処理済一覧画面」の「処理済タスク一覧」の「作成日時」「期限日時」「終了日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「処理済一覧画面」の「開始済プロセス一覧」の「開始日時」「完了日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「管理者向けプロセス一覧画面」の「開始日」「完了日」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「管理者向けプロセス一覧画面」の「XXX番目の変数の型」に「datetime」を加筆しました。
「一覧画面リクエストパラメータ」 - 「管理者向けプロセス一覧画面」の「XXX番目の変数の演算子」に「from-to」を加筆しました。
「一覧画面リクエストパラメータ」 - 「管理者向けプロセス一覧画面」に「XXX番目のFROM日時変数の値」「XXX番目のTO日時変数の値」を加筆しました。
「一覧画面リクエストパラメータ」 - 「タスク管理一覧画面」の「作成日時」「期限日時」に「時刻リクエストパラメータ」を加筆しました。
「一覧画面リクエストパラメータ」 - 「プロセス一覧画面」を加筆しました。
「プロセス一覧」画面の追加に伴い、「一覧画面リクエストパラメータ」 - 「管理者向けプロセス一覧

画面」をリネームしました。
2024-04-01

第18版 下記を修正・加筆しました。
「REST API」に「差配管理」を加筆しました。
「ジョブ一覧」の「ジョブ一覧」に「履歴・コメントモジュールの登録」「評価観点集計」を加筆しました。
「履歴・コメントモジュールの登録」 のページを追加しました。
「評価観点集計」 のページを追加しました。

7

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

はじめに
項目
本書の目的
対象読者
本書の構成

本書の目的
本書ではIM-BPM for Accel Platformの機能概要と仕組みの詳細について説明します。
説明範囲は以下のとおりです。
IM-BPM for Accel Platformの概要と用語
IM-BPM for Accel Platformの機能仕様および機能詳細

対象読者
本書では次の開発者を対象としています。
IM-BPM for Accel Platformの仕組みを理解したい
IM-BPM for Accel Platformを利用して処理を実装したい
IM-BPM for Accel Platformと連携した機能を実装したい
なお、本書では次の内容を理解していることが必須となります。
intra-mart Accel Platformを理解している

本書の構成
本書は次の構成となっています。

概要
IM-BPM for Accel Platformの全体像、および、本書で利用する用語について説明します。

機能仕様
IM-BPM for Accel Platformの提供する各機能の詳細な仕組みについて説明します。

8

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

概要
項目
IM-BPM for Accel Platform とは
用語

IM-BPM for Accel Platform とは
IM-BPM for Accel Platformとは、intra-mart Accel Platform上で業務プロセスを実行することが可能なアプリケーションです。
IM-BPM for Accel Platformの特徴は以下の通りです。
BPMN2.0形式に対応した業務プロセスを実行できます。
IM-FormaDesignerと連携し、システムに必要となる画面と簡単に連携できます。
IM-LogicDesignerと連携し、システム間連携等の業務ロジックを簡単に呼び出すことができます。
IM-BPM for Accel Platformでは、IM-Workflow/IM-BISと連携し、複数のワークフローを含めた業務プロセスを管理できます。
作成した業務プロセスは、その業務プロセスの実行方法をモニタリングできます。
これにより業務プロセスの見直しを図り改善につなげることが可能です。
作成した業務プロセスはREST APIにより外部システムから呼び出すことができます。

用語
BPMN
ビジネスプロセスモデリング表記法 (Business Process Modeling Notation) を指します。
IM-BPM for Accel Platformでは、BPMN2.0に対応しています。

プロセスダイアグラム
BPMNにより記述された業務プロセス図を指します。

プロセス定義業務プロセスの定義した単位を指します。
BPMN2.0により記述されたダイアグラム図、および、その実行に必要な情報を含みます。
プロセス定義は、バージョンによる管理が行われます。

プロセス定義キー
業務プロセスに対し付与された一意となるIDです。

プロセス定義ID
デプロイされたプロセス定義に対し一意に割り当てられるIDです。
プロセス定義IDはデプロイ時に決定されるため任意のIDを割り当てることはできません。
プロセス定義IDのフォーマットは {プロセス定義キー}:{バージョン番号}:{自動採番されたID} です。

カテゴリ
プロセス定義をカテゴライズするために利用します。
カテゴリはBPMN2.0 (XML) 内で名前空間として利用されます、その為URI形式で設定することを推奨します。
例: http://www.intra_mart.jp/bpmn/MY_CATEGORY

プロセスインスタンス
プロセス定義を元とし、実行されたインスタンスを指します。

9

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
一つのプロセス定義に付き複数のプロセスインスタンスが存在します。
プロセスインスタンスの実行元となるプロセス定義、および、そのバージョンは固定です。
プロセス定義（バージョンを含む）を元に実行されたプロセスインスタンスは終了するまで同じプロセス定義、バージョンで実行されます。

プロセスインスタンスID
プロセスインスタンスに付与されるIDです。
日付をベースとした一意となるIDが付与されます。

業務キー
プロセスインスタンスに付与可能な一意となるキーです。
プロセスインスタンスIDが自動的に採番されるIDであるのに対して、業務キーは任意のキーを設定することが可能です。
以下の方法により業務キーを登録できます。
プロセス開始時の確認ダイアログでの入力
開始イベントに設定したIM-FormaDesignerのアプリケーションにて、フィールド識別IDを bpm_business_key とした画面アイテムでの入力
APIによる登録

エグゼキューション
プロセスインスタンスに含まれる実行単位を指します。
並列(Parallel Gateway)等が含まれるプロセス定義等、プロセスインスタンスに含まれる並列に実行される一つ一つの単位をエグゼキューショ
ンと表現します。
詳細は「プロセスの実行」-「エグゼキューション」を参照してください。

デプロイメント
プロセスデザイナにより作成されたプロセス定義をデプロイした単位を指します。
一つのデプロイメントには複数のプロセス定義が含まれる場合があります。

タスク
プロセスインスタンスが、ユーザタスクアクティビティに到達した場合、タスクが生成されます。
タスクは、担当者、処理対象ユーザ、処理対象ロールを設定できます。
担当者が割り当てられていない状態を表現するグループタスクと、担当者が割り当てられている個人タスクが存在します。

グループタスク
担当者が設定されていない状態のタスクを指します。
グループタスクに、担当者を設定することにより個人タスクへ状態が移行します。

個人タスク担当者が設定された状態のタスクを指します。
担当者が設定されているタスクは、その担当者以外操作を行うことはできません。

オプショナルタスク
プロセスインスタンスの実行の流れとは関係なく、ユーザの判断で任意に追加可能なタスクを指します。
プロセスデザイナで「オプショナル」設定をオンにしたフローエレメントが、オプショナルタスクとして扱われます。
オプショナルタスクは、プロセスインスタンスの関係者が「タスク追加」画面から追加できます。

アドホックタスク
オプショナルタスクと同様に、プロセスインスタンスの実行の流れとは関係なく、ユーザの判断で任意に追加可能なタスクです。
アドホックタスクはプロセスデザイナ上でフローエレメントとして定義する必要はありません。
そのため、プロセス定義作成時には想定していなかった業務をタスク化して取り扱うことができます。
アドホックタスクは、プロセスインスタンスの関係者が「タスク追加」画面から追加できます。

10

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
追加されたアドホックタスクを他のユーザに割り当てることで、処理するまでの間に複数人のユーザが閲覧・編集することが可能です。

11

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

機能仕様
権限
IM-BPM for Accel Platformの権限について説明します。

項目
ロール
認可
関係者権限

ロール
IM-BPM for Accel Platformでは、標準で以下の4つのロールが用意されています。
IM-BPM管理者
IM-BPMユーザ
IM-BPMプロセス参照ユーザ
IM-BPM開発者

IM-BPM管理者 (im_bpm_manager)
IM-BPM for Accel Platformに関するすべての権限を有するロールです。
プロセスの管理からREST APIの呼び出しまですべての権限を有しています。

IM-BPMユーザ (im_bpm_user)
IM-BPM for Accel Platformを利用者を想定したロールです。
IM-BPMユーザは、IM-BPM管理者により用意された業務プロセスを実施する役割を持ちます。
IM-BPMユーザは、業務プロセスに対する操作、参照する権限は有していません。
IM-BPMユーザはタスクに関する操作のみがおこなえます。

IM-BPMプロセス参照ユーザ (im_bpm_process_reference_user)
IM-BPM管理者により用意された業務プロセスを参照する権限を有したロールです。
IM-BPMユーザロールと組み合わせて利用することを想定しています。
IM-BPMユーザロールと組み合わせることにより、実行されたプロセスインスタンスに対して以下のことを行うことができます。
履歴の参照
業務プロセス図の参照
オプショナルタスクの追加

IM-BPM開発者 (im_bpm_developer)
プロセスデザイナを利用してプロジェクトおよびプロセスを開発する権限を有したロールです。
プロジェクトに対して特定のサブジェクト（会社・組織・ロールなど）に認可を設定しておき、そのサブジェクトとIM-BPM開発者ロールを組み合わせて利用することを想定しています。
IM-BPM開発者は、自分の所属会社・組織などに応じて、許可されたプロジェクトについて許可された処理を行うことができます。

認可
IM-BPM for Accel Platformでは、以下の4種類のリソース種別が用意されています。
IM-BPM REST API
画面・処理
IM-BPM プロセスデザイナ プロジェクト
IM-BPM プロセスデザイナ REST API

IM-BPM REST API

12

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
IM-BPM for Accel Platformが提供するREST APIに関する認可リソース種別です。
IM-BPMに関するREST APIに関する権限設定を行うことが可能です。

コラム
Swagger UIを利用してAPIを実行する。
IM-BPM REST APIは全てWeb API Makerを利用しています。
その為、REST APIに対するSwagger定義が参照できます。
Swagger UIを利用することにより IM-BPMで提供されているAPIを画面上から確認、実行することが可能です。
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/swagger_ui/?url=/{CONTEXT_PATH}/api-docs/im_bpm_rest へアクセスすることにより確認がおこなえます。
※ プロトコル、HOST, PORT, CONTEXT_PATHは環境に合わせて置換してください。

注意
REST APIの権限に関して
IM-BPMが提供する画面はAjaxによりREST APIの呼び出しが行われています。
その為、REST APIの認可の設定次第では正常に画面が表示されなくなる場合があります。

画面・処理
IM-BPM for Accel Platformが提供する画面に関するリソース種別です。
IM-BPM for Accel Platformデフォルトでは上記ロール、および、テナント管理者に対して認可設定が行われています。
プロセスデザイナについては、デフォルトではIM-BPM管理者とIM-BPM開発者に対して認可設定が行われています。

IM-BPM プロセスデザイナ プロジェクト
プロセスデザイナが提供するプロジェクトに関するリソース種別です。
プロジェクト別に設定し、IM-BPM開発者に対してどのプロジェクトのどのアクションを許可するかの権限設定を行うことが可能です。
以下の4つのアクションを保持しています。
管理
編集
デプロイ
参照
IM-BPM管理者に対しては、デフォルトで全てのプロジェクトの全てのアクションが許可されています。

IM-BPM プロセスデザイナ REST API
プロセスデザイナが提供するREST APIに関する認可リソース種別です。
プロセスデザイナ画面から呼び出されるREST APIに関する権限設定を行うことが可能です。

関係者権限
IM-BPM for Accel Platformでは、ユーザがプロセスインスタンスの関係者であるか、権限を確認する機構が用意されています。
IM-BPM管理者でないユーザが、プロセスインスタンスの関係者ではない場合、プロセスインスタンスの履歴画面や参照画面にアクセスした際にエラーが発生します。
また、IM-BPMユーザ/IM-BPMプロセス参照ユーザ向けの該当するREST APIにおいても、プロセスインスタンスの関係者ではないユーザが実行した際にエラーを返却します。

コラム
プロセスインスタンスについては、「プロセスインスタンス」 を参照してください。
ユーザがプロセスインスタンスの関係者になるには、以下の4つの契機が存在します。
担当者
処理対象ユーザ/処理対象グループ
開始者
参加者/参加グループ

13

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
担当者
タスクの担当者になったユーザは、そのタスクを含むプロセスインスタンスの関係者として扱われます。
タスクが完了したあとも、プロセスインスタンスの関係者のままです。

コラム
タスクについては、「タスク」 を参照してください。

処理対象ユーザ/処理対象グループ
タスクの処理対象ユーザになったユーザは、そのタスクを含むプロセスインスタンスの関係者として扱われます。
同様に、タスクの処理対象グループになったグループは、そのタスクを含むプロセスインスタンスの関係グループとして扱われます。
タスクが完了したあとも、プロセスインスタンスの関係者/関係グループのままです。
関係グループに所属しているユーザは、関係者権限チェックにおいて関係者と同等の権限を持つものとして扱われます。

開始者
プロセスインスタンスを開始したユーザは、そのプロセスインスタンスの関係者として扱われます。

参加者/参加グループ
プロセスインスタンスの進行状況とは独立して、プロセスインスタンスの参加者/参加グループという役割が存在します。
処理対象ユーザ/処理対象グループなどに指定されていない任意のユーザ/グループを、プロセスインスタンスに関係させるために用いることを想定しています。
プロセスインスタンスの参加者は、プロセスインスタンスの関係者として扱われます。
同様に、プロセスインスタンスの参加グループは、プロセスインスタンスの関係グループとして扱われます。
IM-LogicDesigner に用意されている以下のタスクを実行することで、任意のユーザ/グループをプロセスインスタンスの参加者/参加グループに追加することが可能です。
プロセスインスタンスの参加者の追加
プロセスインスタンスの参加グループの追加
関係グループに所属しているユーザは、関係者権限チェックにおいて関係者と同等の権限を持つものとして扱われます。

コラム
IM-LogicDesignerの詳細については、「IM-LogicDesigner仕様書」 を参照してください。
個別のタスクの詳細については、「付録」 - 「タスク一覧」 配下の以下のページを参照してください。
プロセスインスタンスの参加者の追加
プロセスインスタンスの参加グループの追加

デプロイメント
デプロイメントの仕様について説明します。

項目
永続化
クラスローダアンデプロイ

永続化
IM-BPM for Accel Platformに対してデプロイを行った場合、デプロイされた情報は全てデータベースに永続化されます。

14

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム
ストレージの利用
IM-BPM for Accel Platformでは、テナント環境セットアップ用の資材を除いてストレージを使用していません。

クラスローダ
IM-BPM for Accel Platformではデプロイメント単位にクラスローダが用意されます。
これにより、同一デプロイメントにおいてサービスタスク等のプログラムが関連するプログラムの共有が可能です。
クラスローダが用意されるタイミングは、そのデプロイメントに関するリソースに対するアクセスが発生したタイミングとなります。
したがって、プロセス定義の参照や、プロセスインスタンスの実行等が行われなかった場合にはクラスローダが作成されることはありません。

リソースの展開先
クラスローダはそのクラスローダを生成する直前に、デプロイメントに含まれるリソースを以下の場所に展開します。
{Webアプリケーション配備先}/WEB-INF/work/_jar/{テナントID}/{デプロイメントID}配下
アンデプロイ時にはディレクトリを含めて削除が行われます。

注意
デプロイメントに含まれるリソースに関してデプロイメントに含まれるjarファイル等は全て展開された状態となります。
したがって、複数のjarに同一のリソースは含めないようにしてください。
また、直接配備先ディレクトリ配下のファイルを編集、差し替えは行わないでください。

コラム
配備先ディレクトリの削除
アプリケーションサーバが停止している状態であれば配備先ディレクトリは削除することが可能です。
削除後、デプロイメントされたリソースに対する参照が行われたタイミングで再度配備が行われます。

リソースの配置先に関して
デプロイメント用のクラスローダは、親クラスローダとしてWebアプリケーションの持つクラスローダが設定されています。
その為、実行プログラム(Javaクラス、ルール定義)は、デプロイメントに含めず、アプリケーションとして配備することも可能です。
アプリケーションとして事前に作成、配備する場合にはeBuilder等を用いてIM-Jugglingユーザモジュールを作成しwarファイルに含めてください。

アンデプロイアンデプロイが行われた場合、デプロイしたリソースに関する実行情報、履歴も共に削除されます。
その為、デプロイメントに含まれていたプロセス定義、及びプロセスインスタンスは全て削除されます。
プロセス定義を無効化する目的の場合には、プロセス定義自体を無効化してください。

アンデプロイされたプロセスインスタンスとCallActivity
アンデプロイ時にプロセス定義、プロセスインスタンスが削除されますが、別のデプロイメント、別のプロセスインスタンスからCallActivityを利用してアンデプロイ対象となったプロセスインスタンスを呼び出していた場合、呼び出し元のプロセスは呼び出し先のフロー完了待ちとなり待機状態となります。
この状態を回避する場合には、プロセスインスタンスのマイグレーション機能を利用し、該当のCallActivityに待機しているプロセスインスタン
スの移行を行ってください。

プロセス
プロセスについて説明します。

15

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目
プロセス定義プロセスインスタンス

プロセス定義業務プロセスの定義した単位を指します。
BPMN2.0により記述されたダイアグラム図およびその実行に必要な情報を含みます。

プロセス定義キー
業務プロセスに対し付与されたキーです。
プロセス定義キーは複数のバージョンのプロセス定義を跨って一意です。

バージョニング
業務プロセスは複数のバージョンを持ちます。
同一のプロセス定義キーは、同一プロセス定義とみなし新しいプロセス定義がデプロイされたタイミングで新しいバージョンとして登録されます。
バージョンを指定せず業務プロセスを開始する場合は常に最新バージョンが実行されます。

プロセス定義ID
デプロイされたプロセス定義に対し一意に割り当てられるIDです。
プロセス定義IDはデプロイ時に決定されるため任意のIDを割り当てることは出来ません。
プロセス定義IDのフォーマットは {プロセス定義キー}:{バージョン番号}:{自動採番されたID} です。
このプロセス定義IDは主にAPI等を利用して業務プロセスを開始させる場合に利用されます。

プロセス定義名
プロセス定義を表す名称です。

注意
プロセス定義の多言語化に関して
プロセス定義名は単一の項目として扱います。
その為、多言語化には対応していません。

カテゴリ
プロセス定義をカテゴライズするために利用します。
カテゴリはBPMN2.0（XML）内で名前空間として利用されます、その為URI形式で設定することを推奨します。
例: http://www.intra_mart.jp/bpmn/MY_CATEGORY

注意
カテゴリの多言語化に関して
カテゴリは単一の項目です。
その為、多言語化には対応していません。

状態
プロセス定義は以下の状態を持ちます。
有効
無効
無効状態のプロセス定義は新規に業務プロセスの開始は行えません。
既に実行中の業務プロセスは処理を行うことができます。

16

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
権限プロセス定義は、そのプロセス定義を開始可能な権限情報を持ちます。
権限は、以下の2種類の設定が行えます。
ロール
ユーザコードそれぞれの権限は、OR条件にて判断されます。
また、権限はカンマにより区切ることにより複数設定可能です。

プロセスインスタンス
プロセス定義を元とし、実行されたインスタンスを指します。
一つのプロセス定義につき複数のプロセスインスタンスが存在します。
プロセスインスタンスの実行元となるプロセス定義およびそのバージョンは固定です。
プロセス定義（バージョンを含む）を元に実行されたプロセスインスタンスは終了するまで同じプロセス定義、バージョンで実行されます。

コラム
後述するプロセスマイグレーション機能を利用することにより実行中のプロセスインスタンスを別バージョンに移行できます。

プロセスインスタンスID
プロセスインスタンスに付与されるIDです。
日付をベースとした一意となるIDが付与されます。

注意
プロセスインスタンスIDの採番方法を別の方法に変更することは出来ません。

業務キー
プロセスインスタンスに付与可能な一意となるキーです。
プロセスインスタンスIDが自動的に採番されるIDであるのに対して、業務キーは任意のキーを設定できます。
以下の方法により業務キーを登録できます。
プロセス開始時の確認ダイアログでの入力
開始イベントに設定したIM-FormaDesignerのアプリケーションにて、フィールド識別IDを bpm_business_key とした画面アイテムでの入力
APIによる登録

コラム
プロセス開始時の確認ダイアログでの入力については、プロセス定義の設定により入力有無を変更できます。
業務キーの入力有無の設定に関しては、「IM-BPM プロセスデザイナ 操作ガイド」を参照してください。

変数
プロセスインスタンスは、その業務プロセスで利用される任意の変数を格納できます。
変数として利用可能な型は以下の通りです。
string文字列です、4000バイト以内の文字列の場合は、一覧画面等から検索として利用できます。
4000バイトを超えた場合には、データベース上のBLOBカラムに格納される為検索を行うことは出来ません。
integer
数値型です。
java.lang.Integer型に相当します。
short

17

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
数値型です。
java.lang.Short型に相当します。
long
数値型です。
java.lang.Long型に相当します。
double数値型です。
java.lang.Double型に相当します。
boolean
数値型です。
java.lang.Boolean型に相当します。
date
日付型です。
java.util.Date型に相当します。
serializable
上記データ型に該当しない場合には、serializableとみなし扱われます。
このデータ型の場合、変数を用いた検索には利用できません。
java.io.Serializableインタフェースを実装したデータ型のみ格納できます。

変数スコープ変数は2種類のスコープを持ちます。
プロセスインスタンス
プロセスインスタンス内からアクセス可能なスコープです。
主に、アクティビティ間でのデータの受け渡し等が必要となる場合にはこのスコープを利用します。
タスク
タスク、アクティビティに閉じたスコープの変数です。
特定のアクティビティの実行結果等を永続化する場合等に利用します。

注意
変数の数に関して変数に上限は存在しませんが、変数の内容はデータベース上に格納されます。
変数が多い場合、レコード数が相対的に増えるためパフォーマンスに影響を与える可能性があります。
変数が多い場合には業務で利用されるキーのみを変数として扱う、または複数の変数を直列化可能なjava.util.Map型等のオブジェ
クトに格納しserializable型の変数として扱う等の検討を行ってください。

履歴
プロセスインスタンスの実行履歴です。
履歴は全てデータベースに永続化されます。
履歴には、以下の5種類が存在します。
プロセスインスタンス履歴
プロセスインスタンス自身の開始、終了に関する履歴です。
変数履歴
プロセスインスタンス変数、またはタスク変数操作に関する履歴です。
常に最新の変数情報の履歴のみが永続化されています。
アクティビティ履歴
プロセスに含まれるアクティビティに関する履歴です。
アクティビティに対する到着時間と処理完了までの間隔等が保存されています。

18

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
タスク履歴
ユーザタスク、またはワークフロー連携タスクに関する履歴です。
タスクに対する処理者、到着時間と処理完了までの間隔等が保存されています。
詳細履歴
変数履歴と違い、変数に対する操作を含めた全ての履歴です。
この詳細履歴はデフォルトの設定では無効です。
この履歴は非常にレコード数が膨大となるため、運用環境等では注意が必要です。

コラム
履歴は、設定ファイルによる履歴レベル設定により内容が変化します。
履歴は”none”, “activity”, “audit”（デフォルト）, “full”の設定が可能です。
履歴に”none”、”activity”を設定した場合、一部の画面からその履歴情報が閲覧できなくなるため注意が必要です。

注意2016 Summer(Nirvana)時点では、audit以外の履歴レベルでは一部の画面が正常に表示できません。
その為、履歴レベルの変更は行わないでください。

関係者
プロセスインスタンス内のタスク等を処理したユーザは、プロセスインスタンスの関係者として記録されます。
プロセスインスタンスの関係者は、タスクの処理履歴、プロセスインスタンスの履歴等に対して参照が行えます。

コラム
関係者の権限の詳細は、「関係者権限」 を参照してください。

タスク
IM-BPM for Accel Platformのタスクについて説明します。

項目
属性
タスクの状態属性
タスクは以下の属性を持ちます。
ID
タスクを一意に識別するためのIDです。
名前
タスク名です。
タスク名はEL式による埋め込みが評価された結果の内容が格納されます。
説明
タスクに関する詳細です。
担当者
タスク担当者です、ユーザが一人だけ担当者として設定することが可能です。
優先度
優先度です、数値にて設定します。
デフォルトは50です。
期限
有効期限です。
有効期限は表示情報としてのみ利用され、プロセスの実行に影響は与えません。
プロセスの実行に対して有効期限を制御したい場合には、タイマー境界イベントを利用します。
画面上では利用していません。
処理対象ユーザ

19

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
処理対象ユーザです。
カンマ区切りで複数のユーザを指定できます。
処理対象グループ
処理対象グループです。
カンマ区切りで複数のグループを指定できます。
IM-BPM for Accel Platformでは、ロールを利用できます。

タスクの状態IM-BPM for Accel Platformでは、タスクの状態を以下の2つの状態として扱います。
担当者が未設定の場合担当者が未設定のタスクは、グループタスクとして扱われます。
グループタスクは、処理対象ユーザ、または処理対象グループ（ロール）を持つユーザから参照されます。
グループタスクは、そのタスクを直接処理することは出来ません。
担当者が設定されている場合
担当者が設定されているタスクは、個人タスクとして扱われます。
担当者として設定されているユーザ以外は、そのタスクを操作することは出来ません。
個人タスクは、タスクを処理できます。
個人タスクは担当者を未設定に変更しグループタスクとする事ができます。

プロセスの実行プロセスの実行に関する仕様について説明します。

項目
トランザクション
エグゼキューション
ジョブ

トランザクション
プロセスを処理する際のデータベーストランザクションは、JTA(Java Transaction API)を用いて制御されます。

図：呼び出し元がトランザクションを開始している場合のイメージ
プロセスの処理時に、処理の呼び出し元（上図中ではCaller (Existing Transaction)）が明示的にトランザクションを開始している場合には、そのトランザクションが継続して利用されます。
この場合には、プロセスの処理内でコミットまたはロールバックが実施されず、呼び出し元の処理にトランザクションの制御が移譲されます。例
えば、プロセスの処理が正常に実行された場合でも、呼び出し元の処理によりロールバックが実施された場合は、プロセスの処理結果もロールバックされます。

20

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
注意プロセスの処理内で例外が発生した場合
プロセスの処理内で例外が発生した場合には、UserTransaction#setRollbackOnly()が実行されるため、処理の呼び出し元にてコミットを実施することはできません。

図：呼び出し元がトランザクションを開始していない場合のイメージ
プロセスの処理の呼び出し元にてトランザクションが開始されていない場合には、プロセスの処理内部でトランザクションの開始およびコミット
またはロールバックが実施されます。

トランザクションの範囲
データベーストランザクションの範囲は、プロセス定義の設定内容により変わります。
待機を伴うアクティビティ、非同期実行オプションが設定されたアクティビティがトランザクションの開始／終了の境界地点であり、それらの地
点の間のアクティビティの実行が1トランザクションの範囲です。
待機を伴うアクティビティは以下の内容を指します。
ユーザタスク
受信タスク
コールアクティビティ※ただし、呼び出し先のプロセス内に待機を伴うアクティビティが含まれる場合のみ
イベントゲートウェイ
シグナルキャッチイベント
メッセージキャッチイベント
タイマキャッチイベント
申請タスク
起票タスク
また、次節で説明する非同期処理（非同期実行オプションが設定されたアクティビティ）では、プロセスを実行しているスレッドとは異なるス
レッド（バックグラウンドスレッド）が処理を行います。これはコールアクティビティの呼び出し先のプロセス内に非同期処理がある場合でも同
様です。

21

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
図：トランザクション境界のイメージ
項番

説明

1

待機を伴うアクティビティ（ユーザタスク）に到達したため、トランザクション1が終了

2

ユーザ操作（住所の入力）

3

ユーザ操作（住所の入力）によりアクティビティの待機が解除され、トランザクション2を開始

4

待機を伴うアクティビティ（タイマキャッチイベント）に到達したため、トランザクション2が終了

5

ユーザ操作（住所の入力）の結果として発生したトランザクションが確定し、応答を返却

非同期処理
アクティビティには、非同期実行オプションが設定可能です。
待機を伴うアクティビティに該当しないアクティビティでも、非同期実行オプションが設定されている場合、トランザクションの開始／終了の境界地点として扱われます。
非同期実行は、バックグラウンドスレッド（分散環境時においてはプロセスの実行を行っているAPサーバ上のスレッドとは限りません）で実行されます、その為トランザクションは別途制御されます。
バックグラウンドスレッドの詳細については、後述の「ジョブ」の非同期ジョブ実行管理スレッドの項を参照してください。

図：非同期実行設定のプロセス実行イメージ
項番

説明

1

待機を伴うアクティビティ（ユーザタスク）に到達したため、トランザクション1が終了

2

ユーザ操作（住所の入力）

3

ユーザ操作（住所の入力）によりアクティビティの待機が解除され、トランザクション2を開始

4

非同期実行オプションが設定されたアクティビティに到達したため、バックグラウンドスレッドに処理を委譲するメッセージを登録し、トランザクション2を終了

5

ユーザ操作（住所の入力）の結果として発生したトランザクションによる処理の結果を返却

6

処理委譲のメッセージを取得したバックグラウンドスレッドがトランザクション3を開始

7

待機を伴うアクティビティ（タイマキャッチイベント）に到達したため、トランザクション3が終了

順次実行制御（排他制御）と同時実行制御（非排他制御）
非同期実行オプションを設定した場合、排他制御オプションを設定可能です。
プロセスインスタンス内で並列に配置されているアクティビティに排他制御が設定されている場合、排他制御が設定された処理同士が同時に実行されることはありません。
下記の例では、「ホテルの予約」、「飛行機の予約」、「コンサートチケットの予約」が非同期（バックグラウンドスレッド）で実行されます
が、一つの処理が実行されている間は他の処理の実行が抑止されるため、「ホテルの予約」、「飛行機の予約」、「コンサートチケットの予約」
が同時に実行されることはありません。なお、処理の実行順序は保証されません。

22

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：排他制御の非同期実行オプションを設定したプロセス実行イメージ

コラム
順次実行制御（排他制御）の範囲
順次実行制御（排他制御）にて制御を行える範囲は、プロセスインスタンス内のみです。他のプロセスインスタンスに対しては排他の制御はおよびません。同一のプロセス定義から生成された他のプロセスインスタンスであっても制御の範囲外です。
プロセスインスタンスについての詳細は「プロセスインスタンス」を参照してください。
プロセス定義についての詳細は「プロセス定義」を参照してください。
非同期実行オプションを設定した場合、非排他制御オプションを設定することも可能です。
非排他制御が設定されている場合、一つの処理を実行している間でも、他の処理の実行を抑止しません。そのため、複数のバックグラウンドス
レッドが処理を行える状態であった場合、非排他制御が設定されたアクティビティはそれぞれ別のバックグラウンドスレッドにより同時に実行されます。
下記の例では、「ホテルの予約」、「飛行機の予約」、「コンサートチケットの予約」がそれぞれ別のバックグラウンドスレッドにより同時に実行されます。

図：非排他制御の非同期実行オプションを設定したプロセス実行イメージ

注意
非排他制御の設定
非排他制御の非同期実行オプションを設定しプロセスの実行を行うと、複数のバックグラウンドスレッドにより並列に処理を行うことができますが、各トランザクションが複数のテーブルへ同時に更新を行った場合などで、お互いに待ち状態となってしまった場合（デッドロック）、プロセスの実行状態が次に進めず、待ち状態に留まります。
非排他制御の非同期実行オプションを設定する際には、十分な検討を行ってください。

23

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
エグゼキューション
プロセスインスタンスに含まれる実行単位を指します。
例えば、パラレルゲートウェイによって並列に分岐しているプロセスインスタンスの場合、それぞれの分岐先で実行中のアクティビティが存在します。このようなプロセスインスタンスに存在する個々の実行単位をエグゼキューションと表現します。
エグゼキューションはそれぞれ実行中のアクティビティの位置を表します。

コラム
エグゼキューションIDの取得
エグゼキューションIDは、EL式より取得できます。
${execution.id} と記述する事により取得できます。
取得したエグゼキューションIDはメッセージキャッチイベントや変数の操作時に利用します。
EL式および暗黙オブジェクトについては後述のEL式についてを参照してください。

エグゼキューションの例
直列のプロセス
下記は直列なプロセスで、エグゼキューションが1つ（1.メッセージキャッチイベント）存在します。

図：直列のプロセス

並列のプロセス
下記は同時並行に分岐しているプロセスで、エグゼキューションが2つ（1.ユーザタスク、2.メッセージキャッチイベント）存在します。

図：同時並行で分岐しているプロセス

スコープエグゼキューション
並列のプロセスの場合など、個々のエグゼキューションの他にその親となるエグゼキューション（スコープエグゼキューション）が存在する場合があります。スコープエグゼキューションはプロセスインスタンスの内部的な状態を管理するためのものであり、実行中のアクティビティの位置を表すものではありません。

変数のスコープ24

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
エグゼキューションは変数のスコープであり、エグゼキューションにひもづく任意のローカル変数を定義できます。
エグゼキューション変数を利用することで、エグゼキューションに関連した業務データを格納することが可能です。格納した業務データを検索条
件に外部からエグゼキューション（エグゼキューションID）を検索することが可能です。

ジョブ
ジョブはバックグラウンドで処理が行われる単位です。
IM-BPM for Accel Platformでは、プロセスエンジン単位でバックグラウンド実行用のジョブ管理スレッドが起動します。
非同期ジョブ実行管理スレッド
非同期ジョブの実行を管理するスレッドです。
設定において定められた時間間隔でジョブテーブルを監視し、条件の成立する非同期ジョブが存在した場合、そのジョブを別スレッドで実行します。
タイマ実行管理スレッド
タイマが設定されたジョブを管理するスレッドです。
設定において定められた時間間隔でジョブテーブルを監視し、条件の成立するジョブが存在した場合、そのジョブを別スレッドで実行します。
ジョブ実行は、ジョブ取得時にロックされていないジョブを対象とします。
ジョブ実行直前に、そのジョブに対してロックを行います。 （ジョブレコードの更新）
ジョブのロックは、楽観的排他制御を用いて行われます。
また、ジョブ実行中に何らかの例外が発生した場合、ジョブの実行に失敗したという内容をデータベースへコミットします。
その上で、ジョブ管理スレッドは指定された回数ジョブの実行をリトライし、指定回数分リトライに失敗した場合、それ以上リトライを行いません。

図：何らかの例外が発生し、リトライを行った場合のイメージ
項番

説明

1

待機を伴うアクティビティ（ユーザタスク）に到達したため、トランザクション1が終了

2

ユーザ操作（到着時間の確定）

3

ユーザ操作（到着時間の確定）によりアクティビティの待機が解除され、トランザクション2を開始

4

非同期処理（バックグラウンドスレッド）にて、予約可能なレストランを自動で確認し予約処理を行ったが、どのレストランも予約が失敗したため、サービスタスク（レストランの予約）の実行に失敗したという内容でジョブレコードを更新

5

一定時間毎に指定された回数（この例では2回）に達するまでサービスタスク（レストランの予約）の実行をリトライ

6指定された回数リトライを行っても、サービスタスク（レストランの予約）の実行が成功しなかったため、サービスタスク（レストランの予約）の再実行のトリガを待機コラム
ジョブの実行環境
分散環境時においては、ジョブはどのサーバ上で動作するか保証はされていません。

25

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム
ジョブのトランザクション制御
ジョブ実行時のスレッドは、JavaEEコンテキストが存在するスレッドにて動作します。その為、JTA等を利用したデータベーストラ
ンザクションの管理が可能です。

マイグレーション
プロセスマイグレーションについて説明します。

項目
概要
マイグレーションを行う際の条件
マイグレーションを行うことができないプロセス定義

概要
マイグレーション機能は、実行中のプロセスインスタンスを別のプロセス定義のプロセスインスタンスとして移行する為の機能を提供します。

マイグレーションを行う際の条件
マイグレーション先として指定可能なアクティビティ
マイグレーション先として指定可能なアクティビティは以下の通りです。
アブストラクトタスク
ユーザタスクスクリプトタスク
サービスタスク
メールタスク
IM-LogicDesignerタスク
申請タスク
起票タスク
マニュアルタスク
受信タスク
コールアクティビティ
ビジネスルールタスク
サブプロセス
イベントゲートウェイ
タイマーキャッチイベント
シグナルキャッチイベント
メッセージキャッチイベント
シグナルスローイベント
無処理イベント

コラム
アクティビティがオプショナルタスクである場合については、「 オプショナルタスク 」 - 「 マイグレーション 」 を参照してくだ
さい。
アドホックタスクである場合については、「 アドホックタスク 」 - 「 マイグレーション 」 を参照してください。

変数
マイグレーション実行前、とマイグレーション実行後におけるプロセスインスタンス変数はそのまま受け継がれます。
移行先のプロセス定義実行に必要な変数が不足している場合等は、直接変数を格納しているデータベースを修正する等の対応が必要です。
また、プロセス定義の変数は登録・更新が行われません。

26

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
リスナ
マイグレーション実行時における、リスナの動作は以下の通りです。
マイグレーション元
アクティビティのリスナは動作しません。
ユーザタスクのリスナは動作しません。
プロセス定義の終了リスナは動作しません。
マイグレーション先
プロセス定義の開始リスナは動作しません。
アクティビティの開始リスナは動作しません。
ユーザタスクの開始リスナは動作します。

移行不可能なアクティビティ先
マイグレーションにおいて、移行先として利用できないアクティビティは以下の通りです。
イベントサブプロセスへの移行は行えません。
イベントゲートウェイの遷移先として指定されているイベントに対しては移行できません。

非同期タスクマイグレーション先が非同期タスクの場合でも、非同期として処理は行われません。
これは移行のための履歴を作成するため同期処理として実行する必要があるためです。

マイグレーションを行うことができないプロセス定義
プロセスの定義によっては、マイグレーション先のプロセス定義として指定できない場合があります。
指定できない場合は、例を参考にプロセス定義を変更してください。
以下のケースが該当します。
ゲートウェイを使用せずに分岐している。

図：指定できない場合あり

図：改変例
パラレルゲートウェイ、または、包括ゲートウェイへ複数のシーケンスフローから遷移する場合に、分岐後の合流時以外で使用している。

図：指定できない場合あり

27

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：改変例

インポート/エクスポート
IM-BPM for Accel Platformのインポート/エクスポート機能について説明します。
インポート/エクスポートで扱う情報
ファイルフォーマット
インポート/エクスポート時の動作

インポート/エクスポートで扱う情報
インポート/エクスポートでは以下の情報を扱います。
デプロイメント
デプロイしたファイルです。デプロイファイル内に含まれる各資材を個別に扱うことはできません。
一覧表示設定「テナント」スコープで保存した各画面の一覧表示設定情報です。「ユーザ」スコープで保存された情報は対象外です。
プロセスデザイナ
プロセスデザイナで管理されるプロジェクトです。プロジェクトに含まれる各資材を個別に扱うことはできません。
プロセス一覧クエリ
プロセス一覧画面のクエリです。「パブリッククエリ」「プライベートクエリ」全てが対象です。

ファイルフォーマット
エクスポート機能では、以下のファイルをアーカイブ（zip）して出力します。
デプロイメント「deployment」フォルダに格納されます。
デプロイされた形式のままエクスポートファイルに含まれます。
一覧表示設定「listTableSetting」フォルダに格納されます。
ファイル名: im-bpm-listtable-setting.xml
プロセスデザイナ「wd_project」フォルダに格納されます。
プロセスデザイナで管理されるプロジェクト情報がエクスポートされます。
プロジェクトに含まれるプロセス定義やケース定義、および、リソースは、有効な情報のみエクスポートされます。履歴情報はエクスポートされません。
プロセス一覧クエリ「identitylink_searchpattern」フォルダに格納されます。
クエリの一覧や各クエリの定義内容がエクスポートされます。

インポート/エクスポート時の動作
IM-BPM for Accel Platformのインポート/エクスポート機能の動作仕様は以下の通りです。

エクスポート
エクスポート機能は、「ファイルフォーマット」に記載のフォーマットでIM-BPM for Accel Platformに関するデータを出力します。

28

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
インポート
インポート機能は、「ファイルフォーマット」に記載のフォーマットでアーカイブされたZIPファイルをもとに、アーカイブファイルに含まれるすべてのIM-BPM for Accel Platformに関するデータを取り込みます。

インポートが失敗した場合の動作
インポートが失敗した場合は、それまで行われたすべてのインポート処理がロールバックされます。

インポート先に同一プロセス定義キーのプロセス定義が存在する場合の動作
デプロイメントのインポートにおいて、既に同一のプロセス定義キーのプロセス定義がインポート先に存在する場合、インポート先のプロセス定義のバージョンが上がります。
インポートしたプロセス定義を最新バージョンとします。

インポート先に同一画面、かつ同一設定キーの一覧表示設定が存在する場合の動作一覧表示設定のインポートにおいて、既に同一画面、かつ同一設定キーの一覧表示設定がインポート先に存在する場合、インポート先の一覧表示
設定を上書きで更新します。

インポート先に同一プロジェクトIDのプロジェクトが存在する場合の動作
プロジェクトのインポートにおいて、既に同一プロジェクトIDのプロジェクトがインポート先に存在する場合、プロジェクト名などを上書きします。
プロジェクトに含まれるプロセス定義およびリソースは、同一の資材（システム内部で採番された番号が同一のもの）を除いて、上書きで更新します。

プロセス一覧クエリの注意事項
プロセス一覧クエリの認可設定
クエリのインポートを行った際、各クエリに対し「テナント管理者」・「IM-BPM管理者」ロール（※）の参照権を付与します。
※ より正確には認可設定の「画面・処理 - IM-BPM - プロセスインスタンス」の実行権があるサブジェクトが、クエリの参照権を付与する対象です。
上記以外の参照権は、インポート先の環境に合わせて付与してください。
プロセス一覧クエリのプロセス定義IDについて
プロセス定義IDはエクスポート元とインポート先では同値にならないため、プロセス定義IDの検索条件値を設定しているクエリはインポート後に検索条件値の見直しを行ってください。
プライベートクエリの利用者
プライベートクエリは、クエリ作成ユーザのユーザコードに紐づけられます。
プライベートクエリを利用するためには、インポート先にもクエリ作成ユーザと同じユーザコードを持つユーザが必要です。

画面連携
画面連携の仕様について説明します。

項目
画面連携についてフォームキー
詳細画面のURL
IM-FormaDesigner連携
スクラッチ画面連携
IM-BloomMaker画面連携
ユーザタスク処理者の取得

画面連携について
IM-BPM for Accel Platformでは、開始イベント、および、ユーザタスクの処理画面を自由に設定することが可能です。
以下に代表的な連携方式を示します。
IM-FormaDesignerにより作成された画面
IM-BloomMakerにより作成された画面

29

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
TERASOLUNA Frameworkにより作成された画面
スクリプト開発モデルにより作成された画面
フレームワークを利用せず、HTMLのみで構成された画面
チケットモジュールにより作成された、チケット画面
IM-BPM for Accel Platformでは、通常のユーザタスクに対しては、IM-FormaDesigner連携、および、その他の画面向けの2種類の連携方式を用意しています。
アドホックタスクに対してはチケットモジュール連携を用意しています。

フォームキー
開始イベント、および、タスクに設定するフォームキーに対し画面連携方式を設定することが可能です。
forma:{APPLICATION_ID}
IM-FormaDesignerと連携するための方式です。
“forma:”プレフィックスと共に、IM-FormaDesignerにより作成されたアプリケーションIDを設定してください。
また、”?”と共に、クエリ文字列の形式で、表示するIM-FormaDesignerのアプリケーションの履歴番号および、連携するプロセスインス
タンス変数を指定できます。
クエリパラメータとしてimfr_application_noを設定すると指定されたアプリケーション履歴のIM-FormaDesignerのアプリケーション実
行画面が表示されます。
imfr_application_noを設定しない場合、最新のアプリケーション履歴のIM-FormaDesignerのアプリケーション実行画面が表示されます。
変数連携の詳細については フォームの値と変数の連携 を参照してください。
以下のような形式です。
forma:{APPLICATION_ID}?imfr_application_no={APPLICATION_NO}&inputVariableNames={variableName1}&resultVariableName={variableName2}

注意
IM-FormaDesignerのアプリケーションの履歴番号の指定について
IM-FormaDesignerのアプリケーションの履歴番号は、2023 Autumn(Hollyhock)または、8.0.7-PATCH_001以降のバージョンから設定できます。
指定できるIM-FormaDesignerのアプリケーションの履歴は、IM-FormaDesignerのアプリケーション実行画面の呼び出し時点で有効である必要があります。

コラム
IM-FormaDesignerのアプリケーションの履歴について
IM-FormaDesignerのアプリケーションの履歴については、「IM-FormaDesigner 仕様書」-「アプリケーション履歴の仕様」を参照してください。
forward:{PATH}
スクラッチ画面、および、IM-BloomMakerで作成した画面と連携するための方式です。
“forward:”プレフィックスと共に、遷移先の画面パスを指定してください。
画面パスは必ず “/” から始まる必要があります。
例: https://example.org/imart/foo/bar 画面と連携する場合
forward:/foo/bar
redirect:{URL}
外部システムと連携するための方式です。
“redirect:”プレフィックスと共に、遷移先のURLを指定してください。
例: https://example.org/foo/bar 画面と連携する場合
redirect:https://example.org/foo/bar
ticket:{チケットマスタID}
チケットモジュールのチケット画面と連携するための方式です。
“ticket:”プレフィックスと共に、チケットマスタ管理により作成されたチケットマスタIDを指定してください。
アドホックタスクのみで使用できる方式です。
例: “ticket_master_id” というチケットマスタIDを指定する場合
ticket:ticket_master_id30

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
詳細画面のURL
フォームキーを設定している開始イベント、および、ユーザタスクに関しては、以下のURLを呼ぶことで開始画面や詳細画面に遷移できます。
プロセス開始画面
プロセスの開始画面を表示し、プロセスを開始できます。
％ベースURL％/bpm/task/form/{プロセス定義ID}?callbackPath={遷移先パス}
タスク処理画面「ユーザタスク」の処理画面を表示し、タスクを処理できます。
％ベースURL％/bpm/task/task/{タスクID}?callbackPath={遷移先パス}
プロセス開始詳細画面
プロセスが開始された「開始イベント」の詳細画面を表示します。
％ベースURL％/bpm/task/reference/form/{プロセスインスタンスID}
タスク詳細画面「ユーザタスク」の詳細画面を表示します。
％ベースURL％/bpm/task/reference/task/{タスクID}

コラム
プロセス定義IDについては、「プロセス定義ID」を参照してください。
タスクIDについては、「 タスク 」を参照してください。
プロセスインスタンスIDについては、 「プロセスインスタンスID」を参照してください。

注意
ベースURLを省略することで、相対パス形式でURLを指定できます。
例 : /bpm/task/reference/task/{タスクID}
URLは、絶対パスまたは相対パスで指定してください。
相対パスの指定は、詳細画面と詳細画面を開こうとしている環境のベースURLが同一の場合のみ利用可能です。

IM-FormaDesigner連携
IM-FormaDesignerにより作成された画面と連携を行うためには以下の条件が必要です。
アプリケーション種別が標準であること
テーブル設定が行われていること
権限設定が行われていること
IM-BPM for Accel Platformと連携する場合権限として “登録” と “参照” が必要です。

前処理と後処理
IM-FormaDesigner連携機能を利用する場合、必ずフォームに対するユーザプログラムとして前処理、後処理が必要です。
前処理: jp.co.intra_mart.activiti.extension.forma.BPMPreProcessExecutor
後処理: jp.co.intra_mart.activiti.extension.forma.BPMPostProcessExecutor
前処理の実行処理種別 “登録”、”編集”、”参照”と後処理の実行処理種別 “登録”、”更新”、”削除”、”一時保存”にユーザプログラムを登録する必要があります。
この前処理、後処理は IM-BPM for Accel Platformから呼び出されていない場合、何も処理を行いません。
前処理、後処理はプロセス定義がデプロイされた際に、自動的に登録が行われます。

注意
フォームキーにEL式が含まれている場合、前処理、後処理はデプロイ時に登録されません。
例: forma:${dynamicFormKey}
この場合には、事前に前処理、後処理を手動で登録する必要があります。
前処理では、以下の検証が行われます。
プロセス開始の場合、処理対象プロセスに設定された権限（ユーザ、ロール）を保持していない場合例外を通知する
タスク処理の場合、処理対象ユーザタスクに設定された権限（ユーザ、ロール）を保持していない場合例外を通知する
タスク実行履歴からの参照の場合、処理対象ユーザタスクに設定された権限（ユーザ、ロール）を保持していない場合例外を通知する

31

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
前処理では以下の処理が行われます。
プロセスインスタンスに格納されている変数情報を取得し、フォームの初期値として設定する。
フォームの初期値として利用されるプロセスインスタンス変数は、フォームに含まれるフィールド識別IDと同名の変数が利用されます。
後処理では、以下の検証が行われます。
プロセス開始の場合、処理対象プロセスに設定された権限（ユーザ、ロール）を保持していない場合例外を通知する
タスク開始の場合、処理対象ユーザタスクに設定された権限（ユーザ、ロール）を保持していない場合例外を通知する
後処理では、以下の処理が行われます。
プロセス開始の場合、{アプリケーションID}${アプリケーションの履歴番号}${FormaID}を業務キーとして設定する。
プロセス開始の場合、フォームに入力された内容をプロセスインスタンス変数として業務プロセスの開始を行う。
タスク処理の場合、フォームに入力された内容をプロセスインスタンス変数としてユーザタスクを進める。

コラム
タスク処理の場合以下のデータは変数として保存されません。
im_frで始まるデータ
im_で始まるデータ__が前後に付与されているデータ
上記のデータはユーザタスク固有のローカル変数として保存されます。

フォームの値と変数の連携
前処理・後処理の結果として、IM-FormaDesignerフォームの各アイテムの値とプロセスインスタンス変数は1対1にバインドされます。
フォームの画面を開いた際、各アイテムの初期値として、フィールド識別IDと同名のプロセスインスタンス変数の値が利用されるフォームが登録された際、各アイテムに入力された値が、フィールド識別IDと同名のプロセスインスタンス変数に保存される
ただし、フォームキーの最後に「 ? （クエスチョンマーク）」に続いて以下のクエリ文字列を記述した場合は、フォームの値は変数に個別にバインドされるのではなく、指定されたMap型の変数のフィールドにバインドされます。
初期値の連携（inputVariableNames）
フォームの画面を開いた際、各アイテムの初期値として、指定されたMap型変数内のフィールド識別IDと同名のフィールドの値が利用されます。
次の形式で指定します。
inputVariableNames={入力変数名1},{入力変数名2}, ...
入力結果の連携（resultVariableName）
フォームが登録された際、各アイテムに入力された値が、指定されたMap型変数内のフィールド識別IDと同名のフィールドに保存されます。
次の形式で指定します。
resultVariableName={結果変数名}
ただし、フィールド識別IDと同名の変数を、連携元の開始イベントまたはユーザタスクのフォームプロパティに設定している場合は、そちらが優先され、Map型変数内のフィールドではなく通常通り同名の変数に保存されます。
例： アプリケーションIDが xxxx 、フィールド識別IDが yyyy のとき、フォームキーを以下のように指定した場合
forma:xxxx?inputVariableNames=inputVar&resultVariableName=resultVar

アイテムの初期値として ${ inputVar.yyyy } の値が利用されます。
アイテムに入力された値は ${ resultVar.yyyy } にバインドされます。
プロセスインスタンス変数が大量に存在する場合、データベース上のレコード数の増加によりパフォーマンスの劣化を招くことがあります。
入力結果の連携を行うことで、プロセスインスタンスに保存される変数の数を減らし、この問題を回避することが可能です。

コラム
inputVariableNamesまたはresultVariableNameで指定する変数名には、? と & を含むことはできません。

32

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム
以下のようなケースで、入力結果の連携を行いつつ一部の変数をプロセスインスタンスに保存したい場合は、その変数を連携元の開始イベントまたはユーザタスクのフォームプロパティに設定してください。
プロセス一覧画面においてプロセスインスタンスを検索する際、「変数検索」として検索条件に指定したい場合
タスク一覧画面において「一覧表示設定」で表示対象に指定し、かつ検索条件に指定したい場合

スクラッチ画面連携
パラメータ
スクラッチ画面連携では、プロセスの実行に必要なパラメータがリクエストパラメータとして受け渡されます。
画面表示時のパターンと、リクエストパラメータについて説明します。
プロセス開始時における画面初期表示パラメータ
callbackPath: 戻り先のURL
processDefinitionId: プロセス定義ID
タスク処理時における画面初期表示パラメータ
callbackPath: 戻り先のURL
taskId: タスクID
プロセス開始時の情報を履歴から参照する場合の画面初期表示パラメータ
callbackPath: 戻り先のURL
historicProcessInstanceId: 実行済プロセスインスタンスID
タスク処理後の情報を履歴から参照する場合の画面初期表示パラメータ
callbackPath: 戻り先のURL
historicTaskId: タスクID
それぞれの画面において処理を実行した後、戻り先のURL (callbackPath)パラメータにリダイレクトを行ってください。
タスクの一括処理を行った場合、callbackPathには、一括処理用のtransactionIdパラメータが埋め込まれており、次の処理対象画面へ遷移する
URLです。

検証
スクラッチ画面連携を行う場合、それぞれの画面において業務プロセスおよびタスクに対する権限の検証を行ってください。
検証処理を実装しなかった場合、第三者から画面情報が閲覧できる状態になる可能性があります。
以下のJava APIとスクリプト開発モデルAPIが利用可能です。
プロセス開始画面の場合
プロセス定義に設定された権限の検証を行う必要があります。
プロセス開始時の処理画面の場合、JavaEE開発モデルでは「BPMAuthorityHelper#canStartProcess」メソッドを使用することで、アカウントコンテキストのユーザにプロセス定義を開始する権限があるかを判定できます。（スクリプト開発モデルの場合は「bpm.BPMAuthorityHelper#canStartProcess」メソッドを使用してください。）
履歴画面からの参照の場合、JavaEE開発モデルでは「BPMAuthorityHelper#canReferProcessInstance」メソッドを使用することで、アカウントコンテキストのユーザにプロセスインスタンス履歴を参照する権限があるかを判定できます。（スクリプト開発モデルの場合は「bpm.BPMAuthorityHelper#canReferProcessInstance」メソッドを使用してください。）
タスク画面の場合タスクに設定された権限の検証を行う必要があります。
タスク処理時のタスク処理画面の場合、JavaEE開発モデルでは「BPMAuthorityHelper#canCompleteTask」メソッドを使用すること
で、アカウントコンテキストのユーザにアクティブなタスクを完了する権限があるかを判定できます。（スクリプト開発モデルの場合は「bpm.BPMAuthorityHelper#canCompleteTask」メソッドを使用してください。）
履歴画面からの参照の場合、JavaEE開発モデルでは「BPMAuthorityHelper#canReferTask」メソッドを使用することで、アカウント
コンテキストのユーザにタスク履歴を参照する権限があるかを判定できます。（スクリプト開発モデルの場合は「bpm.BPMAuthorityHelper#canReferTask」メソッドを使用してください。）

33

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム「BPMAuthorityHelper」および「bpm.BPMAuthorityHelper」について「BPMAuthorityHelper」の詳細については「APIドキュメント」-「クラス BPMAuthorityHelper」を参照してください。
「bpm.BPMAuthorityHelper」の詳細については「APIドキュメント」-「bpm.BPMAuthorityHelperオブジェクト」を参照してください。

IM-BloomMaker画面連携
IM-BloomMakerで作成したアプリケーション画面を開始イベント、または、ユーザタスクに対して設定したい場合、フォームキーとして”forward:”プレフィックスの後にアプリケーション画面のURLを指定してください。
このとき、IM-BloomMaker側にて事前にルーティング定義を作成し、ルーティングURLにアプリケーション画面のURLを設定しておく必要があります。
例: アプリケーション画面のURL foo/bar/baz と連携する場合
forward:/foo/bar/baz

コラム
ルーティング定義については、「 IM-BloomMaker for Accel Platform ユーザ操作ガイド 」-「 ルーティング 」を参照してください。

コラム
ユーザタスクに対するフォームキーには、EL式を含めることができます。
これにより、アプリケーション画面のURLを変数を用いて動的に指定することが可能です。
例: 変数 parameter の内容をアプリケーション画面のURLに含めて指定する場合
forward:/foo/bar/${parameter}
また、IM-BloomMaker側でルーティングURLに動的URLやワイルドカードを指定することで、この値をURLパラメータとして受け取ることが可能です。
例: 上記の例での変数 parameter の部分をURLパラメータとして、入力のキー名 id で受け取る場合のルーティングURL指定
foo/bar/{id}入力の設定については、「 IM-BloomMaker for Accel Platform ユーザ操作ガイド 」-「 URLから入力値を設定する 」を参照して
ください。

パラメータ
IM-BloomMaker画面連携では、スクラッチ画面連携と同じく、プロセスの実行に必要なパラメータがリクエストパラメータとして受け渡されます。
詳細については「 パラメータ 」を参照してください。
IM-BloomMakerのアプリケーション画面の入力の設定にて、リクエストパラメータと同名のキー名の変数を定義することで、パラメータを受け取ってアプリケーションで利用することが可能です。

図：「デザイナ」 - 「変数タブ」 - 「入力」

34

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
検証
IM-BloomMaker画面連携を行う場合、ルーティング定義に設定したJavaプログラムによる前処理にて、業務プロセスおよびタスクに対する権限の検証を行ってください。
詳細については「 検証 」を参照してください。

コラム
前処理の作成方法については、「 IM-BloomMaker for Accel Platform プログラミングガイド 」-「 前処理プログラム 」を参照してください。

ユーザタスク処理者の取得
ユーザタスク処理後、そのユーザタスクを実際に処理したユーザコードをEL式より取得できます。
暗黙のオブジェクトとして、 “im_operation_users” オブジェクトが用意されています。
この “im_operation_users” オブジェクトは、Map型となり、キーとしてユーザタスクのID、値としてユーザタスクを処理したユーザコードを持ちます。
例: ユーザタスク(id: foo_user_task) を処理したユーザコードをEL式にて取得する場合${im_operation_users.foo_user_task}
プロセス定義によっては、同一のユーザタスクを複数回呼び出す場合が存在します。
同一のユーザタスクが複数回呼びだされた場合には、最後にそのユーザタスクを処理したユーザコードが格納されます。

コラム
ユーザタスクに指定するIDにハイフン等EL式で直接利用できない文字が含まれている場合には ${im_operation_users['foo-barbaz']}形式で指定することにより値の取得ができます。

注意
システム変数の格納方式の設定
システム変数の格納方式の設定(is-system-variable-save-as-object)がtrueの場合は、暗黙のオブジェクト“im_bpm_system_variables” オブジェクトの要素として”im_operation_users” オブジェクトが格納されます。
例: ユーザタスク(id: foo_user_task) を処理したユーザコードをEL式にて取得する場合${im_bpm_system_variables.im_operation_users.foo_user_task}
システム変数の格納方式の設定の詳細については、「 IM-BPM 設定ファイルリファレンス 」-「 システム変数の格納方式の設定 」
を参照してください。

IM-LogicDesigner連携
IM-LogicDesigner連携の仕様について説明します。

項目
IM-LogicDesignerタスク
IM-LogicDesignerリスナ

IM-LogicDesignerタスク「IM-LogicDesignerタスク」を利用することで、プロセス内からIM-LogicDesignerで作成した任意のロジックフローを呼び出すことが可能です。

ロジックフローへの入力データの構築
IM-LogicDesignerタスクのプロパティ「入力データ」を設定することで、ロジックフローに対して変数のデータなどを連携することが可能です。

ロジックフローの出力データの返却
IM-LogicDesignerタスクのプロパティ「結果変数を格納する」を設定することで、ロジックフローの実行結果をプロセスインスタンス変数に格納することが可能です。格納される実行結果は、ロジックフロー実行結果オブジェクトです。

35

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
ロジックフロー実行結果オブジェクトは、IM-LogicDesignerタスクのプロパティ「結果変数名」に設定した名前のプロセスインスタンス変数に格納されます。プロパティ「結果変数名」を設定しなかった場合は、ロジックフロー実行結果オブジェクトの第1階層のプロパティがそれぞれプ
ロセスインスタンス変数として格納されます。

エラーハンドリング
ロジックフローでは、フロー中にエラー終了エレメントを配置することが可能です。エラー終了エレメントは、エラーメッセージプロパティに任意のエラーメッセージを設定できます。
プロセス側ではエラーキャッチイベントを配置することで、IM-LogicDesignerのロジックフローからスローされたエラーをキャッチすることが可能です。スローされたエラーは、そのエラーメッセージに合致するエラーコードが設定されたエラーキャッチイベントにてキャッチされます。
このため、ロジックフロー内で複数のエラー終了エレメントが配置されていた場合に、プロセス側ではそれぞれのエラーを判別し、処理を進めることが可能です。

図：エラーハンドリングのイメージ

IM-LogicDesignerリスナ
エグゼキューションやユーザタスクのイベントリスナとして、IM-LogicDesignerで作成したロジックフローを設定することが可能です。IMLogicDesignerリスナを設定することで、イベントの発生時に設定したロジックフローが呼び出されます。

ロジックフローへの入力データの構築
入力データ
IM-LogicDesignerリスナのプロパティ「入力データ」を設定することで、ロジックフローに対して変数のデータなどを連携することが可能です。

暗黙オブジェクト
ロジックフローの入力値として、暗黙オブジェクトを受け取ることが可能です。暗黙オブジェクトの詳細については、「暗黙オブジェクト」を参照してください。
下記のjsonをロジックフローの「入出力設定」の「入力」に設定してください。
実行リスナとしてロジックフローを使用する場合

36

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01{"execution" : {"id" : "","processInstanceId" : "","eventName" : "","businessKey" : "","processDefinitionId" : "","parentId" : "","superExecutionId" : "","currentActivityId" : "","currentActivityName" : "","tenantId" : "","variablesLocal" : {},"variables" : {}}}タスクリスナとしてロジックフローを使用する場合{"task" : {"id" : "","name" : "","description" : "","priority" : 0,"processInstanceId" : "","executionId" : "","processDefinitionId" : "","createTime" : 0,
"taskDefinitionKey" : "","isSuspended" : true,"tenantId" : "","formKey" : "","execution" : {"id" : "","processInstanceId" : "","eventName" : "","businessKey" : "","processDefinitionId" : "","parentId" : "","superExecutionId" : "","currentActivityId" : "","currentActivityName" : "","tenantId" : "","variablesLocal" : {},"variables" : {}},"eventName" : "","delegationState" : "","owner" : "","assignee" : "","dueDate" : 0,"category" : "","candidates" : [{"type": "","userId": "","groupId": "","taskId": "","processDefinitionId": "","processInstanceId": ""}],"variablesLocal" : {},"variables" : {}}}37

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：ロジックフローの「入出力設定」のイメージ
createTime と dueDate は「型を変換」から型を date に変換してください。

図：「型を変換」のイメージ

ロジックフローの出力データの返却
IM-LogicDesignerリスナのプロパティ「結果変数を格納する」を設定することで、ロジックフローの実行結果をプロセスインスタンス変数に格納することが可能です。格納される実行結果は、ロジックフロー実行結果オブジェクトです。
ロジックフロー実行結果オブジェクトは、IM-LogicDesignerリスナのプロパティ「結果変数名」に設定した名前のプロセスインスタンス変数に格納されます。プロパティ「結果変数名」を設定しなかった場合は、ロジックフロー実行結果オブジェクトの第1階層のプロパティがそれぞれプ
ロセスインスタンス変数として格納されます。

エラーハンドリング
IM-LogicDesignerリスナにおいては、エラーキャッチイベントでエラーをハンドリングできません。
ロジックフローがエラー終了エレメントで終了した場合、例外が発生し、トランザクションが全てロールバックされます。

OpenRules連携
OpenRules連携の仕様について説明します。

項目
対応フォーマット
リソース
パラメータ

対応フォーマット
OpenRules連携では、xls形式のファイルのみ対応しています。

38

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
xlsx形式及び、DMN形式のフォーマットには対応していません。

リソース
IM-BPM for Accel Platform におけるOpenRules連携では、OpenRulesにおける設定ファイル群 (openrules.config) もデプロイする必要があります。
BPMプロジェクト内に設定ファイル群 (openrules.config) も含めて配置してください。
OpenRules連携では、ビジネスルールタスク実行時に、クラスローダによりWEB-INF/work/_jars配下に展開されたルールファイル、設定ファイル群を参照し実行します。

パラメータ
OpenRules連携では、ビジネスルールタスクのパラメータとして、以下の項目を設定する必要があります。
ルールファイル
Excel(xls)により定義されたルールファイル
デシジョン (Decision)
実行するデシジョン
入力コンセプト (Input Concepts)
入力パラメータとして利用するコンセプト
コンセプトに含まれる各パラメータが、プロセスインスタンスの持つ変数名と一致している場合、その値が利用されます。
出力コンセプト (Output Concepts)
出力として指定されているコンセプト名
出力コンセプトに含まれるデータをプロセスインスタンスに返却します。
結果変数名
結果変数名が未指定の場合は、出力コンセプトの内容をそのままプロセスインスタンスの変数としてマージします。
結果変数名が指定されている場合、出力コンセプトの内容をプロセスインスタンスの変数に結果変数名を利用してセットします。

IM-Workflow/Forma/IM-BIS連携
IM-Workflow/Forma/IM-BIS連携の仕様について説明します。

項目
IM-Workflow/Forma/IM-BIS連携について起票による連携
申請による連携
ワークフロー終了時の連携
トランザクション

IM-Workflow/Forma/IM-BIS連携について
IM-BPM for Accel Platformでは、ワークフロー連携として以下の連携機能が存在します。
IM-Workflow連携
コンテンツとしてIM-FormaDesignerを利用していないワークフローを指します。
IM-FormaDesigner IM-Workflow連携機能との連携コンテンツとしてIM-FormaDesignerと連携しているワークフローを指します。
IM-BIS連携
それぞれの連携では、起票、および申請の連携が可能です。

起票による連携39

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
起票による連携では、起票タスク (DraftTask)による連携が行われます。
起票タスクの処理の流れは以下の通りです。
起票用パラメータを作成する
プロセスインスタンス側から受け渡されたフローID、ユーザデータID、案件名、案件番号、 起票者コード、優先度等を元に起票用パラメータを作成します。
前処理プログラムの指定がある場合には、前処理を実行します。
前処理は、縦配置、横配置等複雑な起票パラメータが必要となる場合に利用します。
それぞれ以下のインタフェースを実装する必要があります。
IM-Workflow: jp.co.intra_mart.activiti.engine.delegate.ImWorkflowDraftPreprocess
IM-FormaDesigner + IM-Workflow: jp.co.intra_mart.activiti.engine.delegate.ImFormaDraftPreprocess
IM-BIS: jp.co.intra_mart.activiti.engine.delegate.ImBisDraftPreprocess
ワークフローの起票
タスク情報の登録
ワークフロー連携における状態管理として、タスク情報の登録を行います。
タスク情報には、タスクローカルな変数として以下の内容が格納されます。
systemMatterId: システム案件ID
matterNumber: 案件番号
userDataId: ユーザデータID
matterResultName: 案件結果変数名
manipulateMatter: タスクキャンセル時の案件操作方法
flowName_{locale}: ロケール分のフロー名

注意
システム変数の格納方式の設定
システム変数の格納方式の設定(is-system-variable-save-as-object)がtrueの場合は、タスクローカルな変数“im_bpm_system_variables” オブジェクトの要素として”systemMatterId” , “matterNumber” , “userDataId” ,“matterResultName”, “manipulateMatter”, “flowName_{locale}”が格納されます。
システム変数の格納方式の設定の詳細については、「 IM-BPM 設定ファイルリファレンス 」-「 システム変数の格納方式の設定 」を参照してください。
IM-Workflow側の案件プロパティに連携情報を保存します。
ワークフロー案件終了時に、プロセスインスタンスを処理するため、案件プロパティに以下の内容を登録します。
以下の案件プロパティは外部から操作を行わないでください。
im_bpm_task_id: タスクID

申請による連携
申請による連携では、申請タスク (ApplyTask)による連携が行われます。
申請タスクの処理の流れは以下の通りです。
申請用パラメータを作成する
プロセスインスタンス側から受け渡された以下のパラメータを元に、申請用パラメータを作成します。
フローID
ユーザデータID
案件番号
案件名
申請基準日
申請実行者コード
申請権限者コード権限者会社コード
権限者組織セットコード
権限者組織コード40

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
優先度
処理コメント
前処理プログラムの指定がある場合には、前処理を実行します。
前処理は、縦配置、横配置等複雑な起票パラメータが必要となる場合に利用します。
それぞれ以下のインタフェースを実装する必要があります。
IM-Workflow: jp.co.intra_mart.activiti.engine.delegate.ImWorkflowApplyPreprocess
IM-FormaDesigner + IM-Workflow: jp.co.intra_mart.activiti.engine.delegate.ImFormaApplyPreprocess
IM-BIS: jp.co.intra_mart.activiti.engine.delegate.ImBisApplyPreprocess
ワークフローの申請
タスク情報の登録
ワークフロー連携における状態管理として、タスク情報の登録を行います。
タスク情報には、タスクローカルな変数として以下の内容が格納されます。
systemMatterId: システム案件ID
matterNumber: 案件番号
userDataId: ユーザデータID
matterResultName: 案件結果変数名
manipulateMatter: タスクキャンセル時の案件操作方法
flowName_{locale}: ロケール分のフロー名

注意
システム変数の格納方式の設定
システム変数の格納方式の設定(is-system-variable-save-as-object)がtrueの場合は、タスクローカルな変数“im_bpm_system_variables” オブジェクトの要素として”systemMatterId” , “matterNumber” , “userDataId” ,“matterResultName”, “manipulateMatter”, “flowName_{locale}”が格納されます。
システム変数の格納方式の設定の詳細については、「 IM-BPM 設定ファイルリファレンス 」-「 システム変数の格納方式の設定 」を参照してください。
IM-Workflow側の案件プロパティに連携情報を保存します。
ワークフロー案件終了時に、プロセスインスタンスを処理するため、案件プロパティに以下の内容を登録します。
以下の案件プロパティは外部から操作を行わないでください。
im_bpm_task_id: タスクID

ワークフロー終了時の連携
ワークフローが終了した場合には、IM-BPM側のプロセスが再開されます。
ワークフローが終了する際のパターンは以下の通りです。
承認終了: approveend
最終承認: mattercomplete
否認: deny
取りやめ: discontinue
案件操作: matterhandle
管理者による案件削除: activedelete
削除: delete
ワークフロー終了時には、ワークフローの情報がプロセスインスタンスの変数として格納されます。
結果は以下の項目として参照できます。
正常に完了した場合
承認、否認、案件操作の場合を指します。
locale: ロケール
processDate: 処理日時
systemMatterId: システム案件ID
userDataId: ユーザデータID

41

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
contentsId: コンテンツID
contentsVersionId: コンテンツバージョンID
routeId: ルートID
routeVersionId: ルートバージョンID
flowId: フローID
flowVersionId: フローバージョンID
actFlag: 承認フラグ
lastAuthUserCd: 最終承認ユーザコード
lastExecUserCd: 最終実行者コード
lastNodeType: 最終ノード種別
lastProcessNodeId: 最終処理ノードID
lastNodeName: 最終処理ノード名
lastResultStatus: 案件結果
案件削除が行われた場合
locale: ロケール
systemMatterId: システム案件ID
userDataId: ユーザデータID
lastResultStatus: 案件結果 （案件削除のため”activedelete”）
BPM側から終了した場合
プロセスマイグレーション等が行われた場合です。
systemMatterId: システム案件ID
userDataId: ユーザデータID
lastResultStatus: 案件結果 （結果が存在しないため null）
起票タスク(DraftTask)、申請タスク(ApplyTask)の属性 結果変数名が指定されている場合には案件プロパティの値を結果変数名を利用してプロ
セスインスタンスの変数として格納します。
結果変数名が未指定の場合には、プロセスインスタンス変数に案件プロパティの内容がマージされます。
IM-FormaDesignerまたはIM-BISを利用している場合には、Formaデータの内容も変数にマージされます。
案件プロパティとFormaデータ共に同一のキー名が存在した場合にはFormaデータが優先されます。
案件プロパティにおける数値型はLong型、または小数を持つ数値の場合Double型としてプロセスインスタンス変数に格納されます。

トランザクション
ワークフロー連携機能は全て IM-BPM for Accel Platformのトランザクション管理内で実行されます。
IM-BPM for Accel Platformでは、IM-Workflowに intra-mart Accel Platform 2016 Summer(Nirvana) より導入されたフロー情報の保存先としてストレージを使用しないモードにおける実行のみサポートします。

Elasticsearch連携機能
Elasticsearchとの連携について説明します。

項目
Elasticsearch連携について
Elasticsearch連携方式
登録されるデータ
連携イベントインデックスのパターン
インデックステンプレート例
HTTP Proxy

Elasticsearch連携について
Elasticsearchは、Elastic社が提供するオープンソース全文検索エンジンです。
https://www.elastic.co/products/elasticsearch

42

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
Elasticsearchは、データをJSON形式で格納できます。
Elasticsearch連携では、プロセスインスタンスに関する情報をElasticsearchに保存する為の機能です。
保存されたデータは、Elastic社が提供するKibanaを利用することにより可視化する事ができます。
Elasticsearch連携ではプロセスインスタンスに含まれる変数情報も含めて全てElasticsearchに保存するため
業務プロセスで利用されている任意のデータを可視化できます。

Elasticsearch連携方式
Elasticsearchでは、TCP TransportとHTTPによる連携方式があります。
Elasticsearch連携は全てHTTPによるデータの登録を行います。
連携のタイミングは、プロセスの実行が完了する直前です。
Elasticsearchに対し、httpによるバルクリクエストを行います。
連携に失敗した場合、プロセスインスタンスの処理は継続します。

登録されるデータ登録されるデータ例:{"_index": "im_bpm-default-20160725","_type": "im_bpm","_id": "AVYfNl7gDFByk9GXT5rc","_score": null,"_source": {"source_activity_id": "servicetask1","sequence_flow_id": "flow2","type_activiti": "SEQUENCEFLOW_TAKEN","target_activity_type": "endEvent","source_activity_type": "serviceTask","target_activity_id": "endevent1","user_cd": "master","process_definition_id": "service:1:8e28em7kuuyr2m7","source_activity_name": "Service Task","execution_id": "8e2ao18qwuztbm7","process_instance_id": "8e2ao18qwuztbm7","target_activity_behavior_class": "jp.co.intra_mart.activiti.engine.impl.bpmn.behavior.NoneEndEventActivityBehavior","source_activity_behavior_class": "jp.co.intra_mart.activiti.engine.impl.bpmn.helper.ClassDelegate","target_activity_name": "End","time": "2016-07-25T08:21:12+0900","variables": {"foo": "FOO","bar": "BAR"}},"fields": {"time": [1469402472000]},"sort": [1469402472000]}

連携イベントElasticsearchに登録されるプロセス内のイベントデータは以下の種類が存在します。
アクティビティの開始: activity_started
アクティビティの完了: activity_completed
アクティビティのキャンセル: activity_cancelled
アクティビティに対するシグナルの受信: activity_signaled
アクティビティに対するメッセージの受信: activity_message_received
アクティビティに対するエラーの受信: activity_error_received
シーケンスフローによる遷移: sequenceflow_taken

43

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
ユーザタスクの作成: task_created
ユーザタスクに対する担当者の割当: task_assigned
ユーザタスクの完了: task_completed
プロセスインスタンスの開始: process_started
プロセスインスタンスの終了: process_completed
プロセスインスタンスのエラー終了: process_completed_with_error_end_event
プロセスインスタンスのキャンセル: process_cancelled
上記のイベントは設定ファイルによりそれぞれデータの登録の制御が可能です。
詳細は設定ファイルリファレンスを御覧ください。
以下のイベントは、プロセスインスタンスに含まれる変数情報も含めてElasticsearchに登録されます。
ユーザタスクの完了: taks_completed
プロセスインスタンスの開始: process_started
プロセスインスタンスの終了: process_completed
プロセスインスタンスのエラー終了: process_completed_with_error_end_event

インデックスのパターン
Elasticsearchに対してデータを登録する際、index, typeの指定が行えます。
設定ファイルに含めるindex, typeはプレースホルダを埋め込む事により動的に変更することが可能です。
例: im_bpm-${yyyyMMdd}
利用可能な置換文字は以下の通りです。
yyyyMMdd: 年月日
yyyyMM: 年月
yyyy: 年
MM: 月
dd: 日
tenantId: テナントID

インデックステンプレート例
Elasticsearchは、事前にindex templateを登録する必要があります。
index template例:{"index_patterns" : "im_bpm-default-*","mappings" : {"im_bpm" : {"properties" : {"type_activiti" : {"type" : "keyword"},"time" : {"type" : "date","format" : "dateOptionalTime"},"user_cd" : {"type" : "keyword"},"user_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"process_definition_id" : {"type" : "text","fields" : {"raw" : {44

"raw" : {"type" : "keyword"}

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01}},"process_instance_id" : {"type" : "keyword"},"execution_id" : {"type" : "keyword"},"activity_id" : {"type" : "keyword"},"activity_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"activity_type" : {"type" : "keyword"},"behavior_class" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"activity_cause" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"activity_cause_activity_impl" : {"properties" : {"id" : {"type" : "keyword"},"async" : {"type" : "boolean"},"exclusive" : {"type" : "boolean"},"height" : {"type" : "long"},"scope" : {"type" : "boolean"},"width" : {"type" : "long"},"x" : {
"type" : "long"},"y" : {
"type" : "long"}}},"activity_cause_event_subscription_entity" : {"properties" : {"activity" : {"properties" : {"id" : {"type" : "keyword"45

"type" : "keyword"},"async" : {"type" : "boolean"},"exclusive" : {"type" : "boolean"},"height" : {"type" : "long"},"scope" : {"type" : "boolean"},"width" : {"type" : "long"},"x" : {
"type" : "long"},"y" : {
"type" : "long"}}},"activityId" : {"type" : "keyword"},"created" : {"type" : "date","format" : "epoch_millis"},"eventName" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"eventType" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"executionId" : {"type" : "keyword"},"id" : {"type" : "keyword"},"processDefinitionId" : {"type" : "keyword"},"processInstanceId" : {"type" : "keyword"},"revision" : {"type" : "long"},"tenantId" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"
}
}
}
}
},
"activity_cause_job_entity" : {"properties" : {IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

46

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01"properties" : {"duedate" : {"type" : "date","format" : "epoch_millis"},"exclusive" : {"type" : "boolean"},"executionId" : {"type" : "keyword"},"id" : {"type" : "keyword"},"jobHandlerConfiguration" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"jobHandlerType" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"jobType" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"processDefinitionId" : {"type" : "keyword"},"processInstanceId" : {"type" : "keyword"},"retries" : {"type" : "long"},"revision" : {"type" : "long"},"tenantId" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"
}
}
}
}
},
"error_code" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"message_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}47

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01}},"message_data" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"signal_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"signal_data" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"activity_duration" : {"type" : "long"},"nested_process_definition_id" : {"type" : "keyword"},"nested_process_instance_id" : {"type" : "keyword"},"process_cause" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"process_cause_activity_impl" : {"properties" : {"id" : {"type" : "keyword"},"async" : {"type" : "boolean"},"exclusive" : {"type" : "boolean"},"height" : {"type" : "long"},"scope" : {"type" : "boolean"},"width" : {"type" : "long"},"x" : {
"type" : "long"},"y" : {
"type" : "long"}}},"process_cause_event_subscription_entity" : {"properties" : {"activity" : {"properties" : {48

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01"properties" : {"id" : {"type" : "keyword"},"async" : {"type" : "boolean"},"exclusive" : {"type" : "boolean"},"failedJobRetryTimeCycleValue" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"height" : {"type" : "long"},"scope" : {"type" : "boolean"},"width" : {"type" : "long"},"x" : {
"type" : "long"},"y" : {
"type" : "long"}}},"activityId" : {"type" : "keyword"},"configuration" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"created" : {"type" : "date","format" : "epoch_millis"},"eventName" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"eventType" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"executionId" : {"type" : "keyword"},"id" : {"type" : "keyword"},"processDefinitionId" : {"type" : "text","fields" : {49

"fields" : {"raw" : {"type" : "keyword"}}},"processInstanceId" : {"type" : "keyword"},"revision" : {"type" : "long"},"tenantId" : {"type" : "keyword"}

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01}},"process_cause_job_entity" : {"properties" : {"duedate" : {"type" : "date","format" : "epoch_millis"},"exceptionMessage" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"exclusive" : {"type" : "boolean"},"executionId" : {"type" : "keyword"},"id" : {"type" : "keyword"},"jobHandlerConfiguration" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"jobHandlerType" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"jobType" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"lockExpirationTime" : {"type" : "date","format" : "epoch_millis"},"lockOwner" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"
}
}

50

}
},
"processDefinitionId" : {"type" : "keyword"},"processInstanceId" : {"type" : "keyword"},"retries" : {"type" : "long"},"revision" : {"type" : "long"},"tenantId" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}}

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01}},"process_duration" : {"type" : "long"},"sequence_flow_id" : {"type" : "text"},"source_activity_id" : {"type" : "keyword"},"source_activity_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"source_activity_type" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"source_activity_behavior_class" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"target_activity_id" : {"type" : "keyword"},"target_activity_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"target_activity_type" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}

51

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01}},"target_activity_behavior_class" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"task_id" : {"type" : "keyword"},"task_name" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"task_definition_key" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"description" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"assignee" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"owner" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"category" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"due_date" : {"type" : "date","format" : "dateOptionalTime"},"form_key" : {"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"priority" : {"type" : "text",52

"type" : "text","fields" : {"raw" : {"type" : "keyword"}}},"task_duration" : {"type" : "long"}}}

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

}
}

コラム
上記テンプレートに加えて、プロセスインスタンスで利用される変数 (variables) 配下のプロパティを個別に指定する必要があります。
変数（variables）配下に日付型の変数が存在する場合、Long値（エポックミリ秒）としてElasticsearchに登録されます。
そのため、日付型の変数項目に対しては、必要に応じて下記の例のようにマッピング定義を登録してください。
・・・"variables" : {"properties" : {"dateVariable" : {"type": "date","format": "epoch_millis"
}
}
},
・・・

HTTP Proxy
Elasticsearchに対してHTTP Proxyが必要となる場合には、Proxyの指定をシステムプロパティで行います。
例:
httpの場合-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=9080
httpsの場合-Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=9080
利用されているアプリケーションサーバに対して設定を行ってください。
Resinの場合には、{RESIN_HOME}/conf/resin.properties に含まれる jvm_args プロパティに追記します。

マルチテナント
マルチテナントについて説明します。

項目
バーチャルテナント

バーチャルテナント
IM-BPM for Accel Platformではバーチャルテナント単位でプロセス実行エンジンを持ちます。
また、プロセスに関連したデータベーステーブルは全てテナントデータベース内において管理されます。

53

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
注意Activitiでは、マルチテナントとして同一テーブル内に定義したテナントIDを利用したテナント管理や、データベーススキーマをテ
ナント毎に切り替える機能が存在しますが、 IM-BPM for Accel Platform ではこれらのテナント管理機構はサポートしていません。
API等に含まれるパラメータ “tenantId” を指定する必要はありません。

Java APIJava APIについて説明します。

項目
パッケージ
Javaターゲットバージョン
プロセスエンジンの取得
API

パッケージ
IM-BPM for Accel Platformが提供する機能は、 jp.co.intra_mart.activiti パッケージです。
IM-BPM for Accel Platformでは、Javaパッケージ名に *.impl.* が含まれているクラス、インタフェースは直接の利用を推奨しません。
*.impl.* が含まれたクラス、インタフェースは将来的に互換性の無い変更を加える可能性があります。

Javaターゲットバージョン
IM-BPM for Accel Platformの提供するJava API群は全て Java7に対応したコード、バイトコードとなります。
Java7以降の環境で動作します。

プロセスエンジンの取得
テナント毎に管理されたプロセス実行エンジンは jp.co.intra_mart.activiti.engine.ProcessEngineFactory クラスから取得する事ができます。
Activiti標準で提供されている jp.co.intra_mart.activiti.engine.ProcessEngines クラスからは取得できません。

API
APIの詳細に関しては、APIドキュメントを御覧ください。

REST APIREST APIについて説明します。

項目
REST APIについて
認証方式
認可
エンドポイント
Swagger
REST APIドキュメント

REST APIについて
IM-BPM for Accel Platformが提供するREST APIは、HTTPプロトロルを使用しプロセスの実行に関する様々な処理を呼び出すことが可能です。
REST APIはコンテンツタイプとして、application/json (JSON)形式のみ対応しています。
REST APIとして利用可能な機能は以下のとおりです。
デプロイ

54

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
プロセスエンジン情報の取得
実行状態の操作
フォームデータの操作
アクティビティ履歴の操作
履歴詳細に対する操作
プロセスインスタンス履歴に対する操作
ユーザタスクに関する操作
変数操作履歴ジョブの操作
全体管理情報の取得
差配管理
プロパティリソースへのアクセス
プロセス定義情報に対する操作
プロセスインスタンスに対する操作
シグナルに関する操作
ユーザタスクに関する操作
インポート/エクスポート

認証方式
REST APIは以下の認証方式に対応しています。
Cookieに紐づくセッションの認証状態に依存する方式
アプリケーションサーバが発行するセッションIDおよびアカウントコンテキストの状態に依存する方式です。
コンテキストの状態を確認後、認可によるチェックが行われます。
Basic認証
Basic認証による認証方式です。
認証後、ログイン状態として扱われ認可によるチェックが行われます。
OAuth認証
OAuth2.0の仕様に準拠した認証フローによる認証方式です。
認証後、ログイン状態として扱われ認可によるチェックが行われます。

コラム
Basic認証を利用する場合には、httpsプロトコルの利用を強く推奨します。

認可
REST APIは全ての呼び出し先に対し認可リソースを持ちます。
intra-mart Accel Platform認可設定において、IM-BPM REST API認可種別が存在します。

注意
IM-BPM for Accel Platformの画面では、画面表示に必要となる情報を全てREST API経由で取得しています。
その為、認可設定の変更により画面が正常に動作しなくなる場合があります。

エンドポイント
REST APIは認証方式によって、呼び出し先のエンドポイントが異なります。
Cookieに紐づくセッションの認証状態に依存する方式
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/api/bpm/....
プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。
例:
https://example.org/imart/api/bpm/management/engine
Basic認証55

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/api/basic/bpm/....
プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。
例:
https://example.org/imart/api/basic/bpm/management/engine
OAuth認証
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/api/bearer/bpm/....
プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。
例:
https://example.org/imart/api/bearer/bpm/management/engine

Swagger
REST APIはSwagger Specに対応しています。
intra-mart Accel Platformに組み込まれているSwagger UIを通じてREST APIの確認、実行ができます。
Swagger UIは、以下のURLから確認できます。
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/swagger_ui/?url=/{CONTEXT_PATH}/api-docs/im_bpm_rest
プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。
例:
https://example.org/imart/swagger_ui/?url=/imart/api-docs/im_bpm_rest

コラム
Swagger Specを元に、Swagger CodeGenを利用するとREST APIクライアントコードの自動生成を行うことが可能です。
https://github.com/swagger-api/swagger-codegen
Swagger CodeGenにより作成されたスタブコードの動作保証は行っておりません。

REST APIドキュメント
APIの詳細に関しては、REST APIドキュメントを御覧ください。

EL式
EL式について説明します。

項目
暗黙オブジェクト
変数の操作

暗黙オブジェクト
ELで利用可能な暗黙オブジェクトは以下の通りです。
authenticatedUserId (String)
認証済みユーザコード
プロセスを実行する際のユーザコードが格納されています。
このユーザコードはアカウントコンテキストの持つユーザコードと同等です。
タスクを非同期に実行、タイマーをトリガとした処理、並列ゲートウェイ等、実行単位が別のスレッドとなる処理を介した場合には、値にnullが格納されます。
execution (DelegateExecution)
実行時のエグゼキューションです。
${execution.id}: エグゼキューションIDの取得${execution.processInstanceId}: プロセスインスタンスIDの取得${execution.processBusinessKey}: 業務キーの取得${execution.processDefinitionId}: プロセス定義IDの取得${execution.superExecutionId}: 親エグゼキューションID${execution.currentActivityId}: 実行中のアクティビティID

56

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01${execution.currentActivityName}: 実行中のアクティビティ名${execution.getVariable(“varName”)}: 変数の取得
task (DelegateTask)
実行中のタスク情報です。
この暗黙オブジェクトは、ユーザタスク等に設定するタスクリスナでのみ利用可能です。
im_operation_users (Map<String, String>)
ユーザタスクを処理したユーザコードを持ちます。
${im_operation_users['my-user-task']} “my-user-task”というIDを持つタスクを処理したユーザコードの取得

注意
システム変数の格納方式の設定
システム変数の格納方式の設定(is-system-variable-save-as-object)がtrueの場合は、暗黙オブジェクト“im_bpm_system_variables” オブジェクトの要素として”im_operation_users” オブジェクトが格納されます。
例: ユーザタスク(id: my-user-task) を処理したユーザコードをEL式にて取得する場合${im_bpm_system_variables.im_operation_users['my-user-task']}
システム変数の格納方式の設定の詳細については、「 IM-BPM 設定ファイルリファレンス 」-「 システム変数の格納方式の設定 」を参照してください。

変数の操作
変数の存在確認
暗黙オブジェクト execution を利用します。
${execution.getVariable(‘myVarName’) != null}

変数の追加
暗黙オブジェクト execution を利用します。
DelegateExpression等で利用します。
${execution.setVariable(‘myVarName’, ‘VALUE’)}

変数の削除
暗黙オブジェクト execution を利用します。
DelegateExpression等で利用します。
${execution.removeVariable(‘myVarName’)}アーカイブ
IM-BPM for Accel Platform では完了したプロセスインスタンスのデータを退避する機能を用意しており、これを「アーカイブ」機能と呼びます。
アーカイブの仕様について説明します。

項目
アーカイブ機能
アーカイブ対象の指定
アーカイブするデータの保存先

アーカイブ機能
アーカイブの対象は、完了したプロセスインスタンスです。
アーカイブ用のテーブルにデータを退避します。
アーカイブは、アーカイブジョブ（「ジョブ一覧」 - 「アーカイブ」）によって実行されます。

57

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
アーカイブ対象の指定
アーカイブ対象は、以下の指定された条件を満たす完了したプロセスインスタンスです。
プロセスインスタンスの開始日時
プロセスインスタンスの終了日時
プロセス定義キー
プロセス定義バージョン
プロセスインスタンスID
各条件の指定方法については、「ジョブ一覧」 - 「アーカイブ」を参照してください。
条件を指定しない場合は、全ての完了したプロセスインスタンスがアーカイブの対象とされます。

アーカイブするデータの保存先
アーカイブするデータは、全てデータベースに保存されます。
プロセスインスタンスの開始日時の月単位でテーブルが作成されます。
テーブル名は以下の規則に沿って作成されます。
プロセスインスタンスの開始された月を数字6桁で表します。
（例） 2016年11月1日 ⇒ 201611（例） 2017年1月15日 ⇒ 201701
元のテーブル名の一部分を、上記の数字に置き換えて作成します。
（例） ACT_HI_PROCINST ⇒ ACT_201611_PROCINST（例） ACT_HI_ACTINST ⇒ ACT_201701_ACTINST
アーカイブする対象のテーブルは以下です。
元のテーブル名アーカイブされるテーブル名（ 2017年4月の場合）

ACT_HI_PROCINST

ACT_201704_PROCINST

ACT_HI_ACTINST

ACT_201704_ACTINST

ACT_HI_TASKINSTACT_201704_TASKINSTACT_HI_VARINST

ACT_201704_VARINST

ACT_HI_DETAIL

ACT_201704_DETAIL

ACT_HI_COMMENT

ACT_201704_COMMENT

ACT_HI_ATTACHMENT

ACT_201704_ATTACHMENT

ACT_HI_IDENTITYLINKACT_201704_IDENTITYLINK

im_act_hi_migration_actinst

im_act_201704_mg_actinst（テーブル名の文字制限により一部省略しています。）

ACT_GE_BYTEARRAY

ACT_201704_BYTEARRAY

imact_hi_optask_actinst（2019 Summer(Waltz)以降のバー

im_act_201704_optask_actinst

ジョンが対象です。）

コラム
コールアクティビティで呼び出されたプロセスインスタンスについては、呼び出し元のプロセスインスタンスの開始日付に依存します。
プロセスインスタンスAの開始日時が2017年1月25日で、プロセスインスタンスBをコールアクティビティで2017年2月1日に呼び出した場合、どちらも2017年1月の開始日時による規則に沿ってアーカイブされます。
プロセスインスタンスBが完了していても、プロセスインスタンスAが完了していない場合はアーカイブされません。

ジョブ一覧
IM-BPM for Accel Platform では以下のジョブを利用しています。

58

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
機能

ジョブ名

説明

アーカイブ

アーカイブ

完了したプロセスインスタンスのデータをアーカイブするジョブです。

履歴・コメントモ

履歴・コメントモジュールの登録

プロセスインスタンスのアクティビティ履歴を履歴・コメントモ

ジュールの登録
評価観点集計ジュールへ登録するジョブです。

評価観点集計プロセスの評価観点データを作成するジョブです。

アーカイブ
ジョブ概要
完了したプロセスインスタンスのデータをアーカイブするジョブです。
完了していないプロセスインスタンスは、アーカイブされません。

実行パラメータ
ジョブに指定するパラメータリストです。
キー

値

名前

必須

startedBefore

プロセスインスタンスの開始日付

finishedBefore

プロセスインスタンスの終了日付

startedBeforeDays

プロセスインスタンスの開始日付

デフォルト値の日数指定
finishedBeforeDays

プロセスインスタンスの終了日付の日数指定

startedBeforeMonths

プロセスインスタンスの開始日付の月数指定

finishedBeforeMonths

プロセスインスタンスの終了日付の月数指定

processDefinitionKeyIn

プロセス定義キー（複数指定）

processDefinitionKeyNotIn

除外するプロセス定義キー（複数指定）

processDefinitionVersion

プロセス定義バージョン

startedBefore（プロセスインスタンスの開始日付）
プロセスインスタンスの開始日付を”yyyy-MM-dd”形式で指定します。

finishedBefore（プロセスインスタンスの終了日付）
プロセスインスタンスの終了日付を”yyyy-MM-dd”形式で指定します。

startedBeforeDays（プロセスインスタンスの開始日付の日数指定）
現在日から過去の日数を指定します。指定された日付より以前に開始されたプロセスインスタンスを対象とします。
（例）3を指定した場合、現在日が2017-01-17の場合、2017-01-13 23:59:999以前の開始したプロセスインスタンスを対象とします。

finishedBeforeDays（プロセスインスタンスの終了日付の日数指定）
現在日から過去の日数を指定します。指定された日付より以前に終了されたプロセスインスタンスを対象とします。
（例）3を指定した場合、現在日が2017-01-17の場合、2017-01-13 23:59:999以前の終了したプロセスインスタンスを対象とします。

startedBeforeMonths（プロセスインスタンスの開始日付の月数指定）
現在月から過去の月数を指定します。指定された日付より以前に開始されたプロセスインスタンスを対象とします。
（例）3を指定した場合、現在日が2017-01-17の場合、2016-09-30 23:59:999以前の開始したプロセスインスタンスを対象とします。

finishedBeforeMonths（プロセスインスタンスの終了日付の月数指定）
現在月から過去の月数を指定します。指定された日付より以前に終了されたプロセスインスタンスを対象とします。

59

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01（例）3を指定した場合、現在日が2017-01-17の場合、2016-09-30 23:59:999以前の終了したプロセスインスタンスを対象とします。

processDefinitionKeyIn（プロセス定義キー（複数指定））
カンマ区切りで対象にするプロセス定義キーを指定します。指定しない場合、全てのプロセス定義を対象とします。

processDefinitionKeyNotIn（除外するプロセス定義キー（複数指定））
カンマ区切りで除外するプロセス定義キーを指定します。指定しない場合、全てのプロセス定義を対象とします。

processDefinitionVersion（プロセス定義バージョン）
プロセス定義バージョンを指定します。指定しない場合、全てのバージョンを対象とします。

ジョブネットこのジョブが使用するジョブネットです。
アーカイブ

履歴・コメントモジュールの登録
ジョブ概要
プロセスインスタンスのアクティビティ履歴を履歴・コメントモジュールへ登録するジョブです。
完了済み・実行中問わず全てのプロセスインスタンスに対して実行されます。

実行パラメータ
このジョブに実行パラメータはありません。

ジョブネットこのジョブが使用するジョブネットです。
履歴・コメントモジュールのデータ登録（プロセスインスタンスのアクティビティ履歴）

評価観点集計
ジョブ概要
プロセスの評価観点データを作成するジョブです。
以下の内容を算出します。
システム日付とカレンダー日付との休日を除いた差分日数
休日は「テナント管理 - カレンダーメンテナンス - カレンダー一覧」より定義している、各カレンダーIDの休日設定から判定しています。
タスクの平均処理時間
ユーザ別のタスク平均処理時間
差配管理向けの平均処理時間は「タスクインスタンス履歴テーブル」の「担当割当時間」と「終了時間」の差分時間の平均値としています。
集計されたデータは、「差配管理画面」の表示に使用されます。

実行パラメータ
このジョブに実行パラメータはありません。

ジョブネットこのジョブが使用するジョブネットです。
評価観点集計

関連ドキュメント
60

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
関連ドキュメントについて説明します。

項目
概要
関連ドキュメントの設定方法について
関連ドキュメントの設定種別について

概要
プロセス定義および、限られたアクティビティに関連したドキュメントを紐づけることができます。

関連ドキュメントの設定方法について
関連ドキュメントは以下に対して設定することができます。
プロセス定義スタートイベント
ユーザタスクマニュアルタスク

コラム
設定方法の詳細は、「IM-BPM プロセスデザイナ 操作ガイド」 - 「関連ドキュメント」を参照してください。

関連ドキュメントの設定種別について
関連ドキュメントは、「デプロイ資材に含めるドキュメント」と「外部サイト」を選択することができます。
デプロイ資材に含めるドキュメントの場合は、デプロイ資材のドキュメントのファイル名を指定します。
外部サイトの場合は、URLを指定します。
デプロイ資材に含めるドキュメントの場合は、各関連する画面からダウンロードすることができます。
外部サイトの場合は、各関連する画面からURLに対するページを開きます。

コラム
設定種別の詳細は、「IM-BPM プロセスデザイナ 操作ガイド」 - 「関連ドキュメント」を参照してください。
関連する画面については、「IM-BPM ユーザ操作ガイド」を参照してください。

オプショナルタスク
IM-BPM for Accel Platform では、プロセスインスタンスの実行の流れとは関係なく、ユーザが判断したタイミングでタスクを追加できる機能を用意しています。
追加される可能性のあるタスクをあらかじめ想定しておき、プロセス定義内に配置しておくことができます。
このように定型的に定義されたタスクのことを「オプショナルタスク」と呼びます。

項目
概要
プロセスデザイナでの設定
タスクの追加プロセスインスタンスの履歴
マイグレーション

概要
プロセスデザイナで「オプショナル」設定をオンにしたフローエレメントは、オプショナルタスクとして扱われます。
オプショナルタスクは他のフローエレメントと接続されておらず、プロセスインスタンスの通常の実行の流れとは独立しています。
プロセス開始時、または開始後の任意のタイミングで、プロセスインスタンスの関係者が「タスク追加」画面からタスクを追加できます。

61

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：プロセスインスタンスの実行の流れ
上記の図でいうと、プロセスインスタンスの通常の実行の流れにおいては(1)~(3)のタスクのみが実行されます。
ユーザタスクAとユーザタスクBはオプショナルタスクであり、この実行の流れからは独立しています。
この2つのタスクは、それぞれタスクの追加が行われることで実行されます。

プロセスデザイナでの設定
配置したフローエレメントのプロパティにて「オプショナル」設定をオンにすることで、そのフローエレメントはオプショナルタスクとして動作します。
以下の種類のフローエレメントに対して設定可能です。
タスク
ユーザタスクスクリプトタスク
サービスタスク
メールタスクマニュアルタスク
受信タスク
コールアクティビティ
IM-LogicDesignerタスク
申請タスク
起票タスク

図：「オプショナル」の設定
オプショナルタスクのプロパティとして、以下を設定可能です。
実行中のタスクを複数追加可能にするオンにした場合、このタスクが既に実行中であっても再度追加でき、複数個のタスクが同時に実行できます。
ただし、追加したタスクがまだ実行されておらず 事前追加状態 である場合は、再度の追加は行えません。
オフにした場合は同時に1つしかタスクを追加できません。
タスク追加時のパラメータ
このタスクで用いられるパラメータを定義できます。
各パラメータについて、表示名・変数名・入力タイプを設定可能です。
詳細については次項の オプショナルタスクのパラメータ を参照してください。

62

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム
設定方法の詳細については、「IM-BPM プロセスデザイナ 操作ガイド」 - 「ユーザタスク」（※ユーザタスクの場合）を参照してください。

オプショナルタスクのパラメータ
オプショナルタスクには、パラメータを任意の数だけ定義できます。
定義したパラメータは、ユーザがタスクの追加を行う際に画面に表示され、ユーザは入力タイプに応じた値を任意で入力します。
実際にタスクが実行された際に、パラメータの値は追加されたこのタスクからのみ参照できるエグゼキューション変数に格納されます。
各パラメータには、個別に以下を定義します。
表示名
このパラメータの表示名を定義します。
タスクの追加を行う際に表示され、ユーザにこのパラメータを認識・区別してもらうために用いられます。
変数名
このパラメータの変数としての名前を定義します。
タスクが実行された際、この名前でエグゼキューションに変数が作られ、ユーザが入力した値が格納されます。
入力タイプ
このパラメータの型を定義します。
以下の種類から選択します。
入力タイプ

対応する変数の型

補足

文字列

string－英字string－英数字

string－数字

integer

－

日付

date

カレンダーを利用して、日付を入力します。

真偽値

boolean

チェックボックスを利用して、 TRUE （チェックを付けた場合） /FALSE （チェックを外した場合） を入力します。

複数行の文字列

string－ユーザ検索

string

IM-共通マスタ 検索画面を用いて、単一のユーザを入力します。

（ユーザコード）

現在日を検索基準日とします。

serializable

IM-共通マスタ 検索画面を用いて、複数のユーザを入力します。

（ユーザコードを要素に持つ配列）

現在日を検索基準日とします。

serializable

IM-共通マスタ 検索画面を用いて、単一の組織を入力します。

（会社コード、組織セットコード、

現在日を検索基準日とします。

ユーザ検索（複数）

組織検索

組織コードを要素に持つMap）
列挙値

string

IM-Repositoryの列挙型をパラメータ定義時に指定します。
タスクの追加時には列挙型に紐づく列挙項目が選択肢として表示され、ユーザは択一で選択します。

列挙ID
入力タイプに「列挙値」を選択した場合に表示されます。
IM-Repositoryの列挙型のIDを指定します。
検索画面を用いて列挙型を選択することも可能です。

コラム
IM-Repositoryの列挙型の詳細については、「IM-Repository ユーザ操作ガイド」 - 「列挙」を参照してください。

制約
オプショナルタスクは、通常のフローエレメントと異なり、以下のような制約を持ちます。
シーケンスフローの始点・終点として指定できない
境界イベントを設定できない

63

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
マルチインスタンスを設定できない
実行モードを非同期に設定できない
マルチインスタンスが設定されたコンテナ内に配置できない

タスクの追加プロセスインスタンスに対してタスクを追加するための画面のことを「タスク追加」画面と呼びます。
以下の2通りの方法で「タスク追加」画面を開き、オプショナルタスクを追加することが可能です。
プロセス開始時にタスクを追加する場合
プロセスデザイナでの設定が必要です。
プロセス定義のプロパティとして「開始時にオプショナルタスクの追加を行う」をオンにすることで、プロセス開始時に自動的に開かれます。
プロセスインスタンスの開始者がこれを行えます。
任意のタイミングでタスクを追加する場合
開始済みのプロセスインスタンスについて、プロセス詳細画面・プロセス参照画面のヘッダメニューから開くことができます。
プロセスインスタンスの関係者がこれを行えます。

図：「タスク追加」
タスクを追加する際には、オプショナルタスクに定義された各パラメータの値を入力する必要があります。
詳細については、前述の オプショナルタスクのパラメータ を参照してください。

コラム「タスク追加」画面の詳細については、「IM-BPM ユーザ操作ガイド」 - 「タスクを追加する」を参照してください。

追加されたタスクの実行タイミング
オプショナルタスクは、通常のフローエレメント同様、コンテナ（プロセスインスタンス自体、またはサブプロセス・イベントサブプロセス）に所属しています。
タスクを追加した際、そのオプショナルタスクが所属するコンテナの状態に応じて、追加されたタスクは以下のように振舞います。
コンテナが実行中である場合追加されたタスクは即座に実行されます。

64

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：コンテナに所属しているオプショナルタスクが即座に実行されるプロセスの状態
コンテナが実行中ではない場合追加されたタスクは、事前追加状態として扱われ、即座には実行されません。
プロセスインスタンスの実行状態が所属しているコンテナに到達し、コンテナが実行中になった際に実行されます。

図：コンテナに所属しているオプショナルタスクが事前追加状態になるプロセスの状態

コラム
所属するコンテナが複数実行されている場合は、タスクの追加を行うことはできません。

コラム
コンテナに所属する追加されたタスクが実行中の場合は、コンテナは完了しません。

プロセスインスタンスの履歴
プロセスインスタンスに追加されたタスクは、プロセスインスタンスの履歴に時系列で表示されます。
履歴画面では、オプショナルタスクを追加したユーザ、および追加した際のパラメータの詳細を確認できます。

65

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：「タスク履歴」

図：「オプショナルタスク詳細」

コラム
プロセスインスタンスの履歴の確認方法については、「IM-BPM ユーザ操作ガイド」 - 「処理の履歴を確認する 」を参照してくだ
さい。

マイグレーション追加されたオプショナルタスクを含むプロセスインスタンスをマイグレーションする際、オプショナルタスクを引き継ぐかを選択できます。

66

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
引き継がないことを選択した場合
移行後のプロセスインスタンスには、オプショナルタスクは追加されません。
引き継ぐことを選択した場合
移行後のプロセスインスタンスで実行中のコンテナにて、移行前のオプショナルタスクと同一のアクティビティIDを持つオプショナル
タスクが追加されます。

アドホックタスク
IM-BPM for Accel Platform では、プロセスインスタンスの実行の流れとは関係なく、ユーザが判断したタイミングでタスクを追加できる機能を用意しています。
追加される可能性のあるタスクをあらかじめプロセス内に定義せず、タスク追加時に自由に作成できます。
このような非定型なタスクのことを「アドホックタスク」と呼びます。

項目
概要
プロセスデザイナでの設定
タスクの追加プロセスインスタンスの履歴
マイグレーション

概要
プロセスデザイナで「アドホックタスクを使用する」設定をオンにしたプロセスには、アドホックタスクを追加できます。
アドホックタスクは、通常のタスクとは異なり、追加されるまではプロセスインスタンス内に存在していません。
プロセス開始後の任意のタイミングで、プロセスインスタンスの関係者が「タスク追加」画面からタスクを追加できます。

図：「タスク追加」
追加されたアドホックタスクは、ユーザタスクとしてプロセスインスタンス内に配置されますが、プロセス図には表示されません。
プロセスインスタンスの履歴や、各タスク一覧から確認できます。

67

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：「プロセス参照」 - 「プロセス図とタイムラインを拡大表示」

プロセスデザイナでの設定
プロセスのプロパティにて「アドホックタスクを使用する」設定をオンにすることにより、そのプロセス、および、配下のサブプロセスに対して、アドホックタスクを追加できます。
このとき、あわせて「アドホックタスクのフォームキー」を入力する必要があります。
指定可能なフォームは、チケットモジュール内で管理されている、チケットマスタです。
「チケットマスタ検索」をクリックしてチケットマスタを検索して指定するか、または ticket: プレフィクスに続いてチケットマスタのマスタIDを入力します。

図：「プロセスエディタ」 - 「プロセス」 - 「アドホックタスクを使用する」

68

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム
設定方法の詳細については、「IM-BPM プロセスデザイナ 操作ガイド」 - 「プロセス」を参照してください。
また、チケットモジュールについては、「チケットモジュール管理者操作ガイド」を参照してください。

タスクの追加プロセスインスタンスに対してタスクを追加するための画面のことを「タスク追加」画面と呼びます。
「タスク追加」画面は、開始したプロセスインスタンスのプロセス詳細画面・プロセス参照画面のヘッダメニューから開くことができます。
プロセスインスタンスの関係者がこれを行えます。

図：「プロセス参照」 - 「タスク追加」 - 「その他のタスクを追加する」
現在実行中のコンテナには、「その他のタスクを追加する」ボタンが表示されます。
「その他のタスクを追加する」ボタンをクリックすることで、プロセス定義に設定された「アドホックタスクのフォームキー」に紐づくフォーム
画面が開かれます。
このフォームに値を入力して登録を行うことで、そのコンテナにアドホックタスクが追加されます。

コラム
アドホックタスクの所属するコンテナが複数実行されている場合は、タスクの追加を行うことはできません。

コラム「タスク追加」画面の詳細については、「IM-BPM ユーザ操作ガイド」 - 「タスクを追加する」を参照してください。

タスクのフォーム画面との連携
アドホックタスクのフォーム画面に以下の項目が存在する場合は、項目に入力されたデータがタスクの属性に連携されます。
また、タスク追加後にタスクの属性が変更された場合には、対応するフォームの各項目のデータにも反映されます。
フォームの項目名

タスクの属性

タイトル

タスク名

担当者

タスクの担当者

優先度

タスクの優先度

期限

タスクの期限69

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：連携項目が存在するフォーム画面

コラム
アドホックタスクを追加したユーザは、タスクの処理対象ユーザとして扱われます。
また、タスクの担当者に指定されたユーザは、タスクの処理対象ユーザとしても扱われます。

追加されたタスクの実行タイミング
アドホックタスクは、追加されるといずれかのコンテナ（プロセスインスタンス自体、またはサブプロセス・イベントサブプロセス）に所属し、ユーザタスクとして即座に実行されます。
タスクの担当者が指定されていた場合は、指定されたそのユーザの個人タスクとして割り当てられます。
そうでない場合は、タスクの処理対象ユーザのグループタスクとして分類されます。

図：「タスク一覧」 - 「グループタスク」

追加されたタスクの処理
アドホックタスクは、通常のユーザタスクと同様に、タスクの担当者がフォーム画面を開いて処理することが可能です。
それに加えて、フォーム画面にて各項目にデータを入力して「更新」ボタンをクリックすることで、処理を行わずに項目のデータのみを更新することも可能です。
このとき、「タスクのフォーム画面との連携」 で対象となっている項目を更新することで、タスクの属性も変更されます。

70

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：「個人タスク一覧」 - 「処理」

コラム
コンテナに所属する追加されたタスクが実行中の場合は、他のタスクをすべて処理してもコンテナは完了しません。

プロセスインスタンスの履歴追加されたタスクは、プロセスインスタンスの履歴に時系列で表示されます。
履歴画面では、アドホックタスクを追加したユーザ、アドホックタスクの追加先のコンテナ名、および、現在のフォームのデータの詳細を確認で
きます。

71

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：「プロセス参照」

図：「プロセス参照」 - 「タスク詳細」

72

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
コラム
プロセスインスタンスの履歴の確認方法については、「IM-BPM ユーザ操作ガイド」 - 「処理の履歴を確認する 」を参照してくだ
さい。

マイグレーション追加されたアドホックタスクを含むプロセスインスタンスをマイグレーションする際、アドホックタスクを引き継ぐかを選択できます。
引き継がないことを選択した場合
移行後のプロセスインスタンスには、アドホックタスクは追加されません。
引き継ぐことを選択した場合
移行後のプロセスインスタンスにおいて、移行前のアドホックタスクが所属するコンテナと同一のアクティビティIDを持つコンテナに対して、アドホックタスクが追加されます。
実行中であるコンテナのみを対象とします。

注意
引き継ぐことを選択した場合について関係者が設定されているアドホックタスクについては、移行後に同一の関係者が存在しない場合、移行することはできません。

73

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

画面仕様
一覧画面リクエストパラメータ
IM-BPM for Accel Platformの各一覧画面は、特定のリクエストパラメータを引き渡すことで、表示内容の絞り込みを行えます。

コラム
intra-mart Accel Platform のメニュー機能で、リクエストパラメータを引数として一覧画面に引き渡すことが可能です。
詳細については、「テナント管理者操作ガイド」-「メニューを設定する」を参照してください。

コラム
IM-BPM for Accel Platform 2023 Autumn(Hollyhock) より時刻引き渡し用のリクエストパラメータが利用できます。
なお、時刻用リクエストパラメータは単独では利用できません。日付用リクエストパラメータと組合わせてご利用ください。
【例】タスク一覧-グループタスクの作成日時（FROM）に2023年12月01日10時30分を受け渡す場合
bpm/task/list?group.retains%5Bcondition%5D%5BcreatedAfter%5D=2023%2F12%2F01&group.retains%5Bcondition%5D%5BcreatedAfterTime%5D=10%3A30

項目
ユーザ向け画面
プロセス開始一覧画面
タスク一覧画面
グループタスク一覧画面
個人タスク一覧画面
処理済一覧画面プロセス一覧画面
管理者向け画面
管理者向けプロセス一覧画面
タスク管理一覧画面

ユーザ向け画面
プロセス開始一覧画面
プロセス開始一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/task/startableList
項目名

キー

値

プロセス定義名

retains%5Bcondition%5D%5BnameLike%5D

文字列（部分一致）

カテゴリ

retains%5Bcondition%5D%5BcategoryLike%5D 文字列（部分一致）

タスク一覧画面
タスク一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/task/list

グループタスク一覧
項目名

キー

値

プロセス定義名

group.retains%5Bcondition%5D%5BprocessDefinitionNameLike%5D

文字列（部分一致）

74

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目名

キー

値

業務キー

group.retains%5Bcondition%5D%5BprocessInstanceBusinessKeyLike%5D 文字列（部分一致）

カテゴリ

group.retains%5Bcondition%5D%5BtaskCategory%5D

文字列（完全一致）

タスク名

group.retains%5Bcondition%5D%5BnameLike%5D

文字列（部分一致）

優先度（最小値）

group.retains%5Bcondition%5D%5BminimumPriority%5D

数値（整数値）

優先度（最大値）

group.retains%5Bcondition%5D%5BmaximumPriority%5D

数値（整数値）

作成日時（from）

group.retains%5Bcondition%5D%5BcreatedAfter%5D

日付

group.retains%5Bcondition%5D%5BcreatedAfterTime%5D（YYYY%2FMM%2FDD）
時刻（HH%3AMM）

作成日時（to）

group.retains%5Bcondition%5D%5BcreatedBefore%5D

日付

group.retains%5Bcondition%5D%5BcreatedBeforeTime%5D（YYYY%2FMM%2FDD）
時刻（HH%3AMM）

期限日時（from）

group.retains%5Bcondition%5D%5BdueAfter%5D

日付

group.retains%5Bcondition%5D%5BdueAfterTime%5D（YYYY%2FMM%2FDD）
時刻（HH%3AMM）

期限日時（to）

group.retains%5Bcondition%5D%5BdueBefore%5D

日付

group.retains%5Bcondition%5D%5BdueBeforeTime%5D（YYYY%2FMM%2FDD）
時刻（HH%3AMM）

group.retains%5Bcondition%5D%5BwithoutDueDate%5D

期限日時なし真偽値（true/false）

個人タスク一覧
項目名

キー

値

プロセス定義名

user.retains%5Bcondition%5D%5BprocessDefinitionNameLike%5D

文字列（部分一致）

業務キー

user.retains%5Bcondition%5D%5BprocessInstanceBusinessKeyLike%5D 文字列（部分一致）

カテゴリ

user.retains%5Bcondition%5D%5BtaskCategory%5D

文字列（完全一致）

タスク名

user.retains%5Bcondition%5D%5BnameLike%5D

文字列（部分一致）

優先度（最小user.retains%5Bcondition%5D%5BminimumPriority%5D

数値（整数値）

user.retains%5Bcondition%5D%5BmaximumPriority%5D

数値（整数値）

作成日時

user.retains%5Bcondition%5D%5BcreatedAfter%5D日付（YYYY%2FMM%2FDD）（from）

user.retains%5Bcondition%5D%5BcreatedAfterTime%5D

時刻（HH%3AMM）

作成日時（to）

user.retains%5Bcondition%5D%5BcreatedBefore%5D日付（YYYY%2FMM%2FDD）

user.retains%5Bcondition%5D%5BcreatedBeforeTime%5D

時刻（HH%3AMM）

期限日時

user.retains%5Bcondition%5D%5BdueAfter%5D日付（YYYY%2FMM%2FDD）（from）

user.retains%5Bcondition%5D%5BdueAfterTime%5D

時刻（HH%3AMM）

期限日時（to）

user.retains%5Bcondition%5D%5BdueBefore%5D日付（YYYY%2FMM%2FDD）

user.retains%5Bcondition%5D%5BdueBeforeTime%5D

時刻（HH%3AMM）

user.retains%5Bcondition%5D%5BwithoutDueDate%5D

真偽値（true/false）値）
優先度（最大値）

期限日時なしグループタスク一覧画面
グループタスク一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/task/groupList
項目名

キー

値

プロセス定義名

retains%5Bcondition%5D%5BprocessDefinitionNameLike%5D

文字列（部分一致）

75

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目名

キー

値

業務キー

retains%5Bcondition%5D%5BprocessInstanceBusinessKeyLike%5D 文字列（部分一致）

カテゴリ

retains%5Bcondition%5D%5BtaskCategory%5D

文字列（完全一致）

タスク名

retains%5Bcondition%5D%5BnameLike%5D

文字列（部分一致）

優先度（最小値）

retains%5Bcondition%5D%5BminimumPriority%5D

数値（整数値）

優先度（最大値）

retains%5Bcondition%5D%5BmaximumPriority%5D

数値（整数値）

作成日時（from） retains%5Bcondition%5D%5BcreatedAfter%5D

作成日時（to）

時刻（HH%3AMM）

retains%5Bcondition%5D%5BcreatedBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BcreatedBeforeTime%5D

時刻（HH%3AMM）

期限日時（from） retains%5Bcondition%5D%5BdueAfter%5D

期限日時（to）

期限日時なし日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BcreatedAfterTime%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BdueAfterTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BdueBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BdueBeforeTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BwithoutDueDate%5D

真偽値（true/false）

個人タスク一覧画面
個人タスク一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/task/userList
項目名

キー

値

プロセス定義名

retains%5Bcondition%5D%5BprocessDefinitionNameLike%5D

文字列（部分一致）

業務キー

retains%5Bcondition%5D%5BprocessInstanceBusinessKeyLike%5D 文字列（部分一致）

カテゴリ

retains%5Bcondition%5D%5BtaskCategory%5D

文字列（完全一致）

タスク名

retains%5Bcondition%5D%5BnameLike%5D

文字列（部分一致）

優先度（最小値） retains%5Bcondition%5D%5BminimumPriority%5D

数値（整数値）

優先度（最大値） retains%5Bcondition%5D%5BmaximumPriority%5D

数値（整数値）

作成日時

retains%5Bcondition%5D%5BcreatedAfter%5D日付（YYYY%2FMM%2FDD）（from）

retains%5Bcondition%5D%5BcreatedAfterTime%5D

時刻（HH%3AMM）

作成日時（to）

retains%5Bcondition%5D%5BcreatedBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BcreatedBeforeTime%5D

時刻（HH%3AMM）

期限日時

retains%5Bcondition%5D%5BdueAfter%5D日付（YYYY%2FMM%2FDD）（from）

retains%5Bcondition%5D%5BdueAfterTime%5D

時刻（HH%3AMM）

期限日時（to）

retains%5Bcondition%5D%5BdueBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BdueBeforeTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BwithoutDueDate%5D

真偽値（true/false）

期限日時なし処理済一覧画面
処理済一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/task/processedList

処理済タスク一覧

76

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目名

キー

プロセス定義名

retains%5Bcondition%5D%5BprocessDefinitionNameLike%5D 文字列（部分一致）

業務キー

retains%5Bcondition%5D%5BprocessBusinessKeyLike%5D

文字列（部分一致）

カテゴリ

retains%5Bcondition%5D%5BtaskCategory%5D

文字列（完全一致）

タスク名

retains%5Bcondition%5D%5BtaskNameLike%5D

文字列（部分一致）

優先度（最小値）

retains%5Bcondition%5D%5BtaskMinPriority%5D

数値（整数値）

優先度（最大値）

retains%5Bcondition%5D%5BtaskMaxPriority%5D

数値（整数値）

作成日時（from）

retains%5Bcondition%5D%5BtaskCreatedAfter%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BtaskCreatedAfterTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BtaskCreatedBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BtaskCreatedBeforeTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BdueDateAfter%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BdueDateAfterTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BdueDateBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BdueDateBeforeTime%5D

時刻（HH%3AMM）

期限日時なしretains%5Bcondition%5D%5BwithoutDueDate%5D

真偽値（true/false）

終了日時（from）

retains%5Bcondition%5D%5BtaskCompletedAfter%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BtaskCompletedAfterTime%5D

時刻（HH%3AMM）

retains%5Bcondition%5D%5BtaskCompletedBefore%5D日付（YYYY%2FMM%2FDD）

retains%5Bcondition%5D%5BtaskCompletedBeforeTime%5D

時刻（HH%3AMM）

作成日時（to）

期限日時（from）

期限日時（to）

終了日時（to）

値

開始済プロセス一覧
項目名

キー

値

プロセス定義名

started.retains%5Bcondition%5D%5BprocessDefinitionNameLike%5D

文字列（部分一致）

業務キー

started.retains%5Bcondition%5D%5BprocessBusinessKeyLike%5D

文字列（部分一致）

開始日時

started.retains%5Bcondition%5D%5BstartedAfter%5D日付（YYYY%2FMM%2FDD）（from）

started.retains%5Bcondition%5D%5BstartedAfterTime%5D

時刻（HH%3AMM）

開始日時（to）

started.retains%5Bcondition%5D%5BstartedBefore%5D日付（YYYY%2FMM%2FDD）

started.retains%5Bcondition%5D%5BstartedBeforeTime%5D

時刻（HH%3AMM）

完了日時

started.retains%5Bcondition%5D%5BfinishedAfter%5D日付（YYYY%2FMM%2FDD）（from）

started.retains%5Bcondition%5D%5BfinishedAfterTime%5D

時刻（HH%3AMM）

完了日時（to）

started.retains%5Bcondition%5D%5BfinishedBefore%5D日付（YYYY%2FMM%2FDD）

started.retains%5Bcondition%5D%5BfinishedBeforeTime%5D

時刻（HH%3AMM）

カテゴリ

started.retains%5Bcondition%5D%5BprocessDefinitionCategoryLike%5D 文字列（部分一致）

ステータス

started.retains%5Bcondition%5D%5Bstatus%5D

以下のいずれかの固定文字列
runningerror
finished

プロセス一覧画面
プロセス一覧画面は、以下のリクエストパラメータを受け取ることで指定されたクエリを初期表示できます。
URL
bpm/process/instance/identitylink

プロセス一覧クエリ

77

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目名

キー

値

クエリID

urlParam%5BqueryId%5D= 文字列（完全一致）

管理者向け画面
管理者向けプロセス一覧画面
管理者向けプロセス一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/process/instance/list
項目名

キー

値

業務キー（部分一 searchForm%5BbusinessKeyLike%5D

文字列（部分一致）

致）
業務キー（完全一 searchForm%5BbusinessKey%5D

文字列（完全一致）

致）
プロセス定義ID

searchForm%5BprocessDefinitionId%5D

文字列（完全一致）

プロセス定義キー searchForm%5BprocessDefinitionKey%5D

文字列（完全一致）

プロセス定義バー searchForm%5BprocessDefinitionVersion%5D

数値（整数値）

ジョン
プロセス定義名

searchForm%5BprocessDefinitionName%5D

文字列（完全一致）

カテゴリ

searchForm%5BprocessDefinitionCategory%5D

文字列（完全一致）

開始日（from）

searchForm%5BstartedAfter%5D日付（YYYY%2FMM%2FDD）

searchForm%5BstartedAfterTime%5D

時刻（HH%3AMM）

searchForm%5BstartedBefore%5D日付（YYYY%2FMM%2FDD）

searchForm%5BstartedBeforeTime%5D

時刻（HH%3AMM）

searchForm%5BfinishedAfter%5D日付（YYYY%2FMM%2FDD）

searchForm%5BfinishedAfterTime%5D

時刻（HH%3AMM）

searchForm%5BfinishedBefore%5D日付（YYYY%2FMM%2FDD）

searchForm%5BfinishedBeforeTime%5D

時刻（HH%3AMM）

searchForm%5Bstatus%5D

以下のいずれかの固定文字列

開始日（to）

完了日（from）

完了日（to）

ステータス

runningerror
finished
定義種別

searchForm%5BprocessDefinitionType%5D

以下のいずれかの固定文字列
CASE
PROCESS

XXX番目の変数

searchForm%5Bvariables%5D%5BXXX%5D%5Bname%5D

文字列（完全一致）

searchForm%5Bvariables%5D%5BXXX%5D%5Btype%5D

以下のいずれかの固定文字列

名
XXX番目の変数

stringの型

integerlongdoubledate
datetimeboolean78

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目名

キー

値

XXX番目の変数

searchForm%5Bvariables%5D%5BXXX%5D%5Boperation%5D

以下のいずれかの固定文字列
equalsの演算子

notEquals
equalsIgnoreCase
like
lessThanlessThanOrEquals
greaterThan
greaterThanOrEquals
from-to（datetime型のみ）
XXX番目の変数

searchForm%5Bvariables%5D%5BXXX%5D%5Bvalue%5D－の値
XXX番目のFROM searchForm%5Bvariables%5D%5BXXX%5D%5Bvalue_date_from%5D 日付（YYYY%2FMM%2FDD）
日時変数の値

searchForm%5Bvariables%5D%5BXXX%5D%5Bvalue_time_from%5D 時刻（HH%3AMM）（datetime型のみ利用可）
XXX番目のTO日

searchForm%5Bvariables%5D%5BXXX%5D%5Bvalue_date_to%5D日付（YYYY%2FMM%2FDD）

時変数の値

searchForm%5Bvariables%5D%5BXXX%5D%5Bvalue_time_to%5D

時刻（HH%3AMM）（datetime型の
み利用可）

注意
業務キーの完全一致と部分一致検索について
業務キー（完全一致）は、2018 Summer(Tiffany)以前のバージョンのみ完全一致で動作します。
2018 Winter(Urara)以降のバージョンで、業務キー（完全一致）を設定した場合、部分一致で動作します。
2018 Summer(Tiffany)以前のバージョンで、業務キー（部分一致）を設定した場合、動作しません。

コラム「XXX番目の変数の型:datetime」「XXX番目のFROM日時変数の値」「XXX番目のTO日時変数の値」は、 IM-BPM for Accel
Platform 2023 Autumn(Hollyhock) より利用できます。

タスク管理一覧画面
タスク管理一覧画面は、以下のリクエストパラメータを受け取ることが可能です。
URL
bpm/management/taskList
項目名

キー

値

プロセス定義名

condition%5BprocessDefinitionNameLike%5D

文字列（部分一致）

業務キー

condition%5BprocessInstanceBusinessKeyLike%5D 文字列（部分一致）

カテゴリ

condition%5BtaskCategory%5D

文字列（完全一致）

タスク名

condition%5BnameLike%5D

文字列（部分一致）

優先度（最小値）

condition%5BminimumPriority%5D

数値（整数値）

優先度（最大値）

condition%5BmaximumPriority%5D

数値（整数値）

担当者未割り当て

condition%5Bunassigned%5D

真偽値（true/false）

担当者

condition%5Bassignee%5D

ユーザコード（完全一致）

作成日時（from）

condition%5BcreatedAfter%5D日付（YYYY%2FMM%2FDD）

condition%5BcreatedAfterTime%5D

時刻（HH%3AMM）

condition%5BcreatedBefore%5D日付（YYYY%2FMM%2FDD）

condition%5BcreatedBeforeTime%5D

時刻（HH%3AMM）

作成日時（to）

79

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
項目名

キー

値

期限日時（from）

condition%5BdueAfter%5D日付（YYYY%2FMM%2FDD）

condition%5BdueAfterTime%5D

時刻（HH%3AMM）

condition%5BdueBefore%5D日付（YYYY%2FMM%2FDD）

condition%5BdueBeforeTime%5D

時刻（HH%3AMM）

condition%5BwithoutDueDate%5D

真偽値（true/false）

期限日時（to）

期限日時なしプロセス図の独自画面での利用
IM-BPM for Accel Platformの特定の画面では、プロセス定義やプロセスインスタンスの情報を、「プロセス図」として表示しています。
2018 Winter(Urara)より、このプロセス図を製品標準画面以外から利用するための機構が提供されています。
プロセス図の種類ごとに表示用のURLが提供されています。
独自画面にインラインフレームを用意し、その中に用途に応じたURLを埋め込むことで、その領域にプロセス図を表示できます。
さらに、ブラウザ上で用意されているAPIを実行し、プロセス図を操作することも可能です。

項目
プロセス図の種類
プロセス定義全体の実行情報
プロセスインスタンスの実行情報
プロセス定義の情報
プロセス図の操作
前提条件
プロセス図で特定のイベントが発生したときに処理を実行する
任意のタイミングでプロセス図を操作する
プロセス図の読み込み時にインジケータを表示する

プロセス図の種類
プロセス図には次の3種類が存在します。

プロセス定義全体の実行情報

図：プロセス図（プロセス定義全体の実行情報）
指定したプロセス定義の全体の実行情報が表示されるプロセス図です。
IM-BPM管理者のみがアクセス可能です。
URLとパラメータは以下の通りです。
bpm/designer/external/definition/viewer?processDefinitionId={プロセス定義ID}

80

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
パラメータ名説明

processDefinitionId

デプロイされたプロセス定義ID

プロセスインスタンスの実行情報

図：プロセス図（プロセスインスタンスの実行情報）
開始済みのプロセスインスタンス一つの実行情報が表示されるプロセス図です。
IM-BPM管理者、またはこのプロセスインスタンスの関係者であるIM-BPMプロセス参照ユーザがアクセス可能です。
URLとパラメータは以下の通りです。
bpm/designer/external/instance/viewer?processInstanceId={プロセスインスタンスID}

パラメータ名説明

processInstanceId

開始したプロセスインスタンスID

プロセス定義の情報

図：プロセス図（プロセス定義の情報）指定したプロセス定義の図のみが表示されるプロセス図です。
IM-BPM管理者、またはIM-BPMプロセス参照ユーザがアクセス可能です。
URLとパラメータは以下の通りです。

81IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
bpm/designer/external/definition/simple/viewer?processDefinitionId={プロセス定義ID}

パラメータ名説明

processDefinitionId

デプロイされたプロセス定義ID

プロセス図の操作
プロセス図が表示されたインラインフレームに対し、外部からスクリプト処理を実行することで、プロセス図を操作することが可能です。
ここでは、以下の操作の実現方法を説明します。
プロセス図で特定のイベントが発生したときに処理を実行する
任意のタイミングでプロセス図を操作する
プロセス図の読み込み時にインジケータを表示する

前提条件
DOMオブジェクトの取得
スクリプト処理を実行する際には、事前にインラインフレームのDOMオブジェクトを取得している必要があります。
画面にインラインフレーム（ <iframe> タグ）が1つ存在する<iframe> タグの name 属性の値が、 iframe1 である
例えば、上記の条件を満たしているとき、インラインフレームのDOMオブジェクトは、次のようなスクリプト処理で取得可能です。
var iframe = document.getElementsByName("iframe1")[0];次項以降のサンプルコードでは、事前に取得したDOMオブジェクトが変数 iframe に代入されていることを前提とします。

画面のロードの完了
インラインフレームに対して処理を実行する際には、その時点で既に以下が完了している必要があります。
インラインフレームのロード
プロセス図の読み込み
前者については、インラインフレームのDOMオブジェクトの onload が実行されることで確認できます。
後者については、プロセス図にてイベント viewer-loaded が発生することで確認できます。
次のようなスクリプト処理で、両者を合わせて確認可能です。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {console.log("読み込み完了");});};

図：画面のロードの完了時の処理

82

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
プロセス図で特定のイベントが発生したときに処理を実行する

図：イベント発生時の処理（アクティビティがクリックされた場合の例）

アクティビティのクリックイベント(activity-click)
プロセス図内のアクティビティがクリックされると、activity-click イベントが発生します。
イベントハンドラにて、アクティビティのクリック時の処理を記述することが可能です。
iframe.onload = function() {iframe.contentWindow.addEventListener("activity-click", function(event) {console.log("アクティビティがクリックされました。ID: " + event.detail.id);});};

イベントハンドラの第一引数に渡されるイベントオブジェクトの detail プロパティにて詳細な情報を確認できます。
detail プロパティは以下の子プロパティを持ちます。
プロパティ名説明

id

対象のアクティビティのID

name

対象のアクティビティの名前

elementType

対象のアクティビティのエレメント種別

processDefinitionId

このプロセスのプロセス定義ID

processDefinitionKey

このプロセスのプロセス定義キー

processDefinitionName

このプロセスのプロセス定義名

eventName

イベント名clientXclientY
offsetX
offsetY
pageX
pageY
screenX
screenY

アクティビティのダブルクリックイベント(activity-dblclick)
プロセス図内のアクティビティがダブルクリックされると、activity-dblclick イベントが発生します。
イベントハンドラにて、アクティビティのダブルクリック時の処理を記述することが可能です。

83

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
iframe.onload = function() {iframe.contentWindow.addEventListener("activity-dblclick", function(event) {console.log("アクティビティがダブルクリックされました。ID: " + event.detail.id);});};

イベントハンドラの第一引数に渡されるイベントオブジェクトの detail プロパティにて詳細な情報を確認できます。
detail プロパティは以下の子プロパティを持ちます。
プロパティ名説明

id

対象のアクティビティのID

name

対象のアクティビティの名前

elementType

対象のアクティビティのエレメント種別

processDefinitionId

このプロセスのプロセス定義ID

processDefinitionKey

このプロセスのプロセス定義キー

processDefinitionName

このプロセスのプロセス定義名

eventName

イベント名clientXclientY
offsetX
offsetY
pageX
pageY
screenX
screenY

アクティビティのマウスオーバーイベント(activity-mouseenter)
プロセス図内のアクティビティにマウスカーソルが重なると、activity-mouseenter イベントが発生します。
イベントハンドラにて、アクティビティにマウスカーソルが重なった時の処理を記述することが可能です。
iframe.onload = function() {iframe.contentWindow.addEventListener("activity-mouseenter", function(event) {console.log("アクティビティにマウスカーソルが重なりました。ID: " + event.detail.id);});};

イベントハンドラの第一引数に渡されるイベントオブジェクトの detail プロパティにて詳細な情報を確認できます。
detail プロパティは以下の子プロパティを持ちます。
プロパティ名説明

id

対象のアクティビティのID

name

対象のアクティビティの名前

elementType

対象のアクティビティのエレメント種別

eventName

イベント名processDefinitionId

このプロセスのプロセス定義ID

processDefinitionKey

このプロセスのプロセス定義キー

processDefinitionName

このプロセスのプロセス定義名

アクティビティのマウスアウトイベント(activity-mouseleave)
プロセス図内のアクティビティから、マウスカーソルが外れると、activity-mouseleave イベントが発生します。
イベントハンドラにて、アクティビティからマウスカーソルが外れた時の処理を記述することが可能です。

84

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
iframe.onload = function() {iframe.contentWindow.addEventListener("activity-mouseleave", function(event) {console.log("アクティビティからマウスカーソルが外れました。ID: " + event.detail.id);});};

イベントハンドラの第一引数に渡されるイベントオブジェクトの detail プロパティにて詳細な情報を確認できます。
detail プロパティは以下の子プロパティを持ちます。
プロパティ名説明

id

対象のアクティビティのID

name

対象のアクティビティの名前

elementType

対象のアクティビティのエレメント種別

eventName

イベント名processDefinitionId

このプロセスのプロセス定義ID

processDefinitionKey

このプロセスのプロセス定義キー

processDefinitionName

このプロセスのプロセス定義名

注意
アクティビティのマウスアウトイベントについて
アクティビティのマウスアウトイベントは、2020 Winter(Azalea)以降のバージョンのみ動作します。
2020 Summer(Zephirine)以前のバージョンでは、プロセス図内のアクティビティからマウスカーソルが外れても activitymouseleave イベントは発生しません。

任意のタイミングでプロセス図を操作する
アクティビティの名前を変更する(imbpm.updateActivityName)
プロセス図内のアクティビティの名前を変更します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.updateActivityName("user-task_1", "任意のアクティビティ名");});};

imbpm.updateActivityName(id, name) メソッドのパラメータ
パラメータ名説明

id

対象のアクティビティのID

name

対象のアクティビティの名前

図：アクティビティの名前を変更

プロセスの実行情報を変更する(imbpm.updateProcessStatus)

85

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
プロセスの実行情報を変更します。
プロセス図内のアクティビティごとに実行情報を指定します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.updateProcessStatus({"user-task_1": {"active": {"count": 10},"failed": {"count": 1},"complete": {"count": 25}},"user-task_2": {"active": {"count": 20},"failed": {"count": 0},"complete": {"count": 15
}
}
});
});
};

imbpm.updateProcessStatus メソッドのパラメータ{"%id%": {"active": {"count": %activeCount%},"failed": {"count": %failedCount%},"complete": {"count": %completeCount%}}}

パラメータ名説明

id

対象のアクティビティのID

activeCount

対象のアクティビティの実行中の件数

failedCount

対象のアクティビティの障害中の件数

completeCount

対象のアクティビティの完了済みの件数

86

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
図：プロセスの実行情報を変更

アクティビティの情報を取得する(imbpm.getActivityDetail)
プロセス図内のアクティビティの情報を取得します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {var detail = iframe.contentWindow.imbpm.getActivityDetail("user-task_1");
console.log(detail);});};

imbpm.getActivityDetail(id) メソッドのパラメータ
パラメータ名説明

id

対象のアクティビティのID

imbpm.getActivityDetail(id) メソッドの戻り値のオブジェクトのプロパティ
パラメータ名説明

id

対象のアクティビティのID

name

対象のアクティビティの名前

height

対象のアクティビティの高さ

width

対象のアクティビティの横幅

図：アクティビティの情報を取得

プロセス図の拡大率を変更する(imbpm.setZoom)
プロセス図の拡大率を変更します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.setZoom(60);});};

imbpm.setZoom(scale) メソッドのパラメータ
パラメータ名説明

scale

プロセス図の拡大率

87

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：プロセス図の拡大率を変更

指定されたアクティビティが表示される位置へプロセス図を移動する(imbpm.setPosition)
指定されたアクティビティが表示される位置へプロセス図を移動します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.setPosition("user-task_2");});};

imbpm.setPosition(id) メソッドのパラメータ
パラメータ名説明

id

対象のアクティビティのID

図：アクティビティが表示される位置へプロセス図を移動

アクティビティの色を変更する(imbpm.setColor)
指定されたアクティビティの色を変更します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.setColor("user-task_1", "#FF0000");});};

imbpm.setColor(id, color) メソッドのパラメータ
パラメータ名説明

id

対象のアクティビティのID

color

カラーコード（6桁の16進トリプレット表記）

88IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：アクティビティの色を変更

アクティビティを選択状態にする(imbpm.activitySelected)指定されたアクティビティを選択状態にします。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.activitySelected("user-task_1");});};

imbpm.activitySelected(id) メソッドのパラメータ
パラメータ名説明

id

対象のアクティビティのID

図：アクティビティを選択

アクティビティの選択状態を解除する(imbpm.activityUnSelected)指定されたアクティビティの選択状態を解除します。
iframe.onload = function() {iframe.contentWindow.addEventListener("viewer-loaded", function(event) {iframe.contentWindow.imbpm.activityUnSelected("user-task_1");});};

imbpm.activityUnSelected(id) メソッドのパラメータ
パラメータ名説明

id

対象のアクティビティのID

89

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01

図：アクティビティの選択解除

注意
アクティビティの選択状態の解除について
アクティビティの選択状態の解除は、2020 Winter(Azalea)以降のバージョンのみ動作します。
2020 Summer(Zephirine)以前のバージョンでは、imbpm.activityUnSelected(id) メソッドは動作しません。

プロセス図の読み込み時にインジケータを表示する
imuiIndicatorを利用して、プロセス図の読み込み時にインジケータを表示し、読み込み完了時に消去します。
var $iframe = jQuery('iframe[name=iframe1]');$iframe.imuiIndicator();$iframe.load(function(){$iframe[0].contentWindow.addEventListener("viewer-loaded", function() {$iframe.imuiIndicator('destroy');});});

図：プロセス図の読み込み時にインジケータを表示

IM-BloomMaker連携
IM-BloomMakerエレメント一覧
IM-BPM for Accel Platform では以下のIM-BloomMakerエレメントを提供しています。
機能
プロセス図

仕様書

説明

プロセス図を表示するIM-BloomMakerエレ プロセス図を表示するエレメントです。
メント

IM-BloomMaker連携機能一覧
IM-BPM for Accel Platform では以下のIM-BloomMakerエレメントと連携して、プロセス・ケースの情報をIM-BloomMakerのコンテンツ上で90

IM-BPM for Accel Platform — IM-BPM 仕様書 第18版 2024-04-01
利用する機能を提供しています。
機能

仕様書

履歴タイムライン

履歴タイムライン（「履歴・コメント」エレ IM-BloomMakerの「履歴・コメント」エレメントと連携して、IMメント）

説明

BloomMakerのコンテンツ上にプロセスインスタンス・ケースイン
スタンスの履歴を表示できます。

91