4.4.3. アンケートアプリケーションの業務ロジックの作成¶
4.4.3.1. アンケート情報取得処理の作成¶
4.4.3.1.1. ロジックの作成¶
4.4.3.1.2. 入出力値と定数の設定¶
業務ロジックへの入力値と出力値、定数を設定します。アンケート情報取得処理は、アンケートIDを受け取り、アンケート情報とアンケート設問のデータを1つにまとめて返却します。まず、入力値の設定を行います。画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。入力値は「アンケートID」のみとするため、文字列の変数を追加します。「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteId」に変更します。入力値はJSON入力で以下のコードを記載しても設定できます。{ "enqueteId": "" }JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。次に、出力値の設定を行います。まずは、設問内容を格納する配列を作成します。「出力」 - 「+IM-Repository」をクリックして「エンティティ検索」ウインドウを開きます。「アンケート設問」を選択して「決定」をクリックしてください。出力値一覧に「tutorial_enquete_question_app_entity」が追加されます。「tutorial_enquete_question_app_entity」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「records」に変更します。「records」を選択した状態で「配列型にする」にチェックをいれ、配列型に変更します。次に、アンケート情報テーブルから取得した「アンケートタイトル」と「アンケート概要」を格納するための出力値を作成します。「出力」 - 「+string」をクリックし、出力値一覧に「string1」を追加します。「string1」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteTitle」に変更します。「出力」 - 「+string」をクリックし、出力値一覧に「string1」を追加します。「string1」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteOverview」に変更します。出力値はJSON入力で下記コードを記述しても設定できます。{ "records": [ { "enquete_id": "", "question_id": "", "question_no": 0, "question": "", "left_scale": "", "right_scale": "" } ], "enqueteTitle": "", "enqueteOverview": "" }JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。全ての出入力設定が完了したら、出入力設定ダイアログの「決定」をクリックし、設定を終了します。次に、変換処理に利用するための定数を設定します。画面上部の「定数設定」をクリックして「定数設定」ダイアログを表示し、「+定数を追加」から下記の通り設定します。入力が完了したら「決定」をクリックして設定を終了します。
4.4.3.1.3. IM-Repositoryタスクの配置と変数設定¶
アンケートの情報を取得するタスクを設定します。パレットから「IM-Repository」 - 「エンティティデータの取得」を選択し、「開始」の次のタスクとして配置します。配置した「エンティティデータの取得」タスクの「ラベル」を「アンケート情報の取得」に変更します。「開始」の「out」からドラッグし、「アンケート情報の取得」の「in」にドロップしてタスク同士を線で繋げます。「タスク固有設定」から「エンティティID」を設定します。「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。「アンケート情報」を選択し、「決定」をクリックします。「エンティティID」に「tutorial_enquete_info_app_entity」が入力されました。アンケートIDの誤り等でアンケート情報が取得できなかった場合、エラーを返却します。パレットから「基本」 - 「分岐」を選択し、「アンケート情報の取得」タスクの次の要素として配置します。「アンケート情報の取得」タスクの「out」と「分岐」の「in」を線で繋げます。パレットから「基本」 - 「エラー終了」を選択し、「分岐」の次の要素として配置します。配置した「分岐」をクリックして選択し、画面の右側領域の「ラベル」を「アンケート情報の取得結果がnullでないこと」に変更します。次に、「タスク固有設定」-「条件式(EL式)」の「編集」をクリックします。「EL式の編集」ダイアログの右側から「im_repositoryGetEntityData1」を選択します。画面上部のエディタ領域で条件式(EL式)を下記の通りに設定し、「EL式の編集」ダイアログの「決定」をクリックして編集を終了します。「${ im_repositoryGetEntityData1!= null }」「分岐」の「else」と「エラー終了」の「in」を線で繋げます。「エラー終了」をクリックし、画面の右側領域の「エラーメッセージ」の入力ボックスに「no enquete」と入力します。パレットから「IM-Repository」 - 「エンティティデータの検索」を選択し、「分岐」の次のタスクとして配置します。配置した「エンティティデータの検索」の「ラベル」を「アンケート設問の検索」に変更します。「タスク固有設定」 - 「エンティティID」の「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。「アンケート設問」を選択し、「tutorial_enquete_question_app_entity」を設定します。「分岐」の「then」と「アンケート設問の検索」の「in」を線で繋げます。「アンケート設問の検索」の「out」と「終了」の「in」を線で繋げます。次に、各タスクの変数設定を行います。「アンケート情報の取得」タスクをダブルクリックしてマッピング設定ダイアログを表示します。ダイアログ左側の入力の「enqueteId」の端子からドラッグし、右側の「im_repositoryGetEntityData1」の「enquete_id」の端子でドロップして線で繋げます。「決定」をクリックしてマッピング設定を終了します。次に、「アンケート設問の検索」タスクのマッピング設定を行います。ダイアログ左側の入力の「enqueteId」と右側の「im_repositorySearchEntityData1」の「enquete_id」を線で繋げます。同様に、定数の「ASC」と出力の「order」、「QUESTON_NO」と「key」をそれぞれ線で繋げてください。ここまでの設定ができたら「決定」をクリックし、マッピング設定を終了します。最後に「終了」要素のマッピング設定を行います。「マッピング設定」ダイアログの入力側プルダウンから「エイリアス一覧」 - 「im_repositoryGetEntityData1」を選択し、「+入力を追加」をクリックします。追加した「im_repositoryGetEntityData1」の「enquete_title」と出力の「enqueteTitle」を線で繋げます。同様に「im_repositoryGetEntityData1」の「enquete_overview」と出力の「enqueteOverview」を線で繋げます。次に、入力側プルダウンから「エイリアス一覧」 - 「im_repositorySearchEntityData1」を選択し、「+入力を追加」をクリックします。追加した「im_repositorySearchEntityData1」と出力の「records」を線で繋げます。ここまでの設定ができたら「決定」をクリックし、マッピング設定を終了します。これでアンケート情報取得処理は作成完了です。「ロジックフロー定義編集」画面上部の「新規保存」をクリックし、「新規保存」ダイアログの各項目を下記の通り入力してください。入力が完了したら「決定」をクリックして、ロジックを登録します。
4.4.3.2. アンケート回答登録処理の作成¶
4.4.3.2.1. ロジックの作成¶
4.4.3.2.2. 入出力値と定数の設定¶
業務ロジックへの入力値と定数を設定します。アンケート回答登録処理は、アンケートIDとアンケートの回答内容を配列型のデータとして受け取ります。出力値は設定しません。入力値の設定を行うため、画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。入力値は「アンケートID」と「回答情報」のみなので、文字列の変数を追加します。「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteId」に変更します。同様に「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「answers」に変更します。追加した「answers」を選択した状態で「配列型にする」にチェックをいれます。入力値はJSON入力で以下のコードを記載しても設定できます。{ "enqueteId": "", "answers": [ "" ] }JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。ここまでの設定が完了したら、出入力設定ダイアログの「決定」をクリックし、設定を終了します。アンケート回答登録タスクでは、配列型データとして渡ってくる回答内容を「,(カンマ)」区切で1つの文字列として繋げて登録します。その変換処理に利用するための定数を設定します。画面上部の「定数設定」をクリックして「定数設定」ダイアログを表示し、「+定数を追加」から下記の通り設定します。
ラベル 入力値 定数ID sep 定数値 , 入力が完了したら「決定」をクリックして設定を終了します。
4.4.3.2.3. IM-Repositoryタスクの配置と変数設定¶
アンケートの回答を登録するタスクを設定します。パレットから「IM-Repository」 - 「エンティティデータの登録」を選択し、「開始」の次のタスクとして配置します。配置した「エンティティデータの登録」タスクの「ラベル」を「アンケート回答の登録」に変更します。「アンケート回答の登録」と「開始」、「終了」のin、outをそれぞれ線で繋げます。「タスク固有設定」から「エンティティID」を設定します。「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。「アンケート回答」を選択し、「決定」をクリックします。「エンティティID」に「tutorial_enquete_answer_app_entity」が入力されました。次に、各タスクの変数設定を行います。「アンケート回答の登録」タスクをダブルクリックしてマッピング設定ダイアログを表示します。ダイアログ上部の関数追加プルダウンで「identifier」を選択し、「+関数を追加」をクリックして「identifier」関数を追加します。追加した「identifier」の「out」と「アンケート回答の登録」の入力値の「answer_id」を線で繋げます。入力値の「enqueteId」と「アンケート回答の登録」の入力値の「enquete_id」を線で繋げます。次に、回答内容のデータについて設定していきます。もとは文字列の配列型データである回答をデータベースに登録する際に1つの「文字列」へと変形し、「アンケート回答の登録」の入力値として扱います。ダイアログ上部の関数追加プルダウンで「文字列操作 > join」を選択し、「+関数を追加」をクリックしてマッピング設定に「join」関数を追加します。入力値の「answers」を「join」関数の「value」に、定数の「sep」を「join」関数の「sep」にそれぞれ繋げます。「join」関数のoutと「アンケート回答の登録」のanswersを線で繋げます。続けて、回答者と回答日を設定します。回答者はアカウントコンテキストのユーザコードを利用します。「マッピング設定」ダイアログのプルダウンから「アカウントコンテキスト」を選択し、「+入力を追加」を選択します。アカウントコンテキストの「userCd」と「アンケート回答の登録」の「respondent」を線で繋げます。回答日はセッション情報のシステム日時を利用します。アカウントコンテキストと同様の手順で「マッピング設定」ダイアログのプルダウンから「セッション情報」を選択し、「+入力を追加」を選択します。セッション情報の「systemDate」と「アンケート回答の登録」の「answer_date」を線で繋げます。ここまでの設定ができたら「決定」をクリックし、マッピング設定を終了します。これでアンケート回答登録処理の作成は終了です。「ロジックフロー定義編集」画面上部の「新規保存」をクリックし、「新規保存」ダイアログの各項目を下記の通り入力してください。入力が完了したら「決定」をクリックして、ロジックを登録します。
4.4.3.3. アンケート回答取得処理の作成¶
4.4.3.3.1. ロジックの作成¶
4.4.3.3.2. 入出力値の設定¶
業務ロジックへの入力値と出力値を設定します。アンケート回答取得処理は、アンケートIDを受け取り、アンケート回答を配列型データとして返却します。アンケートの回答は1ユーザの回答につき、配列の1データを格納します。また、回答内容についてもカンマ区切りで保持されている文字列の回答を配列に変換して格納します。まずは、入力値の設定を行います。画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。入力値は「アンケートID」のみとするため、文字列の変数を追加します。「入力」 - 「+string」をクリックし、入力値一覧に「string1」を追加します。「string1」を選択した状態で入力値一覧上部の「キー名を変更」をクリックし、キー名を「enqueteId」に変更します。入力値はJSON入力で以下のコードを記載しても設定できます。{ "enqueteId": "" }JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。次に、出力値の設定を行います。まずは、設問内容を格納する配列を作成します。「出力」 - 「+IM-Repository」をクリックして「エンティティ検索」ウインドウを開きます。「アンケート回答」を選択して「決定」をクリックしてください。出力値一覧に「tutorial_enquete_answer_app_entity」が追加されます。「tutorial_enquete_answer_app_entity」を選択した状態で出力値一覧上部の「キー名を変更」をクリックし、キー名を「records」に変更します。配置した「records」を選択した状態で「配列型にする」にチェックをいれ、配列型に変更します。出力値も、JSON入力で下記コードを記述して設定できます。{ "records": [ { "answer_id": "", "enquete_id": "", "respondent": "", "answer_date": null, "answers": "" } ] }JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。全ての出入力設定が完了したら、出入力設定ダイアログの「決定」をクリックし、設定を終了します。
4.4.3.3.3. IM-Repositoryタスクの配置と変数設定¶
アンケートの回答を取得するタスクを設定します。パレットから「IM-Repository」 - 「エンティティデータの検索」を選択し、「開始」の次のタスクとして配置します。配置した「エンティティデータの検索」タスクの「ラベル」を「アンケート回答の取得」に変更します。「アンケート回答の取得」と「開始」、「終了」のin、outをそれぞれ線で繋げます。「タスク固有設定」から「エンティティID」を設定します。「検索」アイコンをクリックしてエンティティ検索ウインドウを開いてください。「アンケート回答」を選択し、「決定」をクリックします。「エンティティID」に「tutorial_enquete_answer_app_entity」が入力されました。次に、各タスクの変数設定を行います。「アンケート回答の取得」タスクをダブルクリックしてマッピング設定ダイアログを表示します。入力値の「enqueteId」と「アンケート回答の取得」の入力値の「enquete_id」を線で繋げます。設定が完了したら「決定」をクリックし、マッピング設定を終了します。続いて、返却値の設定を行います。「終了」をクリックし、画面の右側領域の「マッピング設定」をクリックしてマッピング設定ダイアログを表示します。マッピング設定の上部で「im_repositorySearchEntityData1」を選択し、「+入力を追加」をクリックします。「im_repositorySearchEntityData1」と出力の「records」を線で繋げます。「決定」をクリックし、マッピング設定を終了します。これでアンケート回答取得処理の作成は終了です。「ロジックフロー定義編集」画面上部の「新規保存」をクリックし、「新規保存」ダイアログの各項目を下記の通り入力してください。入力が完了したら「決定」をクリックして、ロジックを登録します。



























































