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 の詳細については、「COBOL for Windows プログラミング・ガイド」を参照してください。
ASCENDING KEY 句、DESCENDING KEY 句、および INDEXED BY 文節については、固定長テーブルで解説しています。