この記事では、マッピング設定で利用できる暗黙的な変数について紹介します。
IM-LogicDesignerでは、ユーザ情報やシステム日時など、あらかじめ用意された情報を「暗黙的な変数」としてマッピング設定の入力値に利用できます。暗黙的な変数を利用することで、必要な情報を取得するための処理を別途用意することなく、マッピング設定から直接参照できます。
IM-LogicDesignerで利用できる暗黙的な変数にはどのような種類があるのか、それぞれの特徴とあわせて確認してみましょう。
暗黙的な変数とは?
暗黙的な変数とは、開発者が明示的に定義することなく、システムやフレームワークによってあらかじめ用意されている変数のことです。特定の処理やイベントに応じて値が設定されるため、必要な情報を簡単に参照できます。
IM-LogicDesignerでは、intra-mart Accel Platformで扱う情報を暗黙的な変数として利用できます。これらの変数は、用途に応じて以下のカテゴリに分類されています。
- アカウントコンテキスト
- 外部ユーザコンテキスト
- セッション情報
- 処理結果情報
- ユーザコンテキスト
暗黙的な変数を入力値に追加する場合は、セレクトボックスから追加したいカテゴリを選択し、[入力を追加]をクリックします。必要に応じて、複数のカテゴリを追加することもできます。

暗黙的な変数の利用方法
マッピング設定画面に暗黙的な変数を追加する方法について確認できます。暗黙的な変数は入力値のみに追加して利用できます。
ローコード操作マニュアル - マッピング設定 > 暗黙的な変数を利用する
暗黙的な変数の種類と特徴
IM-LogicDesignerでは、用途に応じてさまざまな暗黙的な変数が用意されています。それぞれの変数で取得できる情報と特徴を見ていきましょう。
ユーザに関する情報を保持する変数
ユーザの状態やプロファイル情報など、ユーザに関する情報を保持する暗黙的な変数について紹介します。
アカウントコンテキスト
アカウントコンテキストでは、アクセス中のユーザの状態(ステータス)に関する情報を取得できます。ユーザコードやロケールなどのアカウント情報に加え、認証状況などのプロパティも取得できます。

アカウントコンテキストから取得できる情報は、ロジックフローを実行したユーザが対象です。「ユーザ切り替え」制御要素を含む場合は、切り替え後のユーザが対象となります。
アカウントコンテキストの仕様
アカウントコンテキストに含まれる変数のプロパティ一覧と詳細な仕様について確認できます。
アクセスコンテキスト仕様書 – 4.6.1. アカウントコンテキスト
【参考】ユーザコードを入力値として利用する
チュートリアルガイドでは、アカウントコンテキストのuserCdという変数を入力値としたマッピング設定の例について確認できます。ここでは、登録者を操作ユーザとするために、アカウントコンテキストを利用しています。また、登録日を操作時点の日時とするため、この後に説明するセッション情報の利用についても紹介しています。
ローコード開発チュートリアルガイド – 4.2.3.1.1. ToDoの登録処理の修正
ユーザコンテキスト
ユーザコンテキストでは、IM-共通マスタで管理されているユーザプロファイル情報を取得できます。プロファイル情報や組織所属情報などを参照できます。

ユーザコンテキストから取得できる情報は、ロジックフローを実行したユーザが対象です。「ユーザ切り替え」制御要素を含む場合は、切り替え後のユーザが対象となります。
ユーザコンテキストの仕様
ユーザコンテキストに含まれる変数のプロパティ一覧と詳細な仕様について確認できます。
アクセスコンテキスト仕様書 – 4.6.2.ユーザコンテキスト
【参考】ユーザ名を変数に代入する
チュートリアルガイドでは、ユーザコンテキストのuserNameを入力値として利用するマッピング設定の例を確認できます。ここでは、ユーザ名を変数に代入するためにユーザコンテキストを利用しています。また、登録日を操作時点の日時とするため、この後に説明するセッション情報を利用しています。
IM-LogicDesignerチュートリアルガイド – 5.2.5.4. 変数へ値を代入する
外部ユーザコンテキスト
外部ユーザコンテキストでは、外部ユーザに関する情報を取得できます。外部ユーザかどうかを表すプロパティなどを参照できます。

intra-martでは、一般ユーザとは異なる権限を付与したユーザを「外部ユーザ」として設定できます。たとえば、社内ユーザを一般ユーザ、社外ユーザを外部ユーザとして、それぞれ権限を分けて管理できます。

外部ユーザコンテキストの仕様
外部ユーザコンテキストに含まれる変数のプロパティ一覧と詳細な仕様について確認できます。
アカウントコンテキスト仕様書 – 4.6.3. 外部ユーザコンテキスト
フローに関する情報を保持する変数
実行中のフローに関する情報やタスクの処理結果などを保持する暗黙的な変数について紹介します。
セッション情報
セッション情報では、セッション内で実行中のロジックフローに関する情報を取得できます。フローIDやバージョンなどのフローに関する情報に加え、日付情報や定数値なども取得できます。

セッション情報の仕様
セッション情報に含まれる変数のプロパティ一覧と詳細について確認できます。
IM-LogicDesignerチュートリアルガイド – 5.3.1.2.2. セッション情報
【参考】システム日時を利用する
チュートリアルガイドでは、セッション情報のsystemDateという変数を入力値としたマッピング設定の例について確認できます。ここでは、システム日時をアンケート回答登録日とするため、セッション情報を利用しています。また、回答者を操作ユーザとするため、アカウントテキストの利用についても触れています。
IM-LogicDesignerチュートリアルガイド – 4.4.3.2.4. タスクの配置と変数設定
処理結果情報
処理結果情報では、マッピング対象となるタスクの直前に実行されたタスクの処理結果に関する情報を取得できます。エラー情報などを参照する際に利用できます。

処理結果情報の仕様
処理結果情報に含まれる変数のプロパティ一覧と詳細について確認できます。
IM-LogicDesignerチュートリアルガイド – 5.7.3.1. 処理結果情報の詳細
【参考】エラーメッセージをログに出力する
チュートリアルガイドでは、処理結果情報のerrorMessageを入力値として利用するマッピング設定の例を確認できます。ここでは、エラーメッセージをログ出力の値として利用するため、処理結果情報を参照しています。
IM-LogicDesignerチュートリアルガイド – 5.7.3.2. エラー発生後のハンドリングを行うフローの作成
まとめ
IM-LogicDesignerのマッピング設定で暗黙的な変数を利用すると、ユーザ情報やシステム日時、タスクの処理結果など、必要な情報を簡単に参照できます。あらかじめ用意された変数を利用することで、必要な情報を取得するための処理を別途用意する必要がなくなり、マッピング設定を効率的に作成できます。
マッピング設定とあわせて、暗黙的な変数の種類や特徴を把握し、用途に応じて適切に利用できるようにしましょう。
intra-martでは、IM-LogicDesignerをもっと知っていただくためにマニュアルやコンテンツなどを豊富にご用意しています。IM-LogicDesignerの機能を最大限に発揮させるためにも、ぜひご活用ください。
