5.2.2. クエリを作成・更新・削除する¶
ここでは、 IM-FormaDesigner で作成したアプリケーションに、あらかじめ用意したデータベースから取得したデータを表示できるようにするためのクエリの設定方法について説明します。なお、データソース定義の作成に当たっては、取得元のデータベースに関する情報(接続情報、テーブルやカラムの物理名等)、データベース操作に関する基本的な知識があることを前提にしています。
Contents
5.2.2.1. データソース定義とは¶
データソース定義は、 IM-FormaDesigner のアプリケーションの画面項目(画面アイテム)に設定できる、データベースからデータを取得するためのプログラム(クエリ)を作成するための機能です。データを取得する「クエリ」の作成にあたっては、データベースを操作するための基本的な知識が必要です。
5.2.2.2. テナントDBクエリとシェアードDBクエリ¶
クエリ には、「テナントDBクエリ」「シェアードDBクエリ」の2つがあります。どちらを利用するのかは、データを取得するためのデータベースが intra-mart Accel Platform 関連になるのか、外部システム(ERPシステムなど)となるのかで決まります。
テナントDBクエリ¶
intra-mart Accel Platform 上で管理する各種データ(IM共通マスタなど)を取得するためのクエリです。
シェアードDBクエリ¶
intra-mart Accel Platform 以外のシステムのデータを取得するためのクエリです。他のシステムとの連携に必要なデータソース設定については、システム管理者に確認してください。
5.2.2.4. 「クエリ詳細編集」画面の機能と各部の説明¶
「クエリ詳細編集」画面の内容は以下の通りです。
クエリ名
ステップ2で設定したクエリ名を表示します。
接続ID
シェアードDBクエリの場合のみ設定します。表示されていない場合は、システム管理者に連絡してください。
- SQL
データソースとして実行するSQLを入力します。記載するSQLはSELECT文のみとしてください。注意
ここで指定するクエリは、サブクエリとして実行されます。そのため、クエリ内で ORDER BY句 を指定すると、SQLServerではエラーが発生します。SQLServer では、ORDER BY句 を指定しないようにしてください。ただし、SQLServer 2005以降の場合には、TOP句と組み合わせることにより、ORDER BY句を指定することができます。ソートは画面から指定する動作仕様です。初期表示時は一番左端のカラムを昇順で表示します。
- 入力値
- テスト実行値:「SQL」に記述したデータ処理の条件(WHERE句)に記述したカラム(テーブルの項目)に代入する値を入力します。アプリケーションの画面アイテムから入力されることが想定される値を入力します。
- データ型:項目に対応するデータの形式を文字型(VARCHAR)、数値型(NUMBER)、日付型(DATE)、タイムスタンプ型(TIMESTAMP)のいずれかから選択します。
- 論理名:画面アイテムでデータソースを利用する際の「パラメータ設定」で表示する項目名として利用されます。
- 追加・削除:入力値の追加・削除ができます。
- 出力値
- カラム名:「SQL」に記述したデータ処理がSELECT(データ抽出)の場合に出力する項目名を入力します。アプリケーションの画面アイテムに表示する項目を入力します。複数設定している場合には、画面アイテム「一覧選択」以外の項目にも検索結果を反映することができます。
- データ型:項目に対応するデータの形式を文字型(VARCHAR)、数値型(NUMBER)、日付型(DATE)、タイムスタンプ型(TIMESTAMP)のいずれかから選択します。
- 論理名:画面アイテムでデータソースを利用する際の「取得値設定」で表示する項目名として利用されます。20文字まで利用することができます。
- 追加・削除:出力値の追加・削除ができます。
注意
出力値を設定する場合には、以下の点に注意してください。
出力値のカラム名の設定で、以下のいずれかに該当する設定を行った場合には、アプリケーションの実行時にデータソース定義によるデータ取得が正しく動作しません。
- 出力値のカラム名に大文字を含んでいる
- 同一のデータソース定義内で2つ以上の出力値に同じカラム名を設定する
クエリ詳細設定の出力値の設定を更新した場合には、該当のデータソース定義を呼び出している画面アイテムを再設定してください。再設定を行わないと、データソース定義で行った更新内容が反映されません。
5.2.2.5. シェアードDBクエリを作成する¶
ステップ1:シェアードDBクエリ登録画面を表示する¶
※以下の手順はintra-mart Accel Platformにログイン後の画面から説明します。
- メニューから「Formaアプリ作成管理」→「データソース定義」→「シェアードDBクエリ」→「クエリ一覧 [シェアードデータベース]」に移動します。
- 「クエリ一覧 [シェアードデータベース]」画面上部の「登録」ボタンを押下します。
ステップ2:クエリ情報を入力する¶
- 「クエリ登録 [シェアードデータベース]」画面が表示されますので、必要な情報を入力し、「登録」ボタンをクリックしてクエリを登録します。
- ここで登録した情報は、一部を除いて後から変更できます。
ステップ3:クエリで実行するSQLや利用するDB接続情報を設定する¶
- 「クエリ詳細編集 [シェアードデータベース]」画面で、使用するデータベースへの接続情報(接続ID)、実行するSQLを記述します。
ステップ4:クエリの設定内容をテストする「テスト実行」¶
- 作成したクエリが想定したデータ処理を行えるかを確認するために「テスト実行」をクリックします。
- 設定内容に不備がある場合には、その旨のエラーメッセージを表示しますので、エラーメッセージに従って修正します。
ステップ5:クエリを保存する¶
- テストの結果、クエリの設定に問題がなければ「登録」をクリックして、クエリを登録します。
5.2.2.6. テナントDBクエリを作成する¶
ステップ1:テナントDBクエリ登録画面を表示する¶
※以下の手順はintra-mart Accel Platformにログイン後の画面から説明します。
- メニューから「Formaアプリ作成管理」→「データソース定義」→「テナントDBクエリ」→「クエリ一覧[テナントデータベース]」に移動します。
- 「クエリ一覧[テナントデータベース]」画面上部の「登録」ボタンを押下します。
ステップ2:クエリ情報を入力する¶
「クエリ登録[テナントデータベース]」画面が表示されますので、必要な情報を入力し、「登録」ボタンをクリックしてクエリを登録します。ここで登録した情報は、一部を除いて後から変更できます。
ステップ3:クエリで実行するSQLを設定する¶
- 「クエリ詳細編集[テナントデータベース]」画面で、実行するSQLを記述します。
ステップ4:クエリの設定内容をテストする「テスト実行」¶
作成したクエリが想定したデータ処理を行えるかを確認するために「テスト実行」をクリックします。設定内容に不備がある場合には、その旨のエラーメッセージを表示しますので、エラーメッセージに従って修正します。
ステップ5:クエリを保存する¶
テストの結果、クエリの設定に問題がなければ「登録」をクリックして、クエリを登録します。
5.2.2.7. 作成したデータソース定義をアプリケーションから利用する¶
作成したデータソース定義を画面アイテムから利用するための手順を説明します。
ステップ1:フォームを作成する¶
手順の詳細は「アプリケーションのフォームを作成する」の項を参照してください。
ステップ2:データソースを利用する画面アイテムを配置する¶
作成したデータソース定義を参照する画面アイテムをフォーム上に配置します。コラム
データソース定義を利用できる画面アイテムは次の通りです。一覧選択、チェックボックス、ラジオボタン、セレクトボックス、リストボックス
ステップ3:画面アイテムにデータソース定義を設定する¶
ステップ2で配置した画面アイテムにデータソースの情報を設定します。
- 配置した画面アイテムのプロパティを表示します。
- 「データソース」のタブをクリックします。
- 虫眼鏡のアイコンをクリックします。
- 「クエリ一覧」に表示されているクエリから、使用するクエリ名をクリックします。
ステップ4:画面アイテムでの利用内容を設定する¶
ステップ3で選択したデータソース定義を画面アイテムでどのように利用するかを設定します。
一覧選択の画面タイトル・表示項目を設定する¶
※一覧選択のみ設定できます。
- 画面タイトル:画面タイトルで設定した名称を表示します。
- 一覧表示項目:データソース定義の取得対象項目に設定されており、かつ、下記の一覧選択画面設定で一覧表示項目に設定している項目を表示します。
一覧選択画面の設定手順は、以下の通りです。
- 「選択データ」の「一覧選択画面」をクリックして、設定セクションを表示します。
- 一覧選択画面に表示するタイトル(画面の名称)を「画面タイトル」に入力します。
- 一覧選択画面に表示する項目(列)を「一覧表示項目」に設定します。
- 一覧表示項目に設定した項目の順番(上から順に)は、一覧表示画面の左から順に表示されます。
- 非表示項目に設定した項目は、虫眼鏡アイコンで表示した画面には表示されません。
データソース定義を実行するときの条件値を設定する¶
- 「選択データ」の「パラメータ設定」をクリックして、設定セクションを表示します。
- データソース定義に設定している処理条件(WHERE句)渡す値(パラメータ)を固定値、または画面アイテム「関数」で利用できる評価式を利用して設定します。
データソース定義で取得したデータを表示・送信する項目を設定する¶
画面アイテム「一覧選択」の場合
- 「選択データ」の「取得値設定」をクリックして、設定セクションを表示します。
- データソース定義で取得項目が複数ある場合、一覧選択のテキストボックスに反映する項目を選択できます。また、取得した項目をフォーム上の他の画面アイテムに反映することもできます。
画面アイテム「チェックボックス」、「ラジオボタン」、「セレクトボックス」、「リストボックス」の場合
- 「選択データ」の「取得値設定」をクリックして、設定セクションを表示します。
- データソース定義の取得項目のうち、フォーム上に表示する値を「表示値」、入力データを管理するテーブル( ヘッダーテーブル )に保存する値を「送信値」に設定します。
ステップ5:フォームを保存する¶
設定が終わったら、「フォーム・デザイナ」画面のツールバーから「更新」をクリックしてフォームを保存します。
5.2.2.8. データソース定義を変更する¶
編集で作成済みのクエリ情報、クエリ詳細を編集する画面に遷移します。遷移後は、新規作成時と同様の手順で、必要な情報を登録して保存します。
5.2.2.9. シェアードDBクエリを削除する¶
ステップ1:シェアードDBクエリ編集画面を表示する¶
※以下の手順はintra-mart Accel Platform にログイン後の画面から説明します。
- メニューから「Formaアプリ作成管理」→「データソース定義」→「シェアードDBクエリ」→「クエリ一覧 [シェアードデータベース]」に移動します。
- 「クエリ一覧 [シェアードデータベース]」画面の削除対象のクエリの「編集」ボタンを押下します。
- シェアードDBクエリ編集画面が表示されます。
ステップ2:シェアードDBクエリを削除する¶
- シェアードDBクエリ編集画面下部の「削除」をクリックすると、シェアードDBクエリ(データソース定義)が削除されます。
5.2.2.10. テナントDBクエリを削除する¶
ステップ1:テナントDBクエリ編集画面を表示する¶
※以下の手順はintra-mart Accel Platform にログイン後の画面から説明します。
- メニューから「Formaアプリ作成管理」→「データソース定義」→「テナントDBクエリ」→「クエリ一覧 [テナントデータベース]」に移動します。
- 「クエリ一覧 [テナントデータベース]」画面の削除対象のクエリの「編集」ボタンを押下します。
- テナントDBクエリ編集画面が表示されます。
ステップ2:テナントDBクエリを削除する¶
- テナントDBクエリ編集画面下部の「削除」をクリックすると、テナントDBクエリ(データソース定義)が削除されます。