ローカルデータの定義

DEFINE DATA LOCAL の全般的な構文:

DEFINE DATA
  LOCAL

../graphics/sbo3.gif

USING

../graphics/cbo2.gif

local-data-area

../graphics/cbc2.gif

../graphics/sbc3.gif

parameter-data-area
local-data-definition ../graphics/dot3.gif
END-DEFINE

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

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


関数

DEFINE DATA LOCAL ステートメントでは、アプリケーション内にある単一の Natural モジュールによって排他的に使用されるデータ要素を定義します。これらの要素またはフィールドは、さまざまな方法で定義できます。

  • DEFINE DATA LOCAL ステートメント自体で、local-data-definition 構文を使用する方法(「ローカルデータ定義」を参照

  • または、プログラム外の別の LDA(ローカルデータエリア)または PDA(パラメータデータエリア)で、そのデータエリアを参照する DEFINE DATA LOCAL USING ステートメントを使用する方法。

制限事項

LDA とそれを参照するオブジェクトは、同じライブラリ(または STEPLIB)に含まれている必要があります。

構文説明

構文要素 説明
local-data-area
LDA 名:

参照するローカルデータエリア(LDA)の名前を指定します。

LDA は、データエリアエディタを使用して作成されます。これには、DEFINE DATA LOCAL ステートメントで使用できる定義済みのデータ要素が含まれています。

LDA はソースエディタで作成されます。これには、DEFINE DATA LOCAL ステートメントで使用できる定義済みのデータ要素が含まれています。

複数のデータエリアを参照できますが、その場合は、予約語 LOCALUSING を繰り返す必要があります。例えば、次のようになります。

DEFINE DATA LOCAL
  LOCAL USING DATX_L
  LOCAL USING DATX_P

  ...
END-DEFINE ;

詳細については、『プログラミングガイド』の「別のデータエリアでのフィールドの定義」および「ローカルデータエリア」、「例 2」を参照してください。

parameter-data-area
PDA 名:

パラメータデータエリア(PDA)の名前を指定します。

注意:
DEFINE DATA LOCAL ステートメントで参照するデータエリアは、パラメータデータエリア(PDA)でもかまいません。PDA を LDA として使用することにより、PDA と同じ構造を持つ LDA を作成する手間を省くことができます。

PDA は、データエリアエディタを使用して作成されます。

PDA はソースエディタで作成されます。これには、DEFINE DATA LOCAL ステートメントで使用できる定義済みのデータ要素が含まれています。

詳細については、『プログラミングガイド』の「パラメータデータエリア」を参照してください。

local-data-definition
ローカルデータ定義:

ステートメント内で、つまり LDA または PDA を使用せずに、要素またはフィールドを定義する方法については、下記の「ローカルデータ定義」セクションを参照してください。

END-DEFINE
DEFINE DATA ステートメントの終了:

DEFINE DATA ステートメントを終了するには、Natural の予約語 END-DEFINE を使用する必要があります。

ローカルデータ定義

ローカルデータは直接定義できます。ローカルデータ定義には、次の構文が適用されます。

level

group-name [(array-definition)]
variable-definition
view-definition
redefinition

詳細については、次を参照してください。

ローカルデータ定義の構文要素の説明:

構文要素 説明
level
レベル番号:

レベル番号は 01~99 の範囲内の 1 桁または 2 桁の数字(先頭の 0 は任意)を使用し、フィールドグルーピングと合わせて使用します。02 またはそれ以上のレベル番号が割り当てられたフィールドは、それより小さいレベル番号が割り当てられた直前のグループの一部であるとみなされます。

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

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

ビューの定義は常にレベル 1 で定義する必要があります。

group-name
グループ名:

グループの名前。名前は、Natural 変数名の定義ルールに準拠していなければなりません。

次のセクションも参照してください。

array-definition
配列の次元の定義:

array-definition の場合、配列定義の次元の下限と上限を定義します。

配列の次元の定義」を参照してください。

variable-definition
変数定義:

variable-definition を使用して、単一の値(スカラ)または複数の値(配列)を持つ単一のフィールド/変数を定義します。

変数定義」を参照してください。

view-definition
ビューの定義:

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

ビューの定義」を参照してください。

redefinition
再定義:

redefinition を使用して、グループ、ビュー、DDM フィールド、単一のフィールド/変数(スカラまたは配列)を再定義できます。

再定義」を参照してください。