INTERNAL 静的変数が使用されていない場合、コンパイラーは、この変数に ストレージを割り振りません。
例えば次の宣言が、変数 build_data への唯一の参照である場合 、この変数にはストレージは割り振られず、この変数の初期値は生成されるテ キストには含まれません。
dcl build_data char(30) var static
init('Compiled in build 17');
レベル 1 静的変数で ABNORMAL 属性が指定されている場合、コンパイラ ーは、この変数にストレージを割り振ります。 例えば、上記の変数を保持するには、上記の宣言を次のように変更します。
dcl build_data char(30) var static abnormal
init('Compiled in build 17');
ABNORMAL 属性は、すべての変数または静的変数に無差別に設定してはい けません。この結果、コンパイルの速度が低下するとともに、生成され たコードのパフォーマンスが低下するからです。
コンパイラー・オプションの STATIC(FULL) を指定すると、 コンパイラーは ABNORMAL 属性をすべての静的変数に適用します。 これはずさんな解決策であり、推奨されません。