レコード・タイプとプロパティー

使用可能な EGL レコード・タイプには、以下のものがあります。

どのターゲット・システムがどのレコード・タイプをサポートしているかについて詳しくは、『レコードとファイル・タイプの相互参照』を参照してください。 レコード・パーツの初期化について詳しくは、『データの初期化』を参照してください。

basicRecord

基本レコードまたは固定基本レコードは、内部処理に使用され、データ・ストレージにはアクセスできません。

このパーツは、デフォルトではレコード・パーツですが、フィールド定義の前にレベル番号が置かれている場合は、固定レコード・パーツになります。

basicRecord タイプの固定レコード・パーツ内では、プロパティー redefines が使用可能です。 このプロパティーは、設定された場合、宣言されたレコードを識別し、その固定レコード・パーツに基づいたすべてのレコードは、宣言されたレコードのランタイム・メモリーにアクセスします。

その他のプロパティー (使用は推奨されていません) は containerContextDependent です。

メインプログラムでは、プログラム・プロパティー inputRecord は、『データの初期化』で説明されているように、自動的に初期化されるレコード (または固定レコード) を識別します。

indexedRecord

索引付きレコードは、固定レコードの 1 つであり、これを使用すると、キー値 によってアクセスされるファイルを操作できます。キー値は、ファイル内のレコードの論理的位置を示します。 このファイルを読み取るには、getget next、または get previous 文を呼び出します。また、ファイルに書き込みを行うには、add 文 または replace 文を呼び出します。ファイルからレコー ドを除去する場合は、delete 文を呼び出します。

タイプ indexedRecord のパーツには、以下のプロパティーがあります。
  • fileName は必須です。入力の意味については、『リソース関連 (概説)』を参照してください。有効な文字の詳細については、『命名規則』を参照してください。
  • keyItem は必須であり、そのレコード内で固有の構造体フィールドでなければなりません。 キー・フィールドを指定するには、非修飾参照を使用する必要があります。例えば、myRecord.myItem ではなく、myItem を使用します。 (ただし、EGL 文内では、他のフィールドを参照するのと同じようにキー・フィールドを参照できます。)
  • その他のプロパティー (使用は推奨されていません) は containerContextDependent です。

可変長レコードをサポートするプロパティー』も参照し てください。

mqRecord

MQ レコードは固定レコードの 1 つであり、これを使用すると、MQSeries® メッセージ・キューにアクセスできます。 詳細については、『MQSeries のサポート』を参照してください。

relativeRecord

相対レコードは固定レコードの 1 つであり、これを使用すると、各レコードが以下のプロパティーを持つデータ・セットを操作できます。
  • 固定長
  • ファイル内のレコードの順次位置を表す整数を使用してアクセス可能
タイプ relativeRecord のパーツには、以下のプロパティーがあります。
  • fileName は必須です。入力の意味については、『リソース関連 (概説)』を参照してください。有効な文字の詳細については、『命名規則』を参照してください。
  • keyItem は必須です。キー・フィールドには、以下のメモリー領域を指定できます。
    • 同一レコード内の構造体フィールド
    • プログラムに対してグローバルであるか、またはそのレコードにアクセスする関数に対してローカルであるレコード内の構造体フィールド
    • プログラムに対してグローバルであるか、またはそのレコードにアクセスする関数に対してローカルであるプリミティブ変数

    キー・フィールドを指定するには、非修飾参照を使用する必要があります。 例えば、myRecord.myItem ではなく myItem を使用します。(EGL 文内では、他のフィールドを参照するのと同じようにキー・フィールドを参照できます。) キー・フィールドは、そのレコードにアクセスする関数のローカルな有効範囲内で固有でなければなりません。または、ローカルな有効範囲には存在しないで、グローバルな有効範囲内で固有でなければなりません。

    キー・フィールドには、以下の特性があります。
    • BIN、DECIMAL、INT、または NUM のプリミティブ型を持つ
    • 小数部を含まない
    • 桁数は最大 9 桁まで

    キー・フィールドを使用するのは get 文と add 文のみですが、ファイル・アクセス用にそのレコードを使用するすべての関数からキー・フィールドを使用できることが必要です。

  • その他のプロパティー (使用は推奨されていません) は containerContextDependent です。

serialRecord

シリアル・レコードは固定レコードの 1 つであり、これを使用すると、順次にアクセスされるファイルまたはデータ・セットにアクセスできます。 ファイルを読み取るには、get 文 を呼び出します。一連の get next では、最初のレコードから 最後のレコードに向かって順次にファイル・レコードが読み取られます。add 文を呼び出してファイルへの 書き込みを実行することもできます。この文は新規レコードをファイ ルの末尾に追加します。

シリアル・レコードのプロパティーに fileName が必須として含まれ ます。このプロパティーに対する入力の意味については、『リソース関連 (概説)』を参照してください。有効な文字の詳細については、『命名規則』を参照してください。

その他のプロパティー (使用は推奨されていません) は containerContextDependent です。

可変長レコードをサポートするプロパティー』も参照し てください。

sqlRecord

SQL レコードは、リレーショナル・データベースにアクセスするときに、特殊なサービスを提供するレコード (または固定レコード) です。

このパーツは、デフォルトではレコード・パーツですが、フィールド定義の前にレベル番号が置かれている場合は、固定レコード・パーツになります。

各パーツには、以下のプロパティーがあります。
  • tableNames のエントリーは、パーツに関連した SQL テーブルを識別します。 複数のテーブルを結合参照することもできますが、単一の EGL 文を使用して複数のテーブルに書き込みを行うことは制限事項により禁止されています。個々のテーブル名には、ラベル を関連付けることができます。 ラベルはオプションの短い名前で、SQL ステートメント内の表を参照するために使用します。
  • defaultSelectCondition はオプションです。この条件はデフォルト SQL ステートメントの WHERE 文節の一部になります。WHERE 文節は、SQL レコードを EGL の open または get 文の中で使用するか、get next または get previous のような文の中で使用する場合に役立ちます。

    たいていの場合、SQL デフォルト選択条件は第 2 条件を補足します。この第 2 条件は、SQL レコード内のキー・フィールド値と、SQL テーブルのキー列の関連付けが基礎となります。

  • tableNameVariables はオプションです。『動的 SQL』で説明されているとおり、 1 つ以上の変数を指定して、実行時に変数の内容によってアクセスするデータベース表を決定させることができます。
  • keyItems はオプションです。各キー・フィールドは、同一レコード内で固有の構造体フィールドでなければなりません。 これらの各フィールドを指定するには、非修飾参照を使用する必要があります。例えば、myRecord.myItem ではなく、myItem を使用します。 (ただし、EGL 文内では、他のフィールドを参照するのと同じようにキー・フィールドを参照できます。)
  • その他のプロパティー (使用は推奨されていません) は containerContextDependent です。

詳細については、『SQL サポート』を参照してください。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.