intra-mart Accel Platform ローコード開発チュートリアルガイド 第23版 2026-02-27

4.4.3. アンケートアプリケーションの業務ロジックの作成

アンケートアプリケーションの業務ロジックとして以下の3種類の業務ロジックを作成します。
  • アンケート情報取得
    アンケートIDをもとに、アンケート情報テーブルとアンケート設問テーブルからデータを取得する
  • アンケート回答登録
    アンケートの回答をアンケート回答テーブルに登録する
  • アンケート回答取得
    アンケートIDをもとに、アンケート回答テーブルからアンケートの回答を一覧として取得する
以下のアプリケーション全体図にある、色が塗られたところが該当箇所です。
../../../_images/enquete_overall_ld.png
この処理の作成手順について、以下の動画からも確認できます。併せてご利用ください。

4.4.3.1. アンケート情報取得処理の作成

アンケート情報取得処理では、渡ってきたアンケートIDをもとに、アンケート情報テーブルとアンケート設問テーブルからデータを取得します。
アンケート情報テーブルとアンケート設問テーブルからはそれぞれ異なるエンティティでデータを取得し、それらのデータを1つのデータにまとめて返却します。
データを取得できなかった場合はエラーを返します。
../../../_images/logic_info_comp.png

以下のアプリケーション全体図にある、色が塗られたところが該当箇所です。
../../../_images/enquete_overall_ld_info.png

4.4.3.1.1. ロジックの作成

「サイトマップ」→「Accel Studio」→「アプリケーション管理」→「アプリケーション一覧」の順に遷移します。
アプリケーション一覧から先ほど作成した「【チュートリアル】アンケートアプリケーション」を選択します。
../../../_images/application_list.png

「アプリケーション管理画面」右上の「リソースを追加」プルダウンから「ロジック」 - 「ロジックを新規作成」 - 「ロジックフロー」を選択し、「ロジックフロー定義編集画面」を表示します。
../../../_images/create_flow.png

4.4.3.1.2. 入出力値と定数の設定

業務ロジックへの入力値と出力値、定数を設定します。
アンケート情報取得処理は、アンケートIDを受け取り、アンケート情報とアンケート設問のデータを1つにまとめて返却します。
まず、入力値の設定を行います。
画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。
../../../_images/logic_input_output.png

入力値は「アンケートID」のみとするため、文字列の変数を追加します。
「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。
../../../_images/logic_input_string.png

「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteId」に変更します。
入力値はJSON入力で以下のコードを記載しても設定できます。
{
  "enqueteId": ""
}
JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。

次に、出力値の設定を行います。
まずは、設問内容を格納する配列を作成します。
「出力」 - 「+IM-Repository」をクリックして「エンティティ検索」ウインドウを開きます。
../../../_images/logic_select_im_repository.png

「アンケート設問」を選択して「決定」をクリックしてください。
../../../_images/logic_entity_search_select_question.png

出力値一覧に「tutorial_enquete_question_app_entity」が追加されます。
../../../_images/logic_output_entity.png

「tutorial_enquete_question_app_entity」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「records」に変更します。
「records」を選択した状態で「配列型にする」にチェックをいれ、配列型に変更します。
../../../_images/logic_output_entity_array.png

次に、アンケート情報テーブルから取得した「アンケートタイトル」と「アンケート概要」を格納するための出力値を作成します。
「出力」 - 「+string」をクリックし、出力値一覧に「string1」を追加します。
「string1」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteTitle」に変更します。
../../../_images/logic_output_title.png

「出力」 - 「+string」をクリックし、出力値一覧に「string1」を追加します。
「string1」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteOverview」に変更します。
../../../_images/logic_output_comp.png

出力値はJSON入力で下記コードを記述しても設定できます。
{
  "records": [
    {
      "enquete_id": "",
      "question_id": "",
      "question_no": 0,
      "question": "",
      "left_scale": "",
      "right_scale": ""
    }
  ],
  "enqueteTitle": "",
  "enqueteOverview": ""
}
JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
全ての出入力設定が完了したら、出入力設定ダイアログの「決定」をクリックし、設定を終了します。

次に、変換処理に利用するための定数を設定します。
画面上部の「定数設定」をクリックして「定数設定」ダイアログを表示し、「+定数を追加」から下記の通り設定します。
定数ID 定数値
ASC asc
QUESTION_NO question_no
../../../_images/logic_add_constant.png
入力が完了したら「決定」をクリックして設定を終了します。

4.4.3.1.3. IM-Repositoryタスクの配置と変数設定

アンケートの情報を取得するタスクを設定します。
パレットから「IM-Repository」 - 「エンティティデータの取得」を選択し、「開始」の次のタスクとして配置します。
../../../_images/logic_select_get_entity_task.png

配置した「エンティティデータの取得」タスクの「ラベル」を「アンケート情報の取得」に変更します。
「開始」の「out」からドラッグし、「アンケート情報の取得」の「in」にドロップしてタスク同士を線で繋げます。
../../../_images/logic_start_to_info_select.png

「タスク固有設定」から「エンティティID」を設定します。「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。
「アンケート情報」を選択し、「決定」をクリックします。
../../../_images/logic_entity_search_window.png

「エンティティID」に「tutorial_enquete_info_app_entity」が入力されました。
../../../_images/logic_entity_id_input_info.png

アンケートIDの誤り等でアンケート情報が取得できなかった場合、エラーを返却します。
パレットから「基本」 - 「分岐」を選択し、「アンケート情報の取得」タスクの次の要素として配置します。
../../../_images/logic_select_gateway.png

「アンケート情報の取得」タスクの「out」と「分岐」の「in」を線で繋げます。
パレットから「基本」 - 「エラー終了」を選択し、「分岐」の次の要素として配置します。
../../../_images/logic_select_end.png

配置した「分岐」をクリックして選択し、画面の右側領域の「ラベル」を「アンケート情報の取得結果がnullでないこと」に変更します。
次に、「タスク固有設定」-「条件式(EL式)」の「編集」をクリックします。
../../../_images/logic_select_gateway_el.png

「EL式の編集」ダイアログの右側から「im_repositoryGetEntityData1」を選択します。
../../../_images/logic_el_dialog.png

画面上部のエディタ領域で条件式(EL式)を下記の通りに設定し、「EL式の編集」ダイアログの「決定」をクリックして編集を終了します。
「${ im_repositoryGetEntityData1!= null }」

「分岐」の「else」と「エラー終了」の「in」を線で繋げます。
../../../_images/logic_gateway_to_error.png

「エラー終了」をクリックし、画面の右側領域の「エラーメッセージ」の入力ボックスに「no enquete」と入力します。

パレットから「IM-Repository」 - 「エンティティデータの検索」を選択し、「分岐」の次のタスクとして配置します。
配置した「エンティティデータの検索」の「ラベル」を「アンケート設問の検索」に変更します。
「タスク固有設定」 - 「エンティティID」の「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。「アンケート設問」を選択し、「tutorial_enquete_question_app_entity」を設定します。
../../../_images/logic_gateway_to_searchquestion.png

「分岐」の「then」と「アンケート設問の検索」の「in」を線で繋げます。
「アンケート設問の検索」の「out」と「終了」の「in」を線で繋げます。
../../../_images/logic_comp.png

次に、各タスクの変数設定を行います。
「アンケート情報の取得」タスクをダブルクリックしてマッピング設定ダイアログを表示します。
../../../_images/logic_mapping.png

ダイアログ左側の入力の「enqueteId」の端子からドラッグし、右側の「im_repositoryGetEntityData1」の「enquete_id」の端子でドロップして線で繋げます。
「決定」をクリックしてマッピング設定を終了します。
../../../_images/logic_mapping2.png

次に、「アンケート設問の検索」タスクのマッピング設定を行います。
ダイアログ左側の入力の「enqueteId」と右側の「im_repositorySearchEntityData1」の「enquete_id」を線で繋げます。
同様に、定数の「ASC」と出力の「order」、「QUESTON_NO」と「key」をそれぞれ線で繋げてください。
ここまでの設定ができたら「決定」をクリックし、マッピング設定を終了します。
../../../_images/logic_mapping3.png

最後に「終了」要素のマッピング設定を行います。
「マッピング設定」ダイアログの入力側プルダウンから「エイリアス一覧」 - 「im_repositoryGetEntityData1」を選択し、「+入力を追加」をクリックします。
../../../_images/logic_mapping_select.png

追加した「im_repositoryGetEntityData1」の「enquete_title」と出力の「enqueteTitle」を線で繋げます。
同様に「im_repositoryGetEntityData1」の「enquete_overview」と出力の「enqueteOverview」を線で繋げます。
../../../_images/logic_mapping4.png

次に、入力側プルダウンから「エイリアス一覧」 - 「im_repositorySearchEntityData1」を選択し、「+入力を追加」をクリックします。
追加した「im_repositorySearchEntityData1」と出力の「records」を線で繋げます。
ここまでの設定ができたら「決定」をクリックし、マッピング設定を終了します。
../../../_images/logic_mapping5.png

これでアンケート情報取得処理は作成完了です。
「ロジックフロー定義編集」画面上部の「新規保存」をクリックし、「新規保存」ダイアログの各項目を下記の通り入力してください。
入力が完了したら「決定」をクリックして、ロジックを登録します。
ラベル 入力値
フロー定義ID tutorial_enquete_info
フロー定義名(標準) 【チュートリアル】アンケート情報取得
フローカテゴリ 【チュートリアル】チュートリアルガイドカテゴリ
../../../_images/logic_confirm.png

4.4.3.2. アンケート回答登録処理の作成

アンケート回答登録処理では、渡ってきた回答情報をアンケート回答テーブルに格納します。
回答内容は配列型のデータとして渡ってくるため、配列をカンマ区切りの文字列に変換し、データベースに1つのデータとして格納します。
../../../_images/logic_answer_comp.png
以下のアプリケーション全体図にある、色が塗られたところが該当箇所です。
../../../_images/enquete_overall_ld_answer.png

この処理の作成手順について、以下の動画からも確認できます。併せてご利用ください。

4.4.3.2.1. ロジックの作成

「サイトマップ」→「Accel Studio」→「アプリケーション管理」→「アプリケーション一覧」→「【チュートリアル】アンケートアプリケーション」の順に遷移します。
「アプリケーション管理画面」右上の「リソースを追加」プルダウンから「ロジック」 - 「ロジックを新規作成」 - 「ロジックフロー」を選択し、「ロジックフロー定義編集画面」を表示します。
../../../_images/create_flow.png

4.4.3.2.2. 入出力値と定数の設定

業務ロジックへの入力値と定数を設定します。
アンケート回答登録処理は、アンケートIDとアンケートの回答内容を配列型のデータとして受け取ります。出力値は設定しません。
入力値の設定を行うため、画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。
../../../_images/logic_input_output.png

入力値は「アンケートID」と「回答情報」のみなので、文字列の変数を追加します。
「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。
../../../_images/logic_input_string.png

「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteId」に変更します。
同様に「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。
「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「answers」に変更します。
追加した「answers」を選択した状態で「配列型にする」にチェックをいれます。
../../../_images/logic_answer_input.png

入力値はJSON入力で以下のコードを記載しても設定できます。
{
  "enqueteId": "",
  "answers": [
    ""
  ]
}
JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
ここまでの設定が完了したら、出入力設定ダイアログの「決定」をクリックし、設定を終了します。

アンケート回答登録タスクでは、配列型データとして渡ってくる回答内容を「,(カンマ)」区切で1つの文字列として繋げて登録します。
その変換処理に利用するための定数を設定します。
画面上部の「定数設定」をクリックして「定数設定」ダイアログを表示し、「+定数を追加」から下記の通り設定します。
ラベル 入力値
定数ID sep
定数値 ,
入力が完了したら「決定」をクリックして設定を終了します。

4.4.3.2.3. IM-Repositoryタスクの配置と変数設定

アンケートの回答を登録するタスクを設定します。
パレットから「IM-Repository」 - 「エンティティデータの登録」を選択し、「開始」の次のタスクとして配置します。
../../../_images/logic_answer_task.png

配置した「エンティティデータの登録」タスクの「ラベル」を「アンケート回答の登録」に変更します。
「アンケート回答の登録」と「開始」、「終了」のin、outをそれぞれ線で繋げます。
../../../_images/logic_answer_set.png

「タスク固有設定」から「エンティティID」を設定します。「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。
「アンケート回答」を選択し、「決定」をクリックします。
../../../_images/logic_entity_search_window2.png

「エンティティID」に「tutorial_enquete_answer_app_entity」が入力されました。
../../../_images/logic_entity_id_input_answer.png

次に、各タスクの変数設定を行います。
「アンケート回答の登録」タスクをダブルクリックしてマッピング設定ダイアログを表示します。
ダイアログ上部の関数追加プルダウンで「identifier」を選択し、「+関数を追加」をクリックして「identifier」関数を追加します。
../../../_images/logic_identifier_select.png

追加した「identifier」の「out」と「アンケート回答の登録」の入力値の「answer_id」を線で繋げます。
../../../_images/logic_identifier_set.png

入力値の「enqueteId」と「アンケート回答の登録」の入力値の「enquete_id」を線で繋げます。
../../../_images/logic_enqid_to_insert.png

次に、回答内容のデータについて設定していきます。
もとは文字列の配列型データである回答をデータベースに登録する際に1つの「文字列」へと変形し、「アンケート回答の登録」の入力値として扱います。
ダイアログ上部の関数追加プルダウンで「文字列操作 > join」を選択し、「+関数を追加」をクリックしてマッピング設定に「join」関数を追加します。
../../../_images/logic_join_select.png

入力値の「answers」を「join」関数の「value」に、定数の「sep」を「join」関数の「sep」にそれぞれ繋げます。
「join」関数のoutと「アンケート回答の登録」のanswersを線で繋げます。
../../../_images/logic_join_set.png

続けて、回答者と回答日を設定します。
回答者はアカウントコンテキストのユーザコードを利用します。
「マッピング設定」ダイアログのプルダウンから「アカウントコンテキスト」を選択し、「+入力を追加」を選択します。
../../../_images/logic_context_select.png

アカウントコンテキストの「userCd」と「アンケート回答の登録」の「respondent」を線で繋げます。
../../../_images/logic_context_set.png

回答日はセッション情報のシステム日時を利用します。アカウントコンテキストと同様の手順で「マッピング設定」ダイアログのプルダウンから「セッション情報」を選択し、「+入力を追加」を選択します。
セッション情報の「systemDate」と「アンケート回答の登録」の「answer_date」を線で繋げます。
../../../_images/logic_session_set.png

ここまでの設定ができたら「決定」をクリックし、マッピング設定を終了します。

これでアンケート回答登録処理の作成は終了です。
「ロジックフロー定義編集」画面上部の「新規保存」をクリックし、「新規保存」ダイアログの各項目を下記の通り入力してください。
入力が完了したら「決定」をクリックして、ロジックを登録します。
ラベル 入力値
フロー定義ID tutorial_answer_insert
フロー定義名(標準) 【チュートリアル】アンケート回答登録
フローカテゴリ 【チュートリアル】チュートリアルガイドカテゴリ
../../../_images/logic_confirm_answer.png

4.4.3.3. アンケート回答取得処理の作成

アンケート回答取得処理では、渡ってきたアンケートIDをもとに、アンケート回答テーブルからデータを取得します。
データを取得できなかった場合はエラーを返します。
アプリケーションの全体図だと、以下の色が塗られた箇所が対象です。
../../../_images/enquete_overall_ld_totalize.png

この処理の作成手順について、以下の動画からも確認できます。併せてご利用ください。

4.4.3.3.1. ロジックの作成

「サイトマップ」→「Accel Studio」→「アプリケーション管理」→「アプリケーション一覧」→「【チュートリアル】アンケートアプリケーション」の順に遷移します。
「アプリケーション管理画面」右上の「リソースを追加」プルダウンから「ロジック」 - 「ロジックを新規作成」 - 「ロジックフロー」を選択し、「ロジックフロー定義編集画面」を表示します。
../../../_images/create_flow.png

4.4.3.3.2. 入出力値の設定

業務ロジックへの入力値と出力値を設定します。
アンケート回答取得処理は、アンケートIDを受け取り、アンケート回答を配列型データとして返却します。
アンケートの回答は1ユーザの回答につき、配列の1データを格納します。また、回答内容についてもカンマ区切りで保持されている文字列の回答を配列に変換して格納します。
まずは、入力値の設定を行います。
画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。
../../../_images/logic_input_output.png

入力値は「アンケートID」のみとするため、文字列の変数を追加します。
「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。
「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteId」に変更します。
../../../_images/logic_enquete_id.png

入力値はJSON入力で以下のコードを記載しても設定できます。
{
  "enqueteId": ""
}
JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。

次に、出力値の設定を行います。
まずは、設問内容を格納する配列を作成します。
「出力」 - 「+IM-Repository」をクリックして「エンティティ検索」ウインドウを開きます。
../../../_images/logic_select_im_repository.png

「アンケート回答」を選択して「決定」をクリックしてください。
../../../_images/logic_entity_search_select_answer.png

出力値一覧に「tutorial_enquete_answer_app_entity」が追加されます。
../../../_images/logic_entity_add.png

「tutorial_enquete_answer_app_entity」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「records」に変更します。
配置した「records」を選択した状態で「配列型にする」にチェックをいれ、配列型に変更します。
../../../_images/logic_entity_array.png

出力値も、JSON入力で下記コードを記述して設定できます。
{
  "records": [
    {
      "answer_id": "",
      "enquete_id": "",
      "respondent": "",
      "answer_date": null,
      "answers": ""
    }
  ]
}
JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
全ての出入力設定が完了したら、出入力設定ダイアログの「決定」をクリックし、設定を終了します。

4.4.3.3.3. IM-Repositoryタスクの配置と変数設定

アンケートの回答を取得するタスクを設定します。
パレットから「IM-Repository」 - 「エンティティデータの検索」を選択し、「開始」の次のタスクとして配置します。
../../../_images/logic_totalize_select.png

配置した「エンティティデータの検索」タスクの「ラベル」を「アンケート回答の取得」に変更します。
「アンケート回答の取得」と「開始」、「終了」のin、outをそれぞれ線で繋げます。
../../../_images/logic_totalize_set.png

「タスク固有設定」から「エンティティID」を設定します。「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。
「アンケート回答」を選択し、「決定」をクリックします。
../../../_images/logic_entity_search_window2.png

「エンティティID」に「tutorial_enquete_answer_app_entity」が入力されました。
../../../_images/logic_entity_id_input_totalize.png

次に、各タスクの変数設定を行います。
「アンケート回答の取得」タスクをダブルクリックしてマッピング設定ダイアログを表示します。
入力値の「enqueteId」と「アンケート回答の取得」の入力値の「enquete_id」を線で繋げます。設定が完了したら「決定」をクリックし、マッピング設定を終了します。
../../../_images/logic_totalize_mapping.png

続いて、返却値の設定を行います。「終了」をクリックし、画面の右側領域の「マッピング設定」をクリックしてマッピング設定ダイアログを表示します。
マッピング設定の上部で「im_repositorySearchEntityData1」を選択し、「+入力を追加」をクリックします。
../../../_images/logic_totalize_alias.png

「im_repositorySearchEntityData1」と出力の「records」を線で繋げます。
../../../_images/logic_totalize_alias_set.png

「決定」をクリックし、マッピング設定を終了します。

これでアンケート回答取得処理の作成は終了です。
「ロジックフロー定義編集」画面上部の「新規保存」をクリックし、「新規保存」ダイアログの各項目を下記の通り入力してください。
入力が完了したら「決定」をクリックして、ロジックを登録します。
ラベル 入力値
フロー定義ID tutorial_answers_get
フロー定義名(標準) 【チュートリアル】アンケート回答取得
フローカテゴリ 【チュートリアル】チュートリアルガイドカテゴリ
../../../_images/logic_totalize_end.png