プリミティブ型

各 EGL プリミティブ型は、メモリーの一領域を表します。プリミティブ型には、文字、数値、および日時の 3 種類があります。

ANY 型の変数は、その変数に割り当てられた値の型を受け取ります。詳細については、『ANY』のトピックを参照してください。

宣言時には、以下の値のそれぞれを表すプリミティブ型を指定します。
他のエンティティーにもプリミティブ型があります。

それぞれのプリミティブ型については別個のページで説明します。 代入、論理式、関数呼び出し、および call 文について扱っているページには、追加情報があります。

以降のセクションでは以下の主題について扱います。

宣言時におけるプリミティブ型

以下の宣言を見てください。
  DataItem
    myItem CHAR(4)
  end
  Record ExampleSerialRecordPart type serialRecord
    {
       fileName="myFile"
    }
    10 name CHAR(20);
    10 address;
      20 street01 CHAR(20);
      20 street02 CHAR(20);
  end
示されているように、以下のエンティティーを宣言するときは、プリミティブ型を指定する必要があります。
  • プリミティブ変数
  • 副構造のない構造体フィールド
副構造のある構造体フィールド (例えば address) のプリミティブ型を指定することもできます。 このような構造体フィールドのプリミティブ型を指定せずに、コードでこの構造体フィールドを参照する場合、プロダクトでは、以下のことが想定されます。
  • 従属構造体フィールドが別の型であっても、プリミティブ型は CHAR と想定される。
  • 長さは、従属構造体フィールドのバイト数であると想定される。

さまざまな数値型の相対的な効率

EGL では DECIMAL、NUM、NUMC および PACF 型がサポートされているので、レガシー・アプリケーションによって 使用されるファイルやデータベースをより簡単に処理できます。BIN 型のフィールドの計算が最も速いので、 新しい開発作業では BIN 型のフィールドを使用するか、 同等な整数型 (BIGINT、INT、または SMALLINT) を使用することをお勧めします。効率が最大になるのは、 長さ 2 で小数部のない BIN 型 (SMALLINT 型と同等) のフィールドを使用したときです。

計算、代入、および比較においては、小数部のない NUM 型のフィールドの方が、小数部を持つ NUM 型のフィールドよりも効率的です。

DECIMAL、NUM、NUMC、および PACF 型のフィールドのそれぞれの計算効率は同じです。

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.