ユーザ定義タスクの作成
ここでは、ユーザ定義タスクの作成手順について説明します。
基本操作
フロー作成中に、ユーザ定義タスクを作成する手順について説明します。
ユーザ定義タスクを作成する

- パレットから[ユーザ定義追加]にマウスを合わせます。
└ 利用可能な処理種別の一覧が表示されます。 - 作成したい処理種別をクリックします。
└ 選択した処理種別に対応する「ユーザ定義編集」画面が表示されます。 - 処理種別に合わせて必要な設定を行います。
└ 「ユーザ定義共通設定」ペインでは、すべての処理種別に共通する基本項目を設定します。
└ 処理種別ごとの個別設定ペインでは、選択した処理内容に応じて、必要な詳細設定を行います。
└ 各ペインに表示される設定項目については、下記「画面項目」を参照してください。 - [登録]をクリックします。
└ 手順3で選択したユーザカテゴリに、作成したユーザ定義タスクが追加されます。
ユーザ定義タスクが追加されたら、ロジックフロー内に配置します。手順の詳細は、「ロジックフローの作成」を参照してください。
画面項目
「ユーザ定義編集」画面は、2つのペイン(区画)に分かれています。
「ユーザ定義共通設定」ペイン
「ユーザ定義共通設定」では、すべてのユーザ定義に共通する項目を設定します。

-
ユーザ定義タスクの「利用範囲」を設定します。
└ 複数のフローで共通利用する場合は、「フロー定義内のみで利用する」のチェックを外します。
└ 作成中のフローだけで利用する場合は、「フロー定義内のみで利用する」にチェックを入れます。コラム再利用が不要な一時的な処理や限定的な用途の場合は、「フロー定義内のみで利用する」にチェックを入れましょう。この設定により、作成したユーザ定義タスクは現在のフロー内でのみ使用され、他のフローからは参照できなくなります。
-
ユーザ定義タスクの基本情報を設定します。
└ 表示画面および手順は、手順1の「フロー定義内のみで利用する」の設定により異なります。
複数のフローで共通利用する場合:
(1) 「ユーザ定義ID」に、任意のIDを入力します。
(2) 「ユーザ定義名」にある「標準」の欄に名称を入力します。
└ 多言語対応では、「標準」以外の欄にも入力してください。
(3) 「ユーザカテゴリ」を設定します。
└ 作成するタスクが、パレットのカテゴリ内に表示されます。
(4) 「ソート番号」に、ソート順を入力します。
└ パレットのカテゴリにおける表示順に反映されます。
(5) 必要に応じて、「アイコン」を設定します。
└ アイコンを設定することで、パレット上で識別しやすくなります。
作成中のフローのみで利用する場合:
(1) 「ユーザ定義ID」に、任意のIDを入力します。
(2) 「ユーザ定義名」にある「標準」の欄に名称を入力します。
└ 多言語対応では、「標準」以外の欄にも入力してください。
(3) 必要に応じて、「アイコン」を設定します。
└ アイコンを設定することで、パレット上で識別しやすくなります。
- 新しいユーザカテゴリを作成したい場合は[新規作成]を、既存のユーザカテゴリを利用したい場合は[検索]をクリックしてください。
- アイコンを設定したい場合は[選択]を、設定したアイコンを初期化したい場合は[クリア]をクリックしてください。
-
ユーザ定義タスクの入力値と返却値(出力値)を設定します。
└ 入力値は、ユーザ定義タスクを呼び出す際に渡す値です。
└ 返却値(出力値)は、タスクの処理が完了した後に呼び出し元へ返す値です。参考入力値・返却値の設定は、「入出力設定」と同じ操作です。詳細は、「入出力設定 - 基本操作」を参照してください。
処理種別ごとの個別設定ペイン
このペインでは、処理種別に応じた個別の設定を行います。目的に応じたユーザ定義を選択してください。
プログラムを実行する処理を定義したい
特定の目的を達成するためにプログラムを実行する処理を定義したい場合は、以下のユーザ定義を使用します。
- ユーザ定義(JavaScript)
- ユーザ定義(REST)
「JavaScript定義」では、JavaScriptを使って実行処理を記述します。スクリプトでは次の内容を定義します。
- エントリーポイント(
run関数)の定義 - 入力値の受け取り
- 業務処理の実装
- 返却値の設定

ユーザ定義編集 - JavaScriptの仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.1. JavaScript」を参照してください。
REST APIに関する「リクエスト情報」と「レスポンス情報」を設定します。
(1) 「リクエスト情報」の設定
- エンドポイントに呼び出すREST APIのURLを入力
- メソッド(GET, POST, PUT, DELETE, PATCH)を選択
- リクエスト種別(application/json, x-www-form-urlencoded, form‑data, raw)を選択
- 必要に応じて、リクエストエンコーディング、リクエストヘッダ、リクエストパラメータ、タイムアウト、リダイレクト可否を設定
(2) 「レスポンス情報」の設定
- レスポンス種別(json, text, raw)を選択
- レスポンスエンコーディングを指定
- 200系以外の処理をエラー扱いにする場合は、「ステータスコードの確認」にチェック

ユーザ定義編集 - RESTの仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.2. REST」を参照してください。
データベースを操作する処理を定義したい
アプリケーションから直接データベースにアクセスして、データ操作を行う処理を定義したい場合は、以下のユーザ定義を使用します。
- ユーザ定義(SQL)
- ユーザ定義(ストアド)
- ユーザ定義(Database Fetch)
「SQL定義」では、2WaySQLを使って、データベースに関する処理を記述します。
- データベース種別(TENANT, SHARED)を選択
- クエリ種別(SELECT, INSERT, UPDATE, DELETE)を選択
- クエリ内容を記述
- クエリ種別に応じて必要な項目(範囲指定)を設定

ユーザ定義編集 - SQLの仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.3. SQL(2WaySQL)」を参照してください。
「ストアド定義」では、2WaySQLを使って、データベース内で事前に定義されたストアドプロシージャ*1やストアドファンクション*2を実行するための処理を記述します。
- データベース種別(TENANT, SHARED)を選択
- SQLを記述
*1:複数のSQL文をまとめて実行できる処理
*2:値を返す専用の関数

ユーザ定義編集 - ストアドの仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.4. ストアド」を参照してください。
「DB Fetch定義」では、2WaySQLのSELECT文を使って、大量のデータを対象とした取得処理を記述します。
- データベース種別(TENANT, SHARED)を選択
- クエリ内容を記述
- データベース種別に応じて必要な項目(範囲指定やフェッチサイズ)を設定

ユーザ定義編集 - Database Fetchの仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.5. Database Fetch」を参照してください。
CSVファイルを操作する処理を定義したい
アプリケーションからCSVファイルにアクセスして、データの取得や出力に関わる処理を定義したい場合は、以下のユーザ定義を使用します。
- ユーザ定義(CSV Fetch)
- ユーザ定義(CSV出力)
「CSV Fetch定義」では、CSVファイル上の大量データを対象とした取得処理を記述します。
- 文字コードを指定
- フィールドを囲む引用文字を指定
- フィールドの区切り文字(Tab, その他)を指定
- 1レコードごとの終端文字(LF, CRLF, CR, Tab, その他)を指定
- ヘッダ行の有無を指定
- エラー発生時の処理方法を設定

ユーザ定義編集 - CSV Fetchの仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.6. CSV Fetch」を参照してください。
「CSV出力定義」と「CSV出力項目定義」を設定します。
(1) 「CSV出力定義」の設定
- 文字コードを指定
- フィールドを囲む引用文字を指定
- フィールドの区切り文字(Tab, その他)を指定
- 1レコードごとの終端文字(LF, CRLF, CR, Tab, その他)を指定
- ヘッダ行の出力有無を指定
(2) 「CSV出力項目定義」の設定
- 出力項目の列名/入力値キー名を入力
- データ型を指定
- 数値型または日付型を選択した場合は、出力フォーマットを設定
- 出力項目を追加したい場合は[追加]をクリック
- 入力値を確認したい場合は[確認]をクリック

ユーザ定義編集 - CSV出力の仕様について、詳細は、「IM-LogicDesigner仕様書 - 4.2.5.1.7. CSV出力」を参照してください。
その他のユーザ定義
上記で紹介したもの以外にも、幅広い用途に対応した複雑な処理を実現できるユーザ定義タスクが用意されています。
| 用途 | 処理種別(タイプ) | 説明 |
|---|---|---|
| Excelに関する処理を定義したい | ユーザ定義(Excel入力) ユーザ定義(Excel出力) | Excelファイルからレコードを読み込んだり、Excelファイルに書き出したりする処理を定義できます。 |
| 任意の要素を取得する処理を定義したい | ユーザ定義(XML解析) ユーザ定義(HTML解析) | XMLやHTMLファイルを解析し、特定の要素の値を取得する処理を実装できます。 |
| 文字列を置換する処理を定義したい | ユーザ定義(テンプレート) | 文字列テンプレートを用いて、入力値に応じた文書やメッセージを動的に生成する処理を実装できます。 |
| Salesforceに関する処理を定義したい | ユーザ定義(Salesforceオブジェクト操作) ユーザ定義(Salesforce SOQL) ユーザ定義(Salesforceバッチ) | Salesforceデータに対して、登録・更新・削除、SOQL(Salesforce Object Query Language)による検索・取得、Bulk APIを利用したバッチ処理などの操作を実装できます。 |
| ワークフローに関する処理を定義したい | ユーザ定義(BIS申請/承認) ユーザ定義(Forma登録情報) | 社内の申請・承認フローや、FormaDesignerで作成したアプリケーションの登録データ操作など、業務プロセスに関わる処理を実装できます。 |
ユーザ定義タスクの詳細は、「IM-LogicDesigner仕様書 - 4.2.5. 処理種別(タイプ)」を参照してください。
バージョンの制約やタスクの利用制限などによって、特定の処理種別がサポートされていない場合があります。パレットの「ユーザ定義追加」カテゴリに使用したい処理種別が表示されない場合は、システム管理者にお問い合わせください。