バージョン 6.3.3
 —  ステートメント  —

ビューの定義

DEFINE DATA LOCAL および DEFINE DATA OBJECT で使用する view-definition オプションの構文は、次のとおりです。

view-name VIEW [OF] ddm-name

level

ddm-field

([format-length][/array-definition])

[emhdpm]

A
U
B

[/array-definition] DYNAMIC
redefinition

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。


機能

view-definition を使用して、データ定義モジュール(DDM)から派生したデータビューを定義します。

注意:
パラメータデータエリアでは、view-definition を使用できません。

詳細については、『プログラミングガイド』の「Adabas データベースのデータへのアクセス」セクションで、特に次のトピックを参照してください。

Top of page

構文説明

view-name ビューに割り当てられる名前。 Natural 変数の名前に適用される規則については、『Natural スタジオの使用』ドキュメントの「ユーザー定義変数の命名規則」を参照してください。
VIEW [OF] ddm-name ビューを取得する元の DDM の名前。
level レベル番号は 01~99 の範囲内の 1 桁または 2 桁の数字(先頭の "0" は任意)を使用し、フィールドグルーピングと合わせて使用します。 02 またはそれ以上のレベル番号が割り当てられたフィールドは、それより小さいレベル番号が割り当てられた直前のグループの一部であるとみなされます。

グループを定義すると、グループ名を使用して一連のフィールド(または 1 つのフィールドのみ)を参照できます。 特定のステートメント(CALLCALLNATRESETWRITE など)の場合、グループ名をショートカットとして指定し、グループに含まれるフィールドを参照することもできます。

グループには、他のグループを含めることができます。 グループにレベル番号をつけるときは、レベル番号を飛ばしてはなりません。

ddm-field DDM から取得されるフィールドの名前。

HISTOGRAM ステートメントのビューを定義する場合、ビューには、HISTOGRAM を実行するディスクリプタのみが含まれている必要があります。

redefinition redefinition を使用して、グループ、ビュー、DDM フィールド、単一のフィールド/変数(スカラまたは配列)を再定義できます。 「再定義」セクションを参照してください。
format-length

フィールドのフォーマットおよび長さ。 省略した場合、これらは DDM から取得されます。

ストラクチャードモードでは、フォーマットおよび長さの定義(提供される場合)を、DDM に指定されているフォーマットおよび長さと同じにする必要があります。

レポーティングモードでは、フォーマットおよび長さの定義(提供される場合)と、DDM に指定されているフォーマットおよび長さとの間で、タイプの互換性を確保する必要がります。

A、U、または B データタイプ:ダイナミック変数用の英数字(A)、Unicode(U)、またはバイナリ(B)。

注意:

  1. メインフレーム上の Adabas では、フォーマット U を LA フィールド(長さ <= 16341 バイト)に使用できますが、LB フィールド(長さ <= 1 GB)には使用できません。
  2. フォーマット B は、Adabas では使用できません。
array-definition 使用されているプログラミングモードによっては、配列(ピリオディックグループフィールド、マルチプルバリューフィールド)にオカレンス数に関する情報を含める必要が生じる場合があります。 下記の「ビューの配列定義」を参照してください。
emhdpm このオプションを使用して、フィールド/変数に有効な追加のパラメータを定義できます。 「フィールド/変数の EM、HD、PM パラメータ」を参照してください。
DYNAMIC ビューフィールドを DYNAMIC として定義します。 ダイナミック変数の処理については、「ラージ変数/フィールドとダイナミック変数/フィールド」セクションを参照してください。

ビューの配列定義

使用されているプログラミングモードによっては、配列(ピリオディックグループフィールド、マルチプルバリューフィールド)にオカレンス数に関する情報を含める必要が生じる場合があります。

ストラクチャードモード

配列を表すビューでフィールドを使用する場合は、次のことが適用されます。

ストラクチャードモードでのデータベース固有の考慮事項:

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 つの例外があります。

例:

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

Top of page