Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

%DECLARE ステートメント

%DECLARE ステートメントは、ID を マクロ変数、マクロ・プロシージャー、または組み込み関数として設定します。 また、マクロ変数の走査状況を指定することができます。

構文図を読む構文図をスキップする               .-,-------------------------------------.
               V                                       |
>>-%--DECLARE----+-identifier-----------+--+-BUILTIN-+-+--;----><
                 |    .-,----------.    |  '-ENTRY---'
                 |    V            |    |
                 '-(----identifier-+--)-'
 

または

構文図を読む構文図をスキップする               .-,--------------------------.
               V                            |
>>-%--DECLARE----| identifier description |-+--;---------------->
 
>--| identifier description: |---------------------------------->
 
>--+-identifier-+-------------------+---------+----------------->
   |            '-(-| dimension |-)-'         |
   |   .-,--------------------------------.   |
   |   V                                  |   |
   '-(---identifier-+-------------------+-+-)-'
                    '-(-| dimension |-)-'
 
>--+----------------+------------------------------------------><
   '-| attributes |-'
 
dimension:
 
     .-,---------------------.
     V                       |
|--+---+-----------+--hbound-+-+--------------------------------|
   |   '-lbound--:-'           |
   | .-,-.                     |
   | V   |                     |
   '---*-+---------------------'
 
attributes:
 
   .-CHARACTER-.
|--+-----------+--+--------------+--+------------+--------------|
   '-FIXED-----'  +-EXTERNAL-----+  +-NOSCAN-----+
                  | .-INTERNAL-. |  +-SCAN-------+
                  '-+----------+-'  | .-RESCAN-. |
                                    '-+--------+-'
 

省略形: %DECLARE の場合は %DCL、 CHARACTER の場合は CHAR、 INTERNAL の場合は INT、EXTERNAL の場合は EXT です。

identifier description
マクロ機能 ID の名前と属性を指定します。
BUILTIN
この ID が同じ名前を持つプリプロセッサー組み込み関数であることを 指定します。
CHARACTER
この ID が、最大の長さを持たない可変長文字ストリングを 表していることを指定します。
ENTRY
この ID がプリプロセッサー・プロシージャーであることを指定します。

宣言により、入り口名が活動化されます。

プリプロセッサー・プロシージャーの入り口名を %PROCEDURE ステートメント のラベルとして書けば、その入り口名を明示的に宣言することができます。 ただし、このように明示宣言しただけでは、そのプリプロセッサー・ プロシージャー名は活動化されません。

FIXED
ID が整数を表すことを指定します。

(デフォルトの) FIXED(DECIMAL) オプションを指定した場合、 ID には属性 DECIMAL(5,0) も与えられます。

FIXED(BINARY) オプションを指定した場合、 ID には属性 BINARY(31,0) も与えられます。

RESCAN
この ID がアクティブであり、必要な回数だけ出力内で置換されることを指定します。
SCAN
この ID がアクティブであり、1 回だけ出力内で置換されることを指定します。
NOSCAN
この ID が非アクティブであり、出力内で置換されないことを指定します。
dimension
配列変数の次元指定です。 15 を超える次元は指定できません。

: 配列をプリプロセッサー・プロシージャーの外部で宣言する (複数の プロシージャー間で共有できるように) ことはできますが、 プロシージャーの外部から参照することはできません (配列照会 組み込み関数への最初の引数として参照する場合を除き)。

lbound
この次元にとって必要な下限。 デフォルトは、1 です。
hbound
この次元にとって必要な上限。
INTERNAL
この属性は、プロシージャーの内部でだけ有効です。 プロシージャーの外部で指定された場合、 診断メッセージが出され、変数には EXTERNAL 属性が与えられます。

プロシージャーの外部で宣言された変数はすべて EXTERNAL であり、 プロシージャーの内部で宣言された変数はすべて INTERNAL です。

EXTERNAL
この属性は、プロシージャーの外部でだけ有効です。 プロシージャーの内部で指定された場合、 診断メッセージが出され、変数には INTERNAL 属性が与えられます。

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)