OCCURS(反復)句は、同じデータ項目が繰り返されるとき、その記述項をその都度指定する手間を省き、添字(subscript)や指標(index)を付けるために必要な情報を与える。
または0に等しく、
整数-2は整数-1よりも大きいか、
または等しく
する。
形式 2において、" 整数-1 TO " を省略すると、省略時解釈として1がとられる。
この制限は無視してよい。
この制限は無視してよい。
ただし、他の表用に定義した指標を使用する場合は、その必要はない。( COBOL言語の概念の章の指標付け節を参照。)
ここに指定する指標名はデータとして扱われず、データの階層にも属さない。
レコード記述内で、形式 2のOCCURS句が含まれるデータ記述項の後ろに、その下位に属さないデータ記述項を続けることができる。データ名-1のデータ項目の値が変更された場合は、表の後に続く(ただし、その下位ではない)データ項目の位置が変更される。これらの項目に含まれるデータは、失われる場合がある。
NOODOSLIDEシステム指令を設定した場合は、表を含む集団項目はすべて、データ名-1の値にかかわらず、常に最大の回数だけ反復されるものとみなされる。したがって、表の後に続くデータ項目の位置は変更されない。
形式 2のOCCURS句を指定したデータ項目の下位に属するデータ記述に、OCCURS句を指定できる。
この制限は削除された。
OCCURS DEPENDING ON Slide指令を設定した場合は、データ名-1は固定位置であること。
指標名-1、指標名-2...は一意である必要はなく、この記述項の左辺のデータ名によって修飾できる。
SORT、
およびUSE FOR DEBUGGINGの各文は例外である。さらに、この記述項の左辺が集団項目の名前である場合、その集団に属するデータ項目を作用対象として使用するときには、すべて添字または指標を付ける。ただし、REDEFINES句の作用対象として用いる場合は例外である。 (COBOL言語の概念の章の添字付け、指標付け および一意名 の各節を参照。)
この形式は、この記述項の左辺の反復回数が可変であることを表わす。整数-2の値は最大反復回数を表わし、整数-1の値は最小反復回数を表わす。このことは必ずしもこの記述項の左辺の長さが可変であることを意味するのではなく、反復回数が可変であることを意味する。
データ名-1によって参照されるデータ項目の値は、整数-1から整数-2の範囲に入らなければならない。データ名-1のデータ項目の値を小さくすると、それよりも出現番号の大きいデータ項目の内容は保証されない。
表 8-1は、非再帰プログラムに記憶域が割り当てられる方法を示す。表 8-2 は、再帰プログラムに記憶域が割り当てられる方法を示す。
指標名を定義する節 | 指標名を割り当てる節 | ||
---|---|---|---|
NOREENTRANT | REENTRANT (1) | REENTRANT (2) | |
作業場所 | 作業場所 | 作業場所 | スレッド局所 |
スレッド局所 | スレッド局所 | スレッド局所 | スレッド局所 |
連結 | 作業場所 | 局所記憶 | 局所記憶 |
指標名を定義する節 | 指標名を割り当てる節 | ||
---|---|---|---|
NOREENTRANT | REENTRANT (1) | REENTRANT (2) | |
作業場所 | 作業場所 | 作業場所 | スレッド局所 |
スレッド局所 | スレッド局所 | スレッド局所 | スレッド局所 |
局所記憶 | 局所記憶 | 局所記憶 | 局所記憶 |
連結 | 局所記憶 | 局所記憶 | 局所記憶 |