OCCURS DEPENDING ON 節は、可変長テーブルを指定します。
OCCURS DEPENDING ON 節 (データ名-1) のオブジェクトでは、整数データ項目を記述しなければなりません。オブジェクトをウィンドウ表示日付フィールドにすることはできません。
OCCURS DEPENDING ON 節のオブジェクトは、 テーブルの範囲内の、どのストレージ位置 (つまりテーブル内の最初の文字位置から、 テーブル内の最後の文字位置までのどのストレージ位置) にも置くことはできません。
OCCURS DEPENDING ON 節のオブジェクトの位置は自由にはなりません。 OCCURS DEPENDING ON 節を含む項目の後にこのオブジェクトを置くことはできません。
EXTERNAL 節を含んでいるレコード記述項目に含まれるデータ記述項目で OCCURS 節を指定する場合、データ名-1 は、それを指定する場合、外部属性を持つデータ項目を参照しなければなりません。データ名-1 は、項目のサブジェクトと同じデータ部に記述しなければなりません。
GLOBAL 節を含むデータ記述項目に従属するデータ記述項目の中で OCCURS 節を指定する場合、データ名-1 は、それを指定する場合はグローバル名でなければなりません。データ名-1 は、項目のサブジェクトと同じデータ部に記述しなければなりません。
OCCURS 節で使用されるすべてのデータ名を修飾できます。 ただし、添え字または指標を付けることはできません。
従属する OCCURS DEPENDING ON 項目を含んでいるデータ項目か、 OCCURS DEPENDING ON 項目の後にあるがそれに従属しているわけではないデータ項目、 またはグループ項目が参照されるとき、OCCURS DEPENDING ON 節のオブジェクトの値は、整数-1 から整数-2 の範囲内になるようにしなければなりません。
従属する OCCURS DEPENDING ON 項目を含んでいるグループ項目が参照される場合、 その演算で使用されるテーブル区域の部分は、次のようにして決定されます。
最大長の規則の適用によって影響が出るステートメントは、以下のものです。
可変長グループ項目の後に非従属項目が続かない場合、CALL ... USING BY REFERENCE ID の ID としてグループの最大長が出現したときにその最大長が使用されます。したがって、グループの位置が変化する場合以外は、 OCCURS DEPENDING ON 節のオブジェクトを設定する必要はありません。
グループ項目の後に非従属項目が続く場合、最大長ではなく実際の長さが使用されます。項目のサブジェクトが参照されるとき、または項目のサブジェクトに従属するかまたはそれを従属させているデータ項目が参照されるとき、 OCCURS DEPENDING ON 節のオブジェクトは、整数-1 から整数-2 の範囲内になるようにしなければなりません。
OCCURS DEPENDING ON 節の使用法によっては、複合 OCCURS DEPENDING ON (ODO) 項目が発生します。複合 ODO 項目は以下のものによって構成されます。
OCCURS DEPENDING ON 節のオブジェクトは、複合 ODO 項目の後に続く非従属項目にすることはできません。
OCCURS DEPENDING ON 節を使用して記述された項目に続く非従属項目は、すべて可変位置項目 です。すなわち、その位置は、 OCCURS DEPENDING ON オブジェクトの値によります。
ファイル記述 (FD) 項目の中で暗黙の再定義が使用される場合、 従属レベルの項目に OCCURS DEPENDING ON 節を含めることができます。
INDEXED BY 句を、OCCURS DEPENDING ON 節を含む従属項目を持つテーブルに対して指定することができます。
複合 OCCURS DEPENDING ON の詳細については、「Enterprise COBOL プログラミング・ガイド」を参照してください。
ASCENDING KEY 句、DESCENDING KEY 句、および INDEXED BY 節については、固定長テーブルで解説しています。