IM-BPM for Accel Platform IM-BPM 仕様書 第13版 2020-04-01

4.16. EL式

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

4.16.1. 暗黙オブジェクト

ELで利用可能な暗黙オブジェクトは以下の通りです。
  • authenticatedUserId (String)

    認証済みユーザコード
    プロセスを実行する際のユーザコードが格納されています。
    このユーザコードはアカウントコンテキストの持つユーザコードと同等です。
    タスクを非同期に実行、タイマーをトリガとした処理、並列ゲートウェイ等、実行単位が別のスレッドとなる処理を介した場合には、値にnullが格納されます。
  • execution (DelegateExecution)

    実行時のエグゼキューションです。
    ${execution.id}: エグゼキューションIDの取得
    ${execution.processInstanceId}: プロセスインスタンスIDの取得
    ${execution.processBusinessKey}: 業務キーの取得
    ${execution.processDefinitionId}: プロセス定義IDの取得
    ${execution.superExecutionId}: 親エグゼキューションID
    ${execution.currentActivityId}: 実行中のアクティビティID
    ${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 設定ファイルリファレンス 」-「 システム変数の格納方式の設定 」を参照してください。

4.16.2. 変数の操作

4.16.2.1. 変数の存在確認

暗黙オブジェクト execution を利用します。
${execution.getVariable(‘myVarName’) != null}

4.16.2.2. 変数の追加

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

4.16.2.3. 変数の削除

暗黙オブジェクト execution を利用します。
DelegateExpression等で利用します。
${execution.removeVariable(‘myVarName’)}