データ・パーツは、1 つ以上のデータを格納する構造を定義します。
データ・パーツは、論理パーツで使用できる変数の基本を形成します。
EGL は、以下のタイプのデータ・パーツを提供します。
- ArrayDictionary
- ArrayDictionary パーツに基づいた変数を使用すると、各配列から同じ番号が付いた要素を取り出すことによって、一連の配列にアクセスできます。この方法で取り出された要素セットは、それ自体が 1 つの辞書であり、それぞれの配列名は、配列要素内の値と対になったキーとして扱われます。
- DataItem
- DataItem パーツは、プリミティブ・データ型に名前を割り振り、割り当てられる値を制限してプリミティブ・データ型を特殊化します。DataItem パーツを定義するときには、ストレージを予約しません。DataItem パーツに基づいた変数を宣言するときにのみ、ストレージを予約します。
- DataTable
- DataTable パーツは、データの集合を表形式で提供します。この表は、アプリケーション全体で提供できます。DataTable は、メインのパーツです。
- Dictionary
- 辞書は、値の代入が可能な複数のフィールドを含んでいます。データベースには関連付けられておらず、プログラムの実行中に新規フィールド (名前と値のペアと呼ばれる) を追加できます。辞書型の変数を作成して、ストレージを予約します。辞書が使用するストレージの量は、その辞書に含める情報に応じて変化します。
- Form
- 書式パーツには、一連のフィールドのレイアウトと特性がどのようにユーザーに表示されるかについての情報が含まれています。書式パーツは、プリンター (印刷書式)、3270 画面、またはコンソール・ウィンドウ (テキスト書式) のいずれかに情報を表示できます。書式パーツは、FormGroup パーツ外では生成できません。
- FormGroup
- FormGroup パーツは、FormGroup ソース・ファイル内でテキスト書式と印刷書式を定義し、use 宣言を使用して書式パーツを組み込み、フローティング・エリアを定義することができます。FormGroup パーツは、メインのパーツです。
- プリミティブ
- EGL では、他のほとんどのプログラミング言語で見られるような、
数値、日付、文字、ラージ・オブジェクトといったシンプルなデータ型を提供しています。
プリミティブは、より複雑なデータ型の基盤を構成します。
プリミティブから作成された 2 つの変数の例を、以下に示します。
myInteger INT;
myString CHAR(50);
プリミティブの完全なリストは、プリミティブ・データ型に記載されています。
使用頻度の高いプリミティブについては、
通常使用するプリミティブを参照してください。
- レコード
- レコード・パーツは、他のデータ・パーツ (プリミティブ、DataItems、または他のレコードなど) を構造化した集合体です。レコード・パーツ内に含まれているこうしたデータ・パーツは、
レコード・パーツのフィールド と呼ばれます。
通常、1 つのレコード・パーツがデータベース内の 1 つのテーブルを表わし、
1 つのフィールドがテーブル内の各列を表わします。
Record myCustomerRecord type BasicRecord
customerNumber INT;
customerFirstName STRING;
customerLastName STRING;
customerBalance FLOAT;
end
このレコードには、4 つのフィールドがあります。
整数が 1 つ、文字列が 2 つ、浮動小数点数が 1 つというフィールド構成です。
これらのフィールドは、容易に dataItems や他のレコードにすることができます。
厳密には、データ・パーツ自体がデータを格納するのではなく、
そのデータ・パーツから作成された変数がデータを格納します。
したがって、データ・パーツは、
変数のパターンの 1 つであると考えることができます。
以下のように、変数に名前をつけて、
使用するデータ・パーツを指定するだけで、変数を宣言できます。
myVariable1 INT;
myVariable2 myDataItemPart;
myVariable3 myRecordPart;