DEFINE DATA LOCAL
および DEFINE DATA OBJECT
で使用する view-definition オプションの構文は、次のとおりです。
view-name VIEW [OF ] ddm-name |
level | ddm-field | ([format-length][/array-definition]) | [emhdpm] | ||||||||||||||||||
|
[/array-definition] | DYNAMIC |
||||||||||||||||||||
redefinition |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
view-definition を使用して、データ定義モジュール(DDM)から派生したデータビューを定義します。
注意:
パラメータデータエリアでは、view-definition を使用できません。
詳細については、『プログラミングガイド』の「Adabas データベースのデータへのアクセス」セクションで、特に次のトピックを参照してください。
view-name | ビューに割り当てられる名前。 Natural 変数の名前に適用される規則については、『Natural スタジオの使用』ドキュメントの「ユーザー定義変数の命名規則」を参照してください。 |
---|---|
VIEW [OF] ddm-name | ビューを取得する元の DDM の名前。 |
level | レベル番号は 01~99 の範囲内の 1 桁または 2 桁の数字(先頭の "0" は任意)を使用し、フィールドグルーピングと合わせて使用します。 02 またはそれ以上のレベル番号が割り当てられたフィールドは、それより小さいレベル番号が割り当てられた直前のグループの一部であるとみなされます。
グループを定義すると、グループ名を使用して一連のフィールド(または 1 つのフィールドのみ)を参照できます。 特定のステートメント( グループには、他のグループを含めることができます。 グループにレベル番号をつけるときは、レベル番号を飛ばしてはなりません。 |
ddm-field | DDM から取得されるフィールドの名前。
|
redefinition | redefinition を使用して、グループ、ビュー、DDM フィールド、単一のフィールド/変数(スカラまたは配列)を再定義できます。 「再定義」セクションを参照してください。 |
format-length |
フィールドのフォーマットおよび長さ。 省略した場合、これらは DDM から取得されます。 ストラクチャードモードでは、フォーマットおよび長さの定義(提供される場合)を、DDM に指定されているフォーマットおよび長さと同じにする必要があります。 レポーティングモードでは、フォーマットおよび長さの定義(提供される場合)と、DDM に指定されているフォーマットおよび長さとの間で、タイプの互換性を確保する必要がります。 |
A、U、または B | データタイプ:ダイナミック変数用の英数字(A)、Unicode(U)、またはバイナリ(B)。
注意:
|
array-definition | 使用されているプログラミングモードによっては、配列(ピリオディックグループフィールド、マルチプルバリューフィールド)にオカレンス数に関する情報を含める必要が生じる場合があります。 下記の「ビューの配列定義」を参照してください。 |
emhdpm | このオプションを使用して、フィールド/変数に有効な追加のパラメータを定義できます。 「フィールド/変数の EM、HD、PM パラメータ」を参照してください。 |
DYNAMIC | ビューフィールドを DYNAMIC として定義します。 ダイナミック変数の処理については、「ラージ変数/フィールドとダイナミック変数/フィールド」セクションを参照してください。
|
使用されているプログラミングモードによっては、配列(ピリオディックグループフィールド、マルチプルバリューフィールド)にオカレンス数に関する情報を含める必要が生じる場合があります。
配列を表すビューでフィールドを使用する場合は、次のことが適用されます。
MU フィールドおよび PE フィールドのインデックス値を指定する必要があります。
フォーマット/長さ指定をしない場合、値は DDM から取得されます。
フォーマット/長さ指定をする場合は、フォーマットおよび長さを DDM のものと同じにする必要があります。
Adabas: | MU フィールドおよび PE フィールド(DDM で定義)をビューの中で使用する場合は、これらのフィールドを配列のインデックス指定に含める必要があります。 MU フィールドまたは通常の PE フィールドに対しては、例えば (1:10) のように 1 次元のインデックス範囲を指定します。 PE グループの中にある MU フィールドに対しては、例えば (1:10,1:5) のように 2 次元のインデックス範囲を指定します。 | ||
---|---|---|---|
Tamino: | DDM 定義 | 指定可 | 指定不可 |
A(*:X2) |
A(*:Y2) Y2=<X2 A(Y1:Y2) Y2>Y1 Y2=<X2 A(Z:Z+Y) Y>=0 |
A(*:*) A(Y1:*) |
|
A(X1:*) |
A(Y1:*) Y1>=X1 A(Y1:Y2) Y2>=X1, Y1>=X1 A(Z:Z+Y) Y>=0 |
A(*:*) A(*:Y2) |
|
A(X1:X2) |
A(Y1:Y2) Y2<Y1 A(Z:Z+Y) 0=<Y>=X2-X1+1 |
A(*:*) A(Y1:*) A(*:Y2) |
DEFINE DATA LOCAL 1 EMP1 VIEW OF EMPLOYEES 2 NAME(A20) 2 ADDRESS-LINE(A20 / 1:2) 1 EMP2 VIEW OF EMPLOYEES 2 NAME 2 ADDRESS-LINE(1:2) 1 EMP3 VIEW OF EMPLOYEES 2 NAME 2 ADDRESS-LINE(2) 1 #K (I4) 1 EMP4 VIEW OF EMPLOYEES 2 NAME 2 ADDRESS-LINE(#K:#K+1) END-DEFINE END
このモードでは、ストラクチャードモードと同じ規則が有効です。 ただし、2 つの例外があります。
インデックス値を提供する必要はありません。 この場合、不明な次元のインデックス範囲は (1:1) に設定されます。
フォーマット/長さ指定は、DDM での指定と異なる可能性があります。 その場合は、フォーマットおよび長さの定義と、DDM に指定されているフォーマットおよび長さとの間で、タイプの互換性を確保する必要があります。
DEFINE DATA LOCAL 1 EMP1 VIEW OF EMPLOYEES 2 NAME(A30) 2 ADDRESS-LINE(A35 / 5:10) 1 EMP2 VIEW OF EMPLOYEES 2 NAME 2 ADDRESS-LINE(A40) /* ADDRESS LINE (1:1) IS ASSUMED 1 EMP3 VIEW OF EMPLOYEES 2 NAME 2 ADDRESS-LINE /* ADDRESS LINE (1:1) IS ASSUMED 1 #K (I4) 1 EMP4 VIEW OF EMPLOYEES 2 NAME 2 ADDRESS-LINE(#K:#K+1) END-DEFINE END