ロジックフローの構築
ロジックフローは、アプリケーション内の一連の処理を視覚的に定義する仕組みです。
入出力値・変数・定数といった設定を終了した後、エレメントをデザイナ上に配置して、処理の流れ(フロー)を構築していきます。
基本的な構成
まずは、ロジックフローの基本的な構成と各パーツの名称について確認していきましょう。

| 名称 | 説明 |
|---|---|
| エレメント | ロジックフローを構成する各処理の総称を指す。エレメントは用途によって、制御要素とタスクに分かれる。 |
| 制御要素 | ロジックフローの開始・終了・分岐など、ロジックフロー自体を制御する各処理を指す。 |
| タスク | IMBoxへの投稿・メール送信・ジョブの実行など、ロジックフローを実行する各処理を指す。 |
| シーケンス | ロジックフローを構成するエレメント同士のつながりを表す線を指す。 |
| マッピング設定 | ロジックフローを流れるデータのインプット・アウトプットを定義する。 |
ここでは、各機能が持つ役割と、その活用方法について、もう少し詳しく説明します。
エレメントとは
IM-LogicDesignerのエレメントとは、ロジックフローを構成する各処理の総称を指します。これは、IM-LogicDesigner内で使用される基本的な構成要素であり、さまざまな処理やタスクを実行するための単位となります。
エレメントは用途によって、制御要素とタスクにそれぞれ分類されます。
制御要素
ロジックフロー全体の流れを制御する各処理を、まとめて「制御要素」と呼びます。これらはパレットの「基本」カテゴリに含まれています。
制御要素には、「開始」や「終了」といった基本的なものに加え、「エラー処理」や「分岐」など、さまざまな種類があります。

制御要素の種類と特徴については、「intra-mart Developer Portal - IM-LogicDesignerの制御要素とは」を参照してください。
タスク
ロジックフローを実行する各処理を「タスク」と呼びます。タスクは用途によって、標準タスクとユーザ定義タスクにそれぞれ分類されます。
標準タスク
標準タスクは、ロジックフローを構築する際に利用できる、あらかじめ用意された基本的な処理単位のことです。パレットの「基本」または 「ユーザ定義追加」カテゴリ以外のカテゴリが該当します。
標準タスクには、「メール送信」や「ログ出力」など、業務でよく使われる処理が含まれています。

標準タスクの種類と特徴については「intra-mart Developer Portal - IM-LogicDesignerのタスクとは」を参照してください。
ユーザ定義タスク
標準タスクでは対応できない処理や要件に対して、独自に作成したユーザ定義タスクを利用できます。パレットの「ユーザ定義追加」カテゴリから、直接作成できます。
JavaScriptやSQLを使ってロジックを定義できるほか、拡張機能を使うことで、Javaによる高度な処理にも対応可能です。

ユーザ定義タスクの種類と特徴については「intra-mart Developer Portal - 複雑な処理を行うロジックフローを作成したい」を参照してください。
シーケンスとは
IM-LogicDesignerのシーケンスとは、ロジックフローを構成するエレメント同士を接続する線のことを指します。この線によって、フロー全体の処理の流れ(開始から終了)を視覚的に表現・制御します。
シーケンスには、以下のような情報を含めることができます。
- 処理の順序(どのエレメントからどのエレメントへつながるか)
- 条件分岐における条件式の指定
- 一時的に無効化された処理の枝を示す状態(有効/無効)
ロジックフローを構築する際、シーケンスは、処理の意味や実行順序を明確に伝える重要な構成要素となります。

マッピングとは
IM-LogicDesignerのマッピングとは、ロジックフロー内でデータの受け渡しを定義する機能を指します。具体的には、ロジックフローが「どのようなデータを受け取り」 「どのような結果を返し」 「各エレメント間でどのようにデータをやり取りするのか」を設定する際に使用します。
ロジックフローの作成時点では、フローの流れを定義しただけで、実際にどのようにデータを受け渡すまでは決まっていません。そのため、エレメントを配置し、シーケンスを接続しても、マッピングを設定しなければ処理は実行されません。処理を正しく動作させるためには、マッピングによってエレメント間のデータのやり取りを明確に定義する必要があります。
マッピングには、用途に応じてさまざまなデータの受け渡しパターンがあります。
- 同じ型同士のマッピング(例:入力
string→出力string) - 違う型に変換するマッピング(例:入力
string→出力integer) - 配列に対するマッピング(例:入力
string→出力integerの配列要素) - 関数を含むマッピング(例:入力
string+integer→出力integer)
さらに、暗黙的な変数やマッピング関数を活用することで、複雑なデータの変換や加工も簡潔に設定できます。

マッピングのパターンについて、詳細は「intra-mart Developer Portal - データ連携に必要なマッピング設定のコツ」を参照してください。
次のステップへ:ロジックフローの作成
ロジックフローの基本的な構成や構成要素について理解できたら、次は具体的なフローの作成に進みましょう。 「ロジックフローの作成」では、エレメントの配置やシーケンスの定義といった基本的な操作方法やエレメントの検索・移動・削除などについて説明しています。