IM-LogicDesignerのエレメント
ここでは、IM-LogicDesignerのエレメントの種類と用途について説明します。主に、ローコード開発で基本となるエレメントを中心に紹介します。
制御要素
「制御要素」エレメントには、ロジックフロー自体を制御する各処理が用意されています。このエレメントは、パレットの「基本」メニューから選択できます。

| 制御要素の種類 | 用途 |
|---|---|
| 開始 | フローの開始地点を示す制御要素です。フローは必ずこの要素から始まり、1つのフローに配置できる開始要素は1つだけです。新規にフローを作成する際には、自動で配置されています。 |
| 終了 | フローの終了地点を示す制御要素です。フローは「終了」または「エラー終了」で完了する必要があります。新規にフローを作成する際には、「開始」とあわせて自動で配置されています。 |
| エラー終了 | フローが異常終了したことを表す制御要素です。エラーとして強制的に終了させます。 |
| 分岐 | 任意の条件で処理を分岐させる制御要素です。分岐先は2つまで設定できます。 |
| 繰り返し開始/終了 | 処理の繰り返しを開始・終了する制御要素です。繰り返しの条件や回数を設定します。開始と終了の要素をセットで使用します。 |
| フロー呼び出し | フロー内から別のフローを呼び出す制御要素です。呼び出し先のフローに入力パラメータが受け渡されます。 |
| 変数操作 | 変数の初期化や他のタスクから取得した値を変数に格納する際に利用する制御要素です。 |
| 空処理 | フロー内で何も行わないフロー上に要素を配置しておくためだけの制御要素です。 |
| エラー処理開始/終了 | エラー処理フローの開始・終了地点を表す制御要素です。開始と終了の要素をセットで使用します。 |
ここでは、「制御要素」エレメントの用途を簡潔に記載しています。詳細について知りたい場合は、「intra-mart Developer Portal - IM-LogicDesignerの制御要素とは」もあわせて参照してください。
「コメント」は、エレメントに注記やメモといったコメントを残したいときに使用します。フローの実行結果には影響しませんが、構造の理解や可読性、メンテナンス性を向上させるための補助的な制御要素として位置づけられています。
タスク - 標準タスク
「タスク」エレメントには、ロジックフロー内で利用できる各種処理が用意されています。
汎用タスク
一般的な業務処理やプロセスを実行したい場合に利用します。パレットの「汎用タスク」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| ログ出力 | 処理内容や実行状況をログとして記録し、後から追跡やデバッグができるようにします。 |
| ロック取得/解放 | 「ロック取得」タスクにより、複数プロセスで同一リソースへの同時アクセスを防ぎます。解放時は「ロック解放」タスクを設定します。 |
| テキスト/HTMLメール送信 | 指定された内容をテキスト形式またはHTML形式のメールで送信します。 |
| ユーザ切り替え/ユーザ切り替え終了 | 処理の一部を別ユーザの権限で実行したいときに使用します。必ず「ユーザ切り替え終了」タスクとセットで使用してください。 |
| スリープ | フローの実行を一時的に停止します。外部システムとの連携時の待機や、一定時間の遅延を必要とする処理に使用します。 |
| 日時文字列の解析 | 文章中から日時情報を抽出・解析し、システム内で利用可能な日時データに変換します。 |
| IMAP/POP3メール操作 | IMAPまたはPOP3のメールサーバから、メッセージの取得[開始・終了]、既読・未読、移動、削除といった操作を自動化します。 |
| バーコード/QRコード生成 | 指定したデータからバーコードまたはQRコードの画像をPNG形式で生成します。これらのタスクを利用するには、「バーコード生成」モジュールを含む環境構築が必要です。 |
| RSSフィード解析 | 指定したRSSフィードからデータを取得し、内容を解析します。通知やアラートの生成などに活用できます。このタスクを利用するには、「IM-LogicDesigner RSS連携モジュール」を含む環境構築が必要です。 |
| デスクトップ/モバイル通知 | ユーザの端末(デスクトップPCまたはモバイル)にリアルタイムで情報やメッセージを届けます。 |
ここでは、「汎用タスク」の用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.1. 汎用タスク」もあわせて参照してください。
ストレージ操作
ストレージやファイルを操作したり、Excelファイルの情報を扱う場合に利用します。パレットの「ストレージ操作」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| パブリック/セッションストレージ取得 | 共通で利用可能なパブリックストレージやセッション単位で利用されるストレージのパスを取得します。 |
| ストレージ出力(文字列/バイナリ) | 指定した文字列データまたはバイナリデータをストレージ上のファイルに出力します。ログ出力やデータ保存に使用されます。 |
| ストレージ追記(文字列) | 既存のファイルに文字列データを追記します。ログの蓄積や履歴の記録に適しています。 |
| ストレージファイル読み込み(文字列/バイナリ) | ストレージ上のファイルから文字列/バイナリデータを読み込みます。 |
| ディレクトリ操作 | 指定したディレクトリの取得・作成などの操作を行います。ディレクトリ作成は、ファイルの整理や保存先の準備に使用されます。 |
| ファイル取得 | 指定したファイルを取得します。 |
| ファイルおよびディレクトリ操作 | 指定したファイルおよびディレクトリの取得・移動・コピー・削除などの操作を行います。 |
| ストレージ情報取得 | ストレージの使用状況や容量情報を取得します。ストレージ管理や監視に役立ちます。 |
| ZIP圧縮/解凍 | 指定したファイルやディレクトリをZIP形式で圧縮したり、ZIP形式のファイルを解凍します。 |
| Excelプロパティ情報書き込み/読み込み | Excelファイルのプロパティ情報(作成者、タイトルなど)を書き込み・読み込みをします。このタスクを利用するには、「IM-LogicDesigner Excel連携モジュール」を含む環境構築が必要です。 |
ここでは、「ストレージ操作」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.2. ストレージ操作」もあわせて参照してください。
基盤機能
システム基盤に関わる共通処理を行う場合に利用します。パレットの「基盤機能」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| ジョブネット即時実行 | スケジューラに登録されたジョブネットを即時で起動します。バッチ処理の強制実行時などに使用します。 |
| 休日判定 | 指定した日付が休日マスタに登録された日かどうかを判定します。 |
| セーフURL一覧取得/判定 | システムに登録された「セーフURL」の一覧を取得したり、リストに含まれているか判定します。 |
| ショートカットID作成/ID削除 | 特定のページや処理にジャンプするための「ショートカットID(GUID)」を生成したり、削除したりします。 |
| ショートカット情報取得 | ショートカットIDに紐づくリンク先の情報(パスやパラメータなど)を取得します。 |
| データインポート/エクスポート | 定義済みのデータインポート処理またはエクスポート処理を実行します。 |
| アクセストークンの取得 | OAuth2の仕様に基づき、外部サービスに接続するためのアクセストークンを取得します。 |
ここでは、「基盤機能」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.3. 基盤機能」もあわせて参照してください。
アクセスセキュリティ
ユーザ管理や認可に関わる共通処理を行う場合に利用します。パレットの「アクセスセキュリティ」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| アカウント情報の取得 | 指定したユーザの基本情報を取得します。 |
| アカウントの操作 | アカウントの追加、更新、削除、有効化・無効化などの操作を行います。 |
| アプリケーションライセンスの操作 | アプリケーションライセンスの登録や削除といった操作を行います。 |
| アカウント付与ロールの取得 | 指定アカウントに付与されているロールを取得します。 |
| アカウントにロールを追加 | アカウントにロール(役割)を付与します。 |
| アカウントからロールを削除 | アカウントから特定のロールを削除します。 |
| ロール情報/サブロール情報の取得 | 指定したロールまたはサブロール(階層下のロール)の定義情報を取得します。 |
| ロールの操作 | ロールの追加・更新・削除といった操作を行います。 |
| サブロールの操作 | サブロール(階層下のロール)の追加や削除といった操作を行います。 |
| カレンダー(日付情報)の取得 | カレンダー情報を取得し、業務日かどうかを判断するなどに利用します。 |
| 認可判断 | サブジェクト(ユーザ)とリソースのアクセス可否を判断します。 |
| 認可リソースの操作 | 認可リソースの追加や削除といった操作を行います。 |
| 認可サブジェクトグループの操作 | 認可サブジェクトグループの追加や削除といった操作を行います。 |
| 認可リソースグループの操作 | 認可リソースグループの追加・削除・閉塞・閉塞解除といった操作を行います。 |
| 認可ポリシーの操作 | 認可ポリシーの許可・禁止・解除といった操作を行います。 |
ここでは、「アクセスセキュリティ」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.4. アクセスセキュリティ」もあわせて参照してください。
IM共通マスタ
IM共通マスタに関わる処理を行う場合に利用します。パレットの「IM共通マスタ」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| ユーザプロファイルの操作 | 指定されたユーザのプロファイル情報の取得・登録・更新・削除、および多言語情報の更新を行います。 |
| 会社情報の操作 | 会社の基本情報の取得・登録・更新・削除、および多言語情報の更新を行います。 |
| 組織情報の操作 | 組織の基本情報の取得・登録・更新・削除、および多言語情報の更新を行います。 |
| 役職情報の操作 | 役職に関する情報の取得・登録・更新・削除、および多言語情報の更新を行います。 |
| 組織の所属/脱退 | ユーザを指定した組織に所属させたり、組織から脱退させたりします。 |
| 役職の付与/剥奪 | ユーザに対して役職を付与します。ユーザから役職を剥奪します。 |
| 所属組織/所属グループ/役職情報の取得 | 特定のユーザに関する所属組織・所属グループ、および役職情報の情報を取得します。 |
| 組織/パブリックグループに所属するユーザの取得 | 特定の組織またはパブリックグループに属するユーザの情報を取得します。 |
| パブリックグループ情報の操作 | パブリックグループの情報の登録・更新・削除、および多言語情報の更新を行います。 |
| パブリックグループの所属・脱退 | ユーザをパブリックグループに所属させたり、グループから脱退させたりします。 |
ここでは、「IM共通マスタ」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.5. IM共通マスタ」もあわせて参照してください。
IM-BloomMaker
IM-BloomMakerのファイル操作に関わる画面に対し、バックエンド処理を設定する場合に利用します。パレットの「IM-BloomMaker」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| ファイル情報のアップロード | IM-BloomMakerの添付ファイルを一時的にアップロードします。アップロード後に登録処理が必要です。 |
| ファイル情報の登録 | アップロード済みファイルに対し、IM-BloomMakerに登録して正式なファイル情報として保存します。 |
| ファイル情報の取得 | 登録済みのファイル情報をファイルIDなどを用いて取得します。 |
| ファイル情報の削除 | 登録済みのファイル情報を削除します。 |
| ファイル情報の一括置換 | 指定された条件に合致する複数ファイルを、新しいファイルにまとめて置換します。 |
| ファイル情報一覧の取得 | 登録されているファイル情報の一覧を条件に応じて取得します。 |
ここでは、「IM-BloomMaker」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.17. IM-BloomMaker」もあわせて参照してください。
IM-LogicDesignerの「IM-BloomMaker」タスクは、IM-BloomMakerの「ファイルアップロード」エレメントと連携して、画面からファイルをアップロードする処理を作成します。その際、IM-BloomMakerとIM-LogicDesigner間で変数の受け渡しや値の設定が必要となります。具体的な操作は、「CookBook - IM-BloomMaker 「ファイルアップロード」エレメントの利用方法」を参照してください。
IM-Repository
IM-Repositoryのエンティティデータに関する処理を行う場合に利用します。パレットの「IM-Repository」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| エンティティデータの取得 | 指定したキーに該当するエンティティの1件のデータを取得します。 |
| エンティティデータの検索 | 条件に一致する複数のエンティティデータを取得します。 |
| エンティティデータ件数の取得 | 指定条件に一致するエンティティデータの件数を取得します。 |
| エンティティデータの登録 | エンティティに対して新しいデータを登録します。 |
| エンティティデータの更新/[ロックあり] | エンティティに登録済みのデータを更新します。[ロックあり]では、ロック制御を行いながらエンティティデータを更新します。 |
| エンティティデータの削除/[ロックあり] | エンティティに登録されたデータを削除する。[ロックあり]では、ロック制御を行いながらエンティティデータを削除します。 |
| エンティティデータの検証 | エンティティ定義に基づき、入力データの検証(バリデーション)を行います。 |
ここでは、「IM-Repository」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.18. IM-Repository」もあわせて参照してください。
単一エンティティに対してのみ操作が可能です。複数のエンティティ間の関連データをまとめて一度に操作するタスクは用意していません。
Accel Studio
Accel Studioの自動採番に関する処理を行う場合に利用します。パレットの「Accel Studio」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| 採番取得 | 自動採番機能の採番値を取得する |
| 採番リセット | 自動採番機能の採番値をリセットする |
ここでは、「Accel Studio」タスクの用途を簡潔に記載しています。詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 5.2.1.19. Accel Studio」もあわせて参照してください。
IM-LogicDesignerの「Accel Studio」タスクでは、Accel Studioで定義した採番ルールに沿って、連番や管理番号などを自動で取得できます。採番の設定方法は「Accel Studio アプリケーション管理機能 仕様書 - 4.10.1. 自動採番」を参照してください。
タスク - ユーザ定義タスク
「ユーザ定義タスク」には、複雑な処理を設定するために必要なタスクが用意されています。パレットの「ユーザ定義追加」メニューから選択できます。

| タスクの種類 | 用途 |
|---|---|
| JavaScript定義新規作成 | タスクの入出力値とJavaScriptの関数functionの引数や戻り値を紐づけることで、プログラム的な処理を実行します。 |
| REST定義新規作成 | タスクの入出力値とREST APIのパラメータやレスポンスの値を紐づけることで、プログラム的な処理を実行します。 |
| SQL定義新規作成 | タスクの入力値と2Way-SQLを組み合わせた柔軟な処理を定義でき、実行結果を出力値として返却します。 |
| ストアド定義新規作成 | 2WaySQLを使って、データベース内で事前に定義されたストアドプロシージャ(複数のSQL文をまとめて実行できる処理)やストアドファンクション(値を返す専用の関数)を実行します。 |
| Database/CSV Fetch定義新規作成 | データベース上に格納されている大量のデータまたはCSVファイルの大量のレコードを効率的に取得し、処理したいときに使用します。 |
| Excel入力/出力定義新規作成 | 入力ではExcelファイル上のレコードを効率的に読み込み・処理したいときに、出力ではExcelファイルに書き出したいときに使用します。このタスクを利用するには、「IM-LogicDesigner Excel連携モジュール」を含む環境構築が必要です。 |
| XML/HTML解析定義新規作成 | XML/HTMLファイルを読み込み、特定の要素の値を取得したいときに使用します。 |
| テンプレート定義新規作成 | 文字列テンプレートを用いて、入力に応じて動的に文書を生成したいときに使用します。 |
ここでは、基本的な「ユーザ定義タスク」と、それらの用途を簡潔に記載しています。紹介したユーザ定義タスクはほんの一部のため、詳細について知りたい場合は、「IM-LogicDesigner仕様書 - 4.2.5. 処理種別(タイプ)」もあわせて参照してください。