関数および基本構文ルール

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


関数

DEFINE DATA ステートメントは、ローカルデータエリア(LDA)、グローバルデータエリア(GDA)またはパラメータデータエリア(PDA)に含まれる定義済みのデータ定義を参照するか、インライン定義を書き込むことにより、Natural プログラムで使用するデータ定義を宣言する多数の節を提供します。

全般的な構文ルール

  • DEFINE DATA ステートメントを使用する場合は、プログラムまたはルーチンの最初のステートメントとして指定する必要があります。

  • "空"の DEFINE DATA ステートメントは使用できません。少なくとも 1 つの節(GLOBALPARAMETERLOCALINDEPENDENTCONTEXT または OBJECT)を指定する必要があります。

  • 複数の節を指定できます。ただし、GLOBAL 節および PARAMETER 節が使用されている場合は、GLOBAL はステートメントの最初の節であり、PARAMETERGLOBAL の後に続く必要があります(GLOBAL が使用されていない場合は、PARAMETER が使用されていればこれが最初の節である必要があります)。他の節はすべて任意の順序で指定できます。

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

プログラミングモード

DEFINE DATA ステートメントは、ストラクチャードモードおよびレポーティングモードで使用できます。これらのモードでの違いについては、DEFINE DATA ステートメントの説明を参照してください。

通常、次のことが適用されます。

ストラクチャードモード

使用するすべての変数は、アプリケーション独立変数(AIV)を除き、DEFINE DATA ステートメントで定義する必要があり、プログラム内の他の場所で定義することはできません。DEFINE DATA INDEPENDENT ステートメントを使用する場合は、プログラム内の他の場所で AIV を定義することはできません。

レポーティングモード

変数はプログラムの本体で定義できるため、DEFINE DATA ステートメントは必須ではありません。ただし、DEFINE DATA LOCAL ステートメントをレポーティングモードで使用する場合は、アプリケーション独立変数(AVI)を除く変数を、プログラム内の他の場所で定義することはできません。また、DEFINE DATA INDEPENDENT ステートメントを使用する場合は、アプリケーション独立変数(AIV)をプログラム内の他の場所で定義することはできません。