# データセットの作成

## OZデータの構造

### データストア

&#x20;データストアは様々なデータソースをサポートするデータリポジトリです。データベースへの接続、データの定義、データフィールドの構成などの機能をサポートします。データストアのタイプは以下リストのようになります。

| タイプ                             | 説明                                                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| データベース                          | JDBC/ODBC/OLEDB RDBMSをサポート。SQLでデータセットを構成                                                                                 |
| <p>UDS<br>(UserDataSet)</p>     | UDSは一般ファイルデータ(Text、CSV、XML)または外部プログラムデータ (EJB, Servlet, ASP, JSP, Stored Procedureなど)のような様々な形式のデータソースからデータを取得し、データセットを生成 |
| <p>GDS</p><p>(GroupDataSet)</p> | <p>GDSは指定されたフィールド別に全てのデータソースを複数のデータセットとして分けることができるようにサポート　</p><p>GDSはデータセットをマスタ―ディテールセットとして再構成する目的として使用。</p>             |
| ファイル                            | サーバーに存在するCSV、XMLファイル(DTD除外)をパスごとに取得し、データセットを構成                                                                           |
| HTTPストア                         | Web環境に存在する(URLで接近)CSV、XMLファイル(DTD除外)からデータを取得                                                                             |
| SOAPストア                         | ウェブサービスから簡単に結果データを取得するようにサポート                                                                                            |
| XML                             | XMLファイル(DTD・XSDタイプ)からデータを取得                                                                                              |
| SAP                             | SAP R/3 RFCから結果データを取得                                                                                                    |
| CLEAR QUEST                     | IBM Rational Clear Quest programで生成したDBと連携する場合に使用                                                                        |
| トランザクション                        | DML transactionをサポートする機能                                                                                                 |

### データセット

データストアから選択されたデータフィールドの集まりです。データセットの定義する方法はデータストアの形式によって異なります。例えば、データベースのデータセットはクエリによって定義されます。

### ODI(OZ Data Information)

ODI は、データストアを格納する XML形式のファイルです。 OZ e-Form Designerは、ODIを使用してe-Formとデータをバインディングします。

### ODIの階層性

１つのODIファイルは複数のデータストアを含めることができ、1つのデータストアは複数のデータセットを含めることが可能です。

## ODIの作成&#x20;

### クエリデザインモード

| モード      | ユーザー | 説明                              |
| -------- | ---- | ------------------------------- |
| デザインビュー  | 初級   | ドラッグアンドドロップで作成                  |
| クエリビュー   | 高級   | クエリエディターで直接クエリを作成するかクエリをコピーして活用 |
| クエリウィザード | 全体   | インタラクティブモードで高級クエリを作成            |

### クエリウィザード

| タブ      | 説明                   |
| ------- | -------------------- |
| テーブル選択  | FROM句でテーブルを選択        |
| フィールド選択 | 選択リストからフィールドを選択      |
| 結合選択    | 結合条件を定義              |
| 条件選択    | WHERE条件を定義           |
| グループの選択 | GROUP BYとHAVING条件を定義 |
| 並べ替えの選択 | ORDER BY条件を定義        |

## orderList.odiの作成

1. テーブルリストのデータベース配下の**orderList**を右クリックします。
2. **データセットの追加**を選択した後、クエリデータセットの名前を**orderList**と命名します。
3. **デザインビュー**モードでクエリを作成します。
4. アイコンメニューバーの![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-LxyZkcwhXqDGM7D9W5P%2F-LxybkxhWZJi2R37NE_w%2Fqd-run-icon.png?alt=media\&token=56c2d786-33bd-4c45-a96d-297f07c86254)でクエリを実行します。
5. `orderList.odi`として保存します。このクエリは`orderList.ozr`でも活用可能です。

![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-LzjyuuM9oJsAsBQPrm1%2F-Lzjz7d6m0MSWKxg6dgy%2Flearn-query-odi-orderlist.png?alt=media\&token=cfa72371-6c51-41a6-86f1-7c11ee65cad9)

## orderDetail.odi - Master-Detailデータセットの作成

1\. マスター用の**order**というデータセットを作成します ( 以前の**orderListデータセット**と同一なクエリを使用します。 )

![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-LzkDDBsabbh1Lvyts0Y%2F-LzkDhllxvO79N7mXBy4%2Flearn-query-odi-masterdetail-odi.png?alt=media\&token=40baba7a-a8e2-469f-8002-631f5f1f9912)

2\. 詳細のために**detail**というデータセットを作成します。

![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-Lzk9OULmW9Yq1XVRiN2%2F-LzkD5leFM9HSeRFguQ9%2Flearn-query-odi-detail-odi.png?alt=media\&token=36b144cc-df08-424c-8664-737393d9c5c3)

3\. detailの**Master Set**プロパティをorderで設定します。

![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-LzkDkINudLfVhOtJMM-%2F-LzkE2z8cRzROA78tNBs%2Flearn-query-odi-masterset.png?alt=media\&token=f4dc37f0-b315-458f-887c-81cca8d244a4)

4\. トップツールバーの保存アイコンをクリックし、`orderDetail.odi`として保存します。&#x20;

## orderDetailOdiParam.odi - ODIパラメーターの使用

既存に作成したorderDetail.odiを使用します。今回は**order**データセットが1行のみのデータをリターンするように条件文(SalesOrderID使用)を追加します。

1. OZデータツリーで**ユーザーパラメーター**を右クリックし、パラメーターの追加を選択し、`orderID`をユーザーパラメーターとして追加します。
2. WHERE条件を以下画象のように挿入します。

![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-LzkDkINudLfVhOtJMM-%2F-LzkEkYNaGiSKZxskUdV%2Flearn-query-odi-masterdetail-odi-1.png?alt=media\&token=58ff3d69-fd1f-4231-8ec6-5472383186d0)

&#x20;`orderDetailOdiParam.odi`として保存します。

## ODIパラメーターを使用したMembership.odiの作成

1. **membership**という名前の新しいデータストアを作成します。
2. **member**というデータセットを追加し、ODIパラメーターの**memberNo**を追加します。&#x20;
3. **Manual**モードで、WHERE句を使用して以下のようにクエリを作成します。パラメーターがINTEGER型であるため、パラメーターを引用符で囲む必要はありません。&#x20;
4. アイコンメニューバーの![](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-Lq-pPOWLQFWMl9FcmG8%2F-LwGd0_mFJcAl3ATsRk0%2F-LwGfe5wLYxFhndFU788%2Fqd-run-icon.png?alt=media\&token=53b84cba-4783-4426-aa0a-8874242b1635)でクエリを実行します。
5. `membership.odi`として保存します。このクエリは`membership-odiparam.ozr`でも活用可能です。

![](https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-LxxdWYK--CoHYDQnlDS%2F-Lxxdcv3K6ERShfjnDd_%2Flearn-query-odi-membership-odi.png?alt=media\&token=7d605953-e803-49c3-a55b-dd0fd17c4aa2)

## ダウンロード

{% file src="<https://1097513732-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwWWN-Gla4aA9ONdCK6%2F-M4qQC1M-RrcSO5dDBFE%2F-M4qQiCsqK9plXzwLupk%2Fsample-odi.zip?alt=media&token=64bcd75e-d4c4-46c6-9be3-989681a5a682>" %}
sample-odi.zip
{% endfile %}
