%DECLARE ステートメントは、ID を マクロ変数、マクロ・プロシージャー、または組み込み関数として設定します。 また、マクロ変数の走査状況を指定することができます。
|
または
省略形: %DECLARE の場合は %DCL、 CHARACTER の場合は CHAR、 INTERNAL の場合は INT、EXTERNAL の場合は EXT です。
宣言により、入り口名が活動化されます。
プリプロセッサー・プロシージャーの入り口名を %PROCEDURE ステートメント のラベルとして書けば、その入り口名を明示的に宣言することができます。 ただし、このように明示宣言しただけでは、そのプリプロセッサー・ プロシージャー名は活動化されません。
(デフォルトの) FIXED(DECIMAL) オプションを指定した場合、 ID には属性 DECIMAL(5,0) も与えられます。
FIXED(BINARY) オプションを指定した場合、 ID には属性 BINARY(31,0) も与えられます。
注: 配列をプリプロセッサー・プロシージャーの外部で宣言する (複数の プロシージャー間で共有できるように) ことはできますが、 プロシージャーの外部から参照することはできません (配列照会 組み込み関数への最初の引数として参照する場合を除き)。
配列境界は、整数定数、またはより一般的な式によって指定されます。 一般式は他のプリプロセッサー変数の値に依存していてはいけませんが、他の変数の境界など、他の属性に依存する場合があります。 例えば、次の宣言は示された順序で有効です。
%dcl a(2) fixed; %dcl b(2+hbound(a)) fixed;
また、sysparm が整数定数の場合は、次の宣言も有効です。
%dcl c( sysparm() ) fixed;
プロシージャーの外部で宣言された変数はすべて EXTERNAL であり、 プロシージャーの内部で宣言された変数はすべて INTERNAL です。