アプリケーションに依存しない変数の定義

DEFINE DATA INDEPENDENT の全般的な構文:

DEFINE DATA
  INDEPENDENT [aiv-data-definition ...]
END-DEFINE

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

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


関数

DEFINE DATA INDEPENDENT ステートメントでは、アプリケーション独立変数(AIV)を定義します。

アプリケーション独立変数は、その名前によって参照されます。またはこの変数の内容は、その名前を参照する 1 つのアプリケーション内で実行されるすべての Natural オブジェクトによって共有されます。変数は、この変数を参照する最初に実行される Natural オブジェクトによって割り当てられ、LOGON コマンドまたは RELEASE VARIABLES ステートメントによって解除されます。

任意の INIT 節は、その節を含む、各実行 Natural オブジェクトで評価されます(変数を割り当てる Natural オブジェクト内だけではありません)。

注意:
RPC サーバーでは、アプリケーションに依存しない変数(AIV)は、暗黙的に割り当て解除されず、複数の RPC 要求にわたってアクティブになります。これは、RPC サーバー上の同じ変数に複数のクライアントがアクセスする場合があるためです。このため、割り当てを解除するには、明示的に RELEASE VARIABLES ステートメントを使用する必要があります。『Natural RPC(リモートプロシージャコール)』ドキュメントの「アプリケーション独立変数」を参照してください。

構文説明

構文要素 説明
aiv-data-definition
AIV データ定義:

DEFINE DATA INDEPENDENT ステートメントでは、1 つまたは複数のアプリケーション独立変数(AIV)を定義できます。各 AIV には、AIV データ定義に示す構文が適用されます。

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

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

AIV データ定義

level

variable-definition

redefinition

構文要素の説明:

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

アプリケーションに依存しない変数は、レベル 01 で定義する必要があります。他のレベルは再定義だけで使用します。

variable-definition
変数定義

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

詳細については、「変数定義」を参照してください。

注意:
アプリケーションに依存しない変数の名前は、プラス(+)文字で始める必要があります。

redefinition
再定義:

redefinition を使用すると、アプリケーション独立変数を 1 つ以上のサブフィールドに分割できます。

詳細については、「再定義」を参照してください。

再定義によって生成されるサブフィールドは、アプリケーション独立変数にすることはできません。つまり、これらのサブフィールドの名前を、プラス記号(+)で始めることはできません。これらのフィールドは、ローカル変数として処理されます。

注意:
名前の最初の文字は、プラス(+)にする必要があります。Natural 変数の名前に適用される規則については、『Natural の使用』の「ユーザー定義変数の命名規則」を参照してください。