プリミティブ型を DataItem パーツとして特殊化する

DataItem パーツ は、プリミティブ・データ型に名前を割り振り、オプションで割り当てられる値を制限してプリミティブ・データ型を特殊化します。 DataItem パーツの定義による記憶域の予約はありません。 DataItem パーツに基づいた変数の宣言があった場合に限り記憶域が予約されます。

レコードの場合と同様に、その他のパーツとは別に DataItem を定義します。これにより、DataItem 定義がパッケージ有効範囲内に自動的に配置されます。

DataItem パーツで使用可能なプロパティーには、どのコンテキストでも有効なすべての フィールド・レベル・プロパティーが含まれます。 例えば、米国社会保障番号 (9 桁 (のみ) の ID) を表す DataItem パーツの場合を考えてみます。 次のように、この ID が、リレーショナル・データベースの SSN という名前の列と関連付けられているとします。
  DataItem IDNumber CHAR(9) 
  {
    minInput = 9,         // 9 文字の入力が必要
    isDecimalDigit = yes, // 数字でなければならない
    column = "SSN"    // 列へ関連付けられている
  }
  end
以下の構文を使用して、IDNumber 変数を宣言します。
  mySSN IDNumber;

この変数は、レコード・パーツなどのコンポジット・パーツの中で宣言することも、 プログラムなどのロジック・パーツの中で直接宣言することもできます。 どの事例でも、パーツ型は、与えられたプロパティーが使用されているかを判別します。

現在の例では、リレーショナル・データベースで使用するためにステレオタイプ化されたレコードでこの変数が宣言されている場合にのみ、column プロパティーが使用されます。 2 つの妥当性検査プロパティーは、変数がユーザー・インターフェース・パーツの中で宣言されている場合にのみ使用されます。

データ項目変数は、データ項目同様、同じプリミティブ・データ型に基づく変数を使用する箇所ではどこでも使用することができます。これは、つまり、前出の例の mySSN をその他の CHAR(9) 変数を使用できる箇所ではどこでも使用できるということです。

各プリミティブ変数には、デフォルトによる、または変数宣言や DataItem パーツ定義の中で指定されている、一連のプロパティーがあります。 これらのほとんどのプロパティーがユーザー・インターフェースの作成に関連しています。 詳しくは、個々の UI テクノロジーを参照してください。


フィードバック