DEFINE DATA PARAMETER
の全般的な構文:
DEFINE
DATA |
||||||
PARAMETER |
|
USING parameter-data-area |
|
|||
parameter-data-definition ![]() |
||||||
END-DEFINE |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
DEFINE DATA PARAMETER
ステートメントでは、Natural サブプログラム、外部サブルーチン、ヘルプルーチン、または関数で、受信パラメータとして使用できるデータ要素を定義します。これらのパラメータは、ステートメント自体の中で定義できます(下記の「パラメータデータ定義」を参照)。または、データエリアを参照するステートメントを使用して、プログラムの外にあるパラメータデータエリア(PDA)でパラメータを定義することもできます。
パラメータのデータ要素には、初期値または定数値を割り当てることはできず、またこれらのデータ要素では、編集マスク(EM
)、ヘッダー(HD
)、または出力モード(PM
)を保持することはできません(「フィールド/変数の EM、HD、PM パラメータ」も参照)。
パラメータデータエリアとそれを参照するオブジェクトは、同じライブラリ(または STEPLIB)に含まれている必要があります。
構文要素 | 説明 |
---|---|
USING parameter-data-area |
パラメータデータエリア(PDA)名:
サブプログラム、外部サブルーチン、またはダイアログでパラメータとして使用されるデータ要素を含む |
parameter-data-definition |
パラメータデータ定義:
PDA を使用する代わりに、パラメータデータを直接定義できます。 「パラメータデータ定義」を参照してください。 |
END-DEFINE |
DEFINE DATA ステートメントの終了:
|
パラメータデータ定義には、次の構文が適用されます。
|
level |
|
group-name [(array-definition)] |
|
|
||||||||||
redefinition | |||||||||||||||
variable-name |
|
(format-length[/array-definition]) |
|
[BY VALUE [RESULT ]] [OPTIONAL ]
|
|||||||||||
( |
|
|
[/array-definition]) | DYNAMIC |
|||||||||||
[(array-definition)] HANDLE OF
OBJECT |
構文要素の説明:
構文要素 | 説明 | |
---|---|---|
level |
レベル番号:
レベル番号は 01~99 の範囲内の 1 桁または 2 桁の数字(先頭の 0 は任意)を使用し、フィールドグルーピングと合わせて使用します。02 またはそれ以上のレベル番号が割り当てられたフィールドは、それより小さいレベル番号が割り当てられた直前のグループの一部であるとみなされます。 グループを定義すると、グループ名を使用して一連のフィールド(または 1 つのフィールドのみ)を参照できます。特定のステートメント( グループには、他のグループを含めることができます。グループにレベル番号をつけるときは、レベル番号を飛ばしてはなりません。 |
|
group-name |
グループ名:
グループの名前。名前は、Natural 変数名の定義ルールに準拠していなければなりません。 次のセクションも参照してください。
|
|
array-definition |
配列の次元の定義:
array-definition の場合、配列定義の次元の下限と上限を定義します。 詳細については、「配列の次元の定義」および「パラメータデータエリア内の可変配列」を参照してください。 |
|
redefinition |
再定義:
注意: |
|
variable-name |
変数名:
変数に割り当てられる名前。Natural 変数名のルールが適用されます。ユーザー定義変数の命名規則について。 詳細については、『Natural の使用』ドキュメントの「ユーザー定義変数の命名規則」を参照してください。 |
|
format-length |
フォーマット/長さの定義:
フィールドのフォーマットおよび長さ。 ユーザー定義変数のフォーマットおよび長さの定義については、『プログラミングガイド』の「ユーザー定義変数のフォーマットおよび長さ」を参照してください。 |
|
HANDLE OF OBJECT |
オブジェクトのハンドル:
NaturalX とともに使用します。ハンドルは、コードのダイアログエレメントを特定し、ハンドル変数に格納されます。 詳細については、『プログラミングガイド』の「NaturalX」を参照してください。 |
|
A 、U または B |
データタイプ:
ダイナミック変数用の英数字( |
|
DYNAMIC |
DYNAMIC オプション:
パラメータは |
|
コールモード:
参照による呼び出し、値による呼び出し、値による呼び出しと結果のいずれを使用するかに応じて、適切な転送メカニズムが適用されます。詳細については、 |
||
(BY VALUE なし)
|
参照による呼び出し:
参照による呼び出しは、 |
|
BY
VALUE |
値による呼び出し:
|
|
BY VALUE の例:
|
||
* Program DEFINE DATA LOCAL 1 #FIELDA (P5) ... END-DEFINE ... CALLNAT 'SUBR01' #FIELDA... |
* Subroutine SUBR01 DEFINE DATA PARAMETER 1 #FIELDB (P9) BY VALUE END-DEFINE ... |
|
BY VALUE RESULT |
値による呼び出しと結果:
|
|
OPTIONAL |
オプションパラメータ:
呼び出し側のオブジェクトでは、スキップされるパラメータが、表記
|