%REPLACE

目的

一意名を、指定された値の定数として指定します。

構文

%REPLACE name BY constant;

説明

%REPLACE 文は、一意名を、指定された値の定数として指定します。

%REPLACE 文が検出された時点以降、コンパイルが終了するまで、%REPLACE 文に続くすべての nameconstant で置き換えられます。

%REPLACE 文は通常、テーブルのサイズを指定する目的、またはそのままでは意味が明確でない定数に名前を付ける目的で使用されます。

%REPLACE TRUE BY '1'B;
%REPLACE TABLE_SIZE BY 400;
%REPLACE MOTOR_POOL BY 5;
%REPLACE X BY -3.0E0;
DECLARE X(TABLE_SIZE) FIXED STATIC; 
DO K = 1 TO TABLE_SIZE;
IF DEPARTMENT_NUMBER = MOTOR_POOL 
   THEN DO;
      .
      .
      .

制約事項

%REPLACE 文は、テキストの意味に関係なくプログラム テキストを操作します。つまり、置き換える名前に誤って STOP や READ などのキーワードが使用される可能性があり、その場合、コンパイラがそれ以降の STOP 文または READ 文を読み取ったときに [unrecognizable statement] エラー メッセージが発行されます。1 つの name を 2 つの異なる constant で置き換えようとした場合も、コンパイラによってエラー ステートメントが発行されます。

%REPLACE 文は、モジュールのブロック構造に関係なく、それ以降に出現するすべての name を置き換えます。