DataTable

EGL dataTable は、主に以下のコンポーネントで構成されます。
エラー・メッセージの dataTable など。以下のようなコンポーネントが含まれています。

レコードまたはデータ項目を宣言する場合と同じように、dataTable を宣言しないでください。 その代わりに、dataTable にアクセスできるコードは、そのパーツを変数として扱うことができます。 パーツ・アクセスについては、『パーツの参照』を参照してください。

dataTable にアクセスできるコードには、使用宣言内のパーツ名を参照するオプションがあります。

dataTable のタイプ

一部の dataTable はランタイム妥当性検査用のもので、特に書式入力との比較用にデータを保持します。 (書式パーツの宣言時に、データ・テーブルと入力フィールドを関連付けます。) 以下に示す 3 つのタイプの妥当性検査 dataTable が使用可能です。
matchValidTable
ユーザーの入力は、dataTable の最初の列の値と一致している必要があります。
matchInvalidTable
ユーザーの入力は、dataTable の最初の列のどの値とも異なっている必要があります。
rangeChkTable
ユーザーの入力は、少なくとも 1 つの dataTable の行の 1 列目と 2 列目の値の間の値に一致している必要があります。 (範囲は包括的です。 ユーザーの入力が任意の行の最初の列または 2 番目の列の値と一致している場合は、有効です。)
その他のタイプの dataTable は、以下のとおりです。
msgTable
ランタイム・メッセージが含まれています。
basicTable
プログラム・ロジックで使用されるその他の情報を含んでいます。例えば、国と関連するコードのリストなどです。

dataTable の生成

dataTable の生成からの出力は、それぞれ dataTable の名前が付いた 1 対のファイルです。 ファイルの拡張子は一方が .java、もう一方が .tab です。.tab ファイルは Java™ コンパイラーによって処理されませんが、パッケージを含むディレクトリー構造のルートに組み込まれます。例えば、パッケージが my.product.package の場合は、 ディレクトリー構造は my/product/package で、.tab ファイルは、 サブディレクトリー my が含まれているディレクトリーにあります。

dataTable パーツ用に生成される出力は、出力言語によって異なります。
  • 出力を Java で生成する場合、各 dataTable は 1 対のファイルとして生成され、各ファイルには dataTable の名前が付きます。 ファイルの拡張子は一方が .java、もう一方が .tab です。.tab ファイルは Java コンパイラーによって処理されませんが、パッケージを含むディレクトリー構造のルートに組み込まれます。例えば、パッケージが my.product.package の場合は、 ディレクトリー構造は my/product/package で、.tab ファイルは、 サブディレクトリー my が含まれているディレクトリーにあります。
  • COBOL 用の出力を生成する場合、ファイル拡張子 .cbl を含む別のプログラムとして dataTable が生成されます。 EGL は、ファイル拡張子が .tab のバイナリー・ファイルも作成します。このファイルをコンパイルしない場合、これは実行時にそのまま読み込まれます。
  • CICS® COBOL 用の出力を生成する場合、各 dataTable は、EGL 生成の COBOL プログラムがデプロイされる場合と同様に、CICS 領域にデプロイされます。 どのリンケージ・オプション・パーツにも追加情報は指定しません。ただし、ビルド記述子オプション cicsEntries を設定して CICS プログラムおよびトランザクション定義を作成すると、出力には生成された dataTable プログラムの定義が含まれます。また、いずれの場合もこの定義を CICS 領域で使用できるようにする必要があります。

以前に同じ dataTable を生成済みのパッケージに生成する場合は、dataTable を生成する必要はありません。

以前に同じ dataTable を生成済みのディレクトリーまたは Java パッケージに生成する場合は、dataTable を生成する必要はありません。

dataTable を生成する必要がない場合は、生成時間を省略するため、ビルド記述子オプション genTables に NO を割り当てます。

dataTable のプロパティー

以下のプロパティーを設定できます。
  • alias は、生成される出力の名前に取り込まれます。別名を指定しなかった場合は、パーツ名 (またはショート・ネーム) が代わりに使用されます。
  • shared プロパティーは、複数のユーザーが dataTable にアクセスできるかどうかを指示します。 デフォルトは no です。
  • resident プロパティーは、その dataTable を使用しているプログラムがない場合でも、dataTable をメモリー内に残すかどうかを指示します。 (プログラムは最初のアクセスがあったときにメモリーに入ります。)デフォルトは no です。 yes は、共用の指定を yes の場合にのみ指定することもできます。

関連する概念
パーツの参照

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