intra-mart Accel Platform IM-LogicDesigner チュートリアルガイド 第12版 2023-10-01

5.3.1. 様々な入力情報の利用

この章では、マッピング設定で利用可能な入力情報の詳細について説明します。

5.3.1.1. 他のエレメントの出力値の利用

マッピング設定画面の初期状態では、入力値として以下の値が利用可能でした。
  • 入力<object> - ロジックフローの入出力設定で設定された入力値
  • 定数<object> - ロジックフローの定数設定で設定された値
これらに加えマッピング設定では、エレメントの出力値を、他のエレメントの入力値として設定することが可能です。

コラム

出力値を持つエレメント/持たないエレメント

IM-LogicDesignerが提供するエレメントの、出力値の有無についての詳細は、「IM-LogicDesigner仕様書」 - 「付録」- 「タスク一覧」を参照してください。

5.3.1.1.1. 本章で利用するフロー

本章では、以下のタスクを説明のために利用します。
  1. 「パブリックストレージ取得」タスク(ストレージ操作)
  2. 「ストレージ情報取得」タスク(ストレージ操作)
  3. 「ログ出力」タスク(汎用タスク)
本章の追加方法を実施する場合、上記項番の順に接続されたロジックフローを準備してください。
以下は作成するロジックフローの接続例です。
../../../_images/output_sample_flow.png

図:ロジックフロー作成例

コラム

その他の設定について

本章では、マッピング設定後の動作確認は行いません。
そのため、本章で利用するフローに関する入力/出力設定や、フロールーティング設定等は行いません。

5.3.1.1.2. 入力値として他のエレメントの出力値の追加

マッピング設定で、他のエレメントの出力値を、入力値として追加する方法を説明します。
本チュートリアルでは、「ログ出力」タスクのマッピング設定において、「パブリックストレージ取得」タスク、および、「ストレージ情報取得」タスクの出力値を、入力値として追加します。
  1. フロー編集画面上の「ログ出力」タスクをクリックした上で、「マッピング設定」をクリックし、マッピング設定画面を開きます。

    ../../../_images/various_variable_add_variable1.png

    図:マッピング設定画面

  2. マッピング設定画面上部、ヘッダ内の左上に位置するセレクトボックスをクリックし、以下の項目を選択します。

    • エイリアス一覧 - im_publicStorage1
    ../../../_images/various_variable_add_variable2.png

    図:追加する入力のエイリアスを選択

  3. セレクトボックスの中身が変更されたことを確認し、右側にある「入力を追加」をクリックします。

    ../../../_images/various_variable_add_variable3.png

    図:「入力を追加」をクリック

  4. 入力値として、「パブリックストレージ取得」タスク(im_publicStorage1)の出力値が追加されました。

    ../../../_images/various_variable_add_variable4.png

    図:新しい入力値の追加(パブリックストレージ取得)

  5. 同様の手順で、「ストレージ情報取得」タスク(im_getStorageInfo1)の出力値を追加します。
    「ストレージ情報取得」タスクのような、出力値として階層化された値を持つ場合、その構造をもとに入力へ追加されます。
    ../../../_images/various_variable_add_variable5.png

    図:新しい入力値の追加(ストレージ情報取得)

以上で、他のエレメントの出力値を、入力値として追加できました。

注意

他のエレメントの出力値の利用位置と実行タイミング

他のエレメントの出力値は、対象となるエレメントが実行されてはじめて利用が可能です。
例えば、エレメントAの出力値をエレメントBで利用したい場合、エレメントBはエレメントAよりも後に実行される必要があります。

5.3.1.2. 暗黙的な変数の利用

IM-LogicDesignerでは、ユーザの定義した「定数値を定義する」以外にも、intra-mart Accel Platformの扱う以下の情報を暗黙的な変数、定数の一部として利用できます。
  • アカウントコンテキスト
  • セッション情報
  • 処理結果情報
  • ユーザコンテキスト
  • 外部ユーザコンテキスト
これらの暗黙的な変数は、「他のエレメントの出力値の利用」と同様の方法で、入力値として追加して利用できます。
より具体的には入力を選択するセレクトボックスから、追加を行いたい暗黙的な変数を選択します。
../../../_images/select_implicit_variable.png

図:システムの提供する暗黙的な変数群

5.3.1.2.1. アカウントコンテキスト

マッピング設定では、アカウントコンテキストのプロパティから取得可能な情報を入力として利用可能です。
アカウントコンテキストの持つプロパティの詳細は以下のドキュメントを参照してください。

注意

対象となるアカウント

アカウントコンテキストから取得されるアカウント情報は、ロジックフローを実行したユーザが対象です。
ただし、「ユーザ切り替え」制御要素を利用した場合、切り替え以降のフローでは、切り替えたユーザのアカウントコンテキストが取得されます。

5.3.1.2.2. セッション情報

マッピング設定では、IM-LogicDesignerがロジックフロー実行中にセッション内に保持している以下の値を入力として利用可能です。
プロパティ名 詳細
flowId<string> 実行中のロジックフローのフローIDです。
startTime<date> ロジックフローが実行された日時に関する日付情報です。
systemDate<date>
システム日付情報です。
startTimeとは異なり、このプロパティが利用された時点の日付情報が取得されます。
version<integer> 実行中のロジックフローのフローバージョンです。
fileSeparator<string>
ファイル区切り文字を表す定数値です。
このプロパティが実際に返す値はIM-LogicDesignerが動作しているOSに依存します。
lineSeparator<string>
改行コードを表す定数値です。
このプロパティが実際に返す値はIM-LogicDesignerが動作しているOSに依存します。
baseUrl<string>
WebサーバのベースURLを表す定数値です。
この値は、テナント情報や設定ファイルに定義された値を取得します。
ベースURLが定義されていない場合は、リクエストオブジェクトからベースURLを解決します。
(ジョブや非同期タスクといったバックエンド処理で実行されており、リクエストオブジェクトが取得できない場合は値は取得できません。)

5.3.1.2.3. 処理結果情報

マッピング対象となるエレメントの一つ前のエレメントの処理結果情報を入力として利用可能です。
詳細は「複雑なフローの定義」-「ロジックフローのエラーハンドリング」を参照してください。

5.3.1.2.4. ユーザコンテキスト

マッピング設定では、ユーザコンテキストのプロパティから取得可能な以下の情報を入力として利用可能です。
  • プロファイル情報
  • 組織所属情報
ユーザコンテキストの持つプロパティの詳細は以下のドキュメントを参照してください。

注意

ユーザコンテキストの利用について

ユーザコンテキストをマッピング設定の入力として利用するには、ユーザコンテキストのモジュールがintra-mart Accel Platformに含まれている必要があります。

注意

対象となるユーザ

ユーザコンテキストから取得されるユーザ情報は、ロジックフローを実行したユーザが対象です。
ただし、「ユーザ切り替え」制御要素を利用した場合、切り替え以降のフローでは、切り替えたユーザのユーザコンテキストが取得されます。

5.3.1.2.5. 外部ユーザコンテキスト

マッピング設定では、外部ユーザコンテキストのプロパティから取得可能な以下の情報を入力として利用可能です。
  • 外部ユーザかどうか
外部ユーザコンテキストの持つプロパティの詳細は以下のドキュメントを参照してください。