• IT助成金利用
  • 無料デモ紹介ZOOM等オンラインでのご相談も可能です
  • お問い合わせ

※ ワンダーロボ設計書および関連する自動開発手法について、すべての著作権はワンダフルフライ株式会社に帰属します。

【ワンダーロボ】DB共通関数設計~検索(共通関数とダイナミックビュー設計)~

ワンダーロボ設計書のDB共通関数設計の「検索」の開発方法について説明をします。

DB共通関数を作成することにより、別の関数内で呼び出して使用する事ができます。また関数としてだけでなくダイナミックビューの設計も行うことができます。
帳票設計に対してやビュー内に関数を使用する際に、下記の設計書作成手順でダイナミックビュー設計で行いましょう。

本記事では検索の共通関数基本設定についての説明となります。サブクエリなどの設定詳細については下記をご参照ください。

 

◆【ワンダーロボ】共通関数設計~サブクエリ~

 

以下、設定方法となります。

 

1.共通関数用のシートを作成します。

シート名は必ず、「関数定義_〇〇〇」にする必要があります。

(例)関数定義_V_請求書検索(I00001)

 

2.シート内のフォーマットに沿って、共通関数の定義を作成します。

共通関数設計をする場合、決められたフォーマットに対象のテーブル、結合条件、処理の設定を行う必要があります。

〔ダイナミックビュー設計の場合〕

〔関数設計の場合〕

 

入力する項目 説明
画面名 関数を使用する画面名を入力してください。
※画面項目欄に記述している項目にDropdownListのようなリスト項目が存在する場合は、対象の画面名を記述することによって、リスト項目にもパラメータ引き渡しが行えます。誤っている場合は、対象画面のリスト項目にパラメータ引き渡しが行えません。
管理 ID 関数を使用する画面の管理 ID を入力してください。
※画面項目欄に記述している項目にDropdownListのようなリスト項目が存在する場合は、対象の画面名を記述することによって、リスト項目にもパラメータ引き渡しが行えます。誤っている場合は、対象画面のリスト項目にパラメータ引き渡しが行えません。
作成日 作成日を入力してください。(未入力でも可)
作成者 作成者を入力してください。(未入力でも可)
更新日 更新日を入力してください。(未入力でも可)
更新者 更新者を入力してください。(未入力でも可)
関数名 関数 ID を入力してください。関数の名称としても使用されます。
【SQL 区分】 「検索」(固定値)を記入します。
【作成対象】 ビューと記述します。(必須)

(ダイナミックビューを設定する際は必須ですが、関数設計時は記述しません。)

【概要】 該当関数の機能内容を記入します。関数には影響しません。
【引数】 引数が下記に分類(必須)
■画面上:「画面.画面上項目名」を設定(例:画面.店舗GLN)
■セッション値:「セッション変数.項目名」を設定(例:セッション変数.店舗GLN)
【戻り値】 関数内の SELECT で取得した結果が戻り値となります。任意の名称を設定します。
【使用テーブル】 該当関数にて関わる全てのテーブルを記入(どのテーブルから値を検索するか)(必須)
【取得項目】 参照テーブルのフィールド名を記入します(必須)
【画面項目】 取得結果を設定する画面項目を記入します。
【参照元テーブル】 参照テーブルを記入します。(必須)
【結合条件】 結合条件を作成する必要時、作成。(複数テーブルを利用する場合)
テーブルが 1 つの場合:「なし」か空白
テーブル結合時、下記に分類:
■「テーブル.フィールド名 = テーブル.フィールド名」との形式で作成
例)学生.学生 No = 学生成績.学生 No
■テーブル名 INNER JOIN テーブル名
ON「テーブル.フィールド名 = テーブル.フィールド名」(例)学生 INNER JOIN 学生成績 ON「学生.No = 学生成績.学生 No」
【処理】 必要により、「WHERE」句などを定義します。
≪Order By 句≫で複数のソート条件を設定する場合、カンマ区切りで記述します。
ソート順指定なしの場合、ASC(昇順)扱いになります。

 

3.作成した共通関数を他の関数内で使用する場合

開発完了した共通関数を別の関数内で使用する場合について、基本的に以下のような記述方法になります。

関数「関数ID記述」の「関数内のメソッドID」メソッドを行う、パラメータは「パラメータ項目1、パラメータ項目2」。

 

記述例:

「項目処理」
「データ取得」ボタンをクリックすると、以下の処理を行う。
1.関数「GetStuInfobyNo」の「db_GetStuInfobyNo」メソッドを行う、パラメータは「学生 ID」。
2.関数「GetStuInfobyNo」の「GetStuInfobyNo」取得結果。
3.<取得件数>が空白の場合、以下の処理を行う。
「データがありません。」メッセージを表示する。
処理終了。

4.その他の場合、以下の処理を行う。
1.「姓名」に<姓名>を設定する。
2.「性別」に<性別>を設定する。
3.「学校」に<学校>を設定する。
4.「都道府県」に<都道府県>を設定する。
5.「年齢」に<年齢>を設定する。
処理終了。
処理終了。

 

説明:

共通関数設計書をインポートすると、メソッドが自動生成されます。
作成した共通関数のメソッドを使用する場合、ユーザー定義関数から確認してメソッド指定する必要があります。

 

 

◇メソッドは「acc_関数ID」と「db_関数ID」の二種類作成されます。

基本的に

・acc_メソッドでは設計書で指定したパラメータとdb_メソッドを呼び出す処理内容が作成

・db_メソッドでは設計書で記述したSQL処理とパラメータの取得や、引き渡しの処理内容が作成

上記の形でコード生成されます。

設計書で記述した以外のパラメータ設定を行う場合は、db_メソッド側を使用しましょう。

※画面詳細設計書で関数処理の記述を行う場合は、必ず行ごとの処理記述終了後には句読点「。」で終えるようにしてください。

 

◇記述例の2.の記述内の取得結果で共通関数「GetStuInfobyNo」のSELCT実行結果を取得し、

3.の記述内の<取得件数>の記述で関数の取得要素を変数に変えて条件分岐のコードを作成しています。