IM-LogicDesignerの制御要素とは?

この記事では、IM-LogicDesignerの制御要素について紹介します。

制御要素は、ロジックフローの開始・終了や条件分岐、繰り返し処理など、処理の流れを制御するためのエレメントです。タスクと組み合わせることで、さまざまなロジックフローを作成できます。ここでは、制御要素の種類と役割を用途別に確認していきましょう。

制御要素の種類と特徴

IM-LogicDesignerでは、ロジックフローの処理の流れを制御するための制御要素を用意しています。制御要素は、パレットの「基本」カテゴリから配置できます。

ここでは、用途別に制御要素の役割と特徴を紹介します。

フローの開始と終了

ロジックフローの開始・終了や異常終了を制御する要素です。

「開始」要素

ロジックフローの開始位置を表す制御要素です。フローは必ず「開始」要素から実行されます。1つのロジックフローにつき1つだけ配置でき、新規作成時にはあらかじめ配置されています。

「終了」要素

ロジックフローの終了位置を表す制御要素です。「終了」要素に到達すると、出力値のマッピングを行い、実行結果を返却してフローを終了します。必要に応じて複数配置できます。新規作成時には、「開始」要素と同様にあらかじめ配置されています。

「エラー終了」要素

ロジックフローを異常終了させる制御要素です。エラーとしてフローを終了し、例外を呼び出し元へ返します。

【利用例】 データ登録処理を行うフローでは、画面側で入力された値をもとに開始し、「エンティティデータの登録」タスクを実行します。エラーが発生した場合は、「エラー終了」要素でフローを終了します。エラーが発生しなかった場合は、「終了」要素で正常にフローを終了します。

フロー内の条件分岐

条件に応じて実行する処理を切り替える制御要素です。

「分岐」要素

条件の評価結果に応じて処理を分岐する制御要素です。条件がTrueの場合はthen、Falseの場合はelseのルートを実行します。条件式にはEL式を使用します。分岐先は2つまで設定できます。3つ以上に分岐したい場合は、「分岐」要素を組み合わせて実現します。

【利用例】 金額に応じて処理を分岐するフローでは、10,000円以上の場合は上長へメールを送信し、5,000円以上10,000円未満の場合は担当者へメールを送信します。5,000円未満の場合はエンティティデータを登録します。

フロー内の繰り返し処理

指定した条件や回数で処理を繰り返す制御要素です。

「繰り返し開始」要素

繰り返し処理の開始位置を表す制御要素です。条件・回数・配列などを指定して繰り返し処理を実行します。

タスク固有設定では、次の方法で繰り返し条件を設定できます。

  • 繰り返し条件:EL式で条件を指定する
  • 繰り返し回数:指定した回数だけ繰り返す
  • 繰り返し対象:配列などの対象を順番に処理する

複数の条件を設定した場合は、最初に条件を満たさなくなった時点で繰り返し処理を終了します。

「繰り返し終了」要素

繰り返し処理の終了位置を表す制御要素です。「繰り返し開始」要素を配置すると、自動的に配置されます。

【利用例】 複数の宛先にメールを送信するフローでは、「繰り返し開始」と「繰り返し終了」の間に配置した「ログ出力」と「テキスト/HTMLメール送信」を、宛先の件数分繰り返し実行します。

フロー内から別フローの呼び出し

作成済みのロジックフローを呼び出して再利用する制御要素です。

「フロー呼び出し」要素

別のロジックフローを呼び出して実行する制御要素です。タスク固有設定で呼び出すフローIDを指定し、入力値・出力値をマッピングして利用します。

呼び出し先のロジックフローは常に最新バージョンが実行されます。そのため、呼び出し先の入出力を変更した場合は、呼び出し元のマッピング設定も更新してください。

【利用例】 未処理の申請データを検索し、「フロー呼び出し」ではメール送信を行う別のフローを実行します。呼び出し先のフローでは、検索した申請データを1件ずつ処理し、申請者にメールを送信します。

エラー処理フローの開始と終了

ロジックフロー全体で共通のエラー処理を実行する制御要素です。エラー処理フローを定義することで、タスクごとにエラーハンドリングの設定をしなくても、共通のエラー処理を実行するように設定できます。

「エラー処理開始」要素

エラー処理フローの開始位置を表す制御要素です。ロジックフロー内で発生したエラーを共通の処理で受け取ります。1つのロジックフローにつき1つだけ配置できます。

「エラー処理終了」要素

エラー処理フローを終了し、元のロジックフローへ処理を戻す制御要素です。エラー処理後にフローを継続する場合に使用します。エラー処理フローは、「終了」要素や「エラー終了」要素で終了することもできます。

【利用例】 データの登録処理でエラーが発生した場合は、エラー処理フローを実行し、エラー内容をログに出力します。

変数を利用したフローの作成

フロー内で値を保持・更新するための制御要素です。

「変数操作」要素

フローで定義した変数に値を代入・更新する制御要素です。タスクで取得した値を変数に保存して後続の処理で利用したり、繰り返し処理の途中で値を保持したりする場合に使用します。

【利用例】 「変数操作」で入力されたユーザ名をメール本文用の変数に設定し、その内容でテキストメールを送信します。

フロー内の空処理

処理を実行せず、フローの構造だけを保持する制御要素です。

「空処理」要素

処理を実行しない制御要素です。入力値・出力値はありません。

「空処理」要素は、次のような場面で利用します。

  • 後から処理を追加するためのプレースホルダーとして配置する。
  • 「分岐」要素の片方で何も処理を行わない場合に配置する。

【利用例】 データの更新が必要な場合は「エンティティデータの更新」を実行し、不要な場合は「空処理」を実行して、どちらの場合もログ出力を行います。「空処理」では何もしませんが、後続処理には進めることができます。

まとめ

制御要素を使うことで、開始・終了、条件分岐、繰り返し処理、エラー処理など、ロジックフローの処理の流れを柔軟に制御できます。タスクと組み合わせることで、シンプルなフローから複雑な業務フローまで作成できます。用途に応じた制御要素の役割を理解し、適切に使い分けましょう。

intra-martでは、IM-LogicDesignerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-LogicDesignerの機能を最大限に発揮させるためにもぜひご活用ください。