COBCH1942E 変数宣言の要素数と代入される値の要素数が異なる

テーブルに対して宣言された要素の数が、対応する値句で指定された要素の数と一致しません。

マネージ ネイティブ型のテーブルが、(データ部の 01 レベルで、または DECLARE 文を使用して) 固定数の要素を使用して宣言されています。このデータ宣言でも TABLE OF コンストラクトを使用して値を指定している場合、TABLE OF の要素の数が OCCURS で指定された要素の数と同じでないと、このエラーが生成されます。このような場合、TABLE OF コンストラクトで示されたサイズでテーブルが作成されます。

次の例を使用すると、myArray1 は (TABLE OF 句により) 3 つの要素で生成されますが、添え字 4 を使用して参照されるため、実行時にエラーが発生します。

       01 myArray1 binary-long occurs 4 value table of binary-long(1 2 3).

           declare myArray2 as binary-long occurs 3 = table of binary-long(4 5 6 7)
           display myArray2(1)
           display myArray2(2)
           display myArray2(3)
           display myArray2(4)

           display myArray1(1)
           display myArray1(2)
           display myArray1(3)
           display myArray1(4)    *> This will produce an error at run time...