Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド

IBM1208: 完全には初期化されていない配列

コードの一部をコンパイルしているときに、次の新しいメッセージが表示 されることもあります。

  IBM1208I W   INITIAL list for the array WPPXS_TAB
               contains only one item.

このメッセージは、例えば、次の宣言内の変数がプログラムで使用されて いる場合に出力されます。

  DCL WPPXS_TAB(15) CHAR(3500) INIT((15)' ');

INIT( (15)' ' ) 属性は、1 つのブランクから成るストリングの 15 個 のインスタンスは指定しません。 15 はストリング反復因数であるため、この INIT 文節は、(15 個のブランクから成る) 1 つのストリングのみを指定します。

この配列全体をブランクに初期化するには、次のようにコーディングする必要があり ます。

  DCL WPPXS_TAB(15) CHAR(3500) INIT( (*) ('') );

新しいコンパイラーは、例えば次のような他の多くの同様の宣言につい てもこのメッセージを出力します。

  DCL LISTE(4,60:73)   CHAR(50)  INIT('');
  DCL SPRACH_TAB(4)    CHAR(15)  INIT('');

最後に、この配列が構造体の一部である場合は、 コンパイラーはそれ以降にその構造体でこの問題が発生するたびに、 その構造体に対し、メッセージ IBM2603 と共にフラグを立てます。 EXIT オプションを使用することで、この問題に対してフラグを立てる回数を 1 つの構造体につき 1 回に減らすことができます。


Terms of use | Feedback

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