TYPE 句は、この項目が記述する報告集団の特定のタイプを指定し、RWCS が報告集団を処理するタイミングを示す。
一般形式

構文規則
- RH は、REPORT HEADING の省略形である。PH は、PAGE HEADING の省略形である。CH は、CONTROL HEADING の省略形である。DE は、DETAIL の省略形である。CF は、CONTROL FOOTING の省略形である。PF は、PAGE FOOTING の省略形である。RF は、REPORT FOOTING の省略形である。
- 報告書頭書き (RH) 報告集団、ページ頭書き (PH) 報告集団、FINAL を指定した制御頭書き (CH) 報告集団、FINAL を指定した制御脚書き (CF) 報告集団、ページ脚書き (PF) 報告集団、および報告書脚書き (RF) 報告集団はそれぞれ、報告書の記述内で 2 回以上書くことはできない。
- ページ頭書き報告集団およびページ脚書き報告集団を指定できるのは、該当する報告書記述項に PAGE 句が指定されている場合のみである。
- データ名-1、データ名-2、および FINAL を指定する場合は、対応する報告書記述項の CONTROL 句内に指定する。
この規則は、FINAL を指定する際には適用されない。
報告書記述項の CONTROL 句内の各データ名および FINAL に、制御頭書き報告集団および制御脚書き報告集団を 1 つずつ指定できる。ただし、報告書記述項の CONTROL 句で指定されたデータ名または FINAL には、制御頭書き報告集団または制御脚書き報告集団は必要ない。
- 制御脚書き報告集団、ページ頭書き報告集団、ページ脚書き報告集団、および報告書脚書き報告集団では、SOURCE 句および USE 文は、下記のいずれも参照できない。
- 制御データ項目を含む集団データ項目
- 制御データ項目に従属するデータ項目
- 制御データ項目の一部の再定義または再命名
ページ頭書き報告集団およびページ脚書き報告集団では、SOURCE 句および USE 文は制御データ名を参照できない。
- 報告書名を含む GENERATE 文を手続き部で指定する場合は、対応する報告書記述項に含められる明細報告集団は 1 つのみである。報告書に対してデータ名を含む GENERATE 文を指定しない場合は、明細報告集団は必須ではない。
- 報告書の記述には、1 つ以上の本体集団を含める。
一般規則
- 明細報告集団は、GENERATE 文の直接結果として、報告書作成制御システム (RWCS) によって処理される。明細報告集団以外の報告集団は、RWCS によって自動的に処理される。
- REPORT HEADING は、該当する報告書の最初の報告集団として RWCS が処理する報告集団を、1 つの報告書につき 1 回のみ指定する。報告書頭書き報告集団は、その報告書の最初の GENERATE 文の実行中に処理される。
- PAGE HEADING は、該当する報告書の各ページ上の最初の報告集団として RWCS が処理する報告集団を指定する。ただし、以下の場合は例外とする。
- 報告書頭書き報告集団または報告書脚書き報告集団のみを含むように指定されたページでは、ページ頭書き報告集団は処理されない。
- 報告書頭書き報告集団が、ページ頭書き報告集団の前に記述されており、ページ上で排他的に表示するように指定されていない場合、そのページ頭書き報告集団は 2 番目の報告集団として処理される。
「表示規則表」セクションを参照。
- CONTROL HEADING は、指定された制御データ名用の制御集団の開始時に、RWCS が処理する報告集団を指定する。ただし、FINAL を指定した場合は、報告書に関する最初の GENERTAE 文の実行中に処理される。GENERATE 文の実行中に RWCS が制御切れを検出すると、最高レベル以下の制御切れに関連付けられたすべての制御頭書き報告集団が処理される。
- DETAIL は、対応する GENERTAE 文が実行される際に、RWCS が処理する報告集団を指定する。
- CONTROL FOOTING は、指定された制御データ名用の制御集団の終了時に、RWCS が処理する報告集団を指定する。
FINAL を指定した場合、制御脚書き報告集団は、該当する報告書の最後の本体集団として 1 つの報告書につき 1 回のみ処理される。GENERATE 文の実行中に RWCS が制御切れを検出した場合、最高レベル以下の制御切れに関連付けられたすべての制御脚書き報告集団が表示される。報告書に対して 1 回以上 GENERATE文 が実行されていれば、TERMINATE 文の実行中にすべての制御脚書き報告集団が表示される。「TERMINATE 文」セクションを参照。
- PAGE FOOTING は、各ページの最後の報告集団として RWCS が処理する報告集団を指定する。ただし、以下の場合は例外とする。
- 報告書頭書き報告集団または報告書脚書き報告集団のみを含むように指定されたページでは、ページ脚書き報告集団は処理されない。
- 報告書脚書き報告集団が、ページ脚書き報告集団の後に記述されており、ページ上で排他的に処理されるように指定されていない場合、そのページ脚書き報告集団は最後から 2 番目の報告集団として処理される。
「表示規則表」セクションを参照。
- REPORT FOOTING は、該当する報告書の最後の報告集団として、RWCS が処理する報告集団を、1 つの報告書につき 1 回のみ指定する。報告書に対して 1 回以上 GENERATE 文が実行されていれば、TERMINATE 文の実行中に報告書脚書き報告集団が処理される。「TERMINATE 文」セクションを参照。
- 報告書頭書き報告集団、ページ頭書き報告集団、制御頭書き報告集団、ページ脚書き報告集団、または報告書脚書き報告集団を処理する際に、RWCS が実行する処理手順は以下のとおり。
- 報告集団のデータ名を参照する USE BEFORE REPORTING 手続きがあれば、その USE 手続きが実行される。
- SUPRESS 文が実行済みである場合、または報告集団が印字可能でない場合、その報告集団に対してそれ以上の処理は行われない。
- SUPRESS 文が実行されておらず、かつ報告集団が印字可能である場合、RWCS は印字行をフォーマット化して、報告集団の該当する型の表示規則に従ってその報告集団を表示する。「表示規則表」セクションを参照。
- 制御脚書き報告集団を処理する際に RWCS が実行する処理手順は以下のとおり。
GENERATE 規則は、制御切れの発生時に RWCS が一連の制御脚書き報告集団を生成することを指定する。これは、制御レベルの下位階層から始まり、昇順で、最高位の制御切れを検出したレベルへと至る。ここで注意すべき点は、ある制御データ名に関して制御脚書き報告集団が定義されていなくても、その報告書記述の RESET 指定の対象にその制御データ名が指定されていれば、RWCS は下記のルール 10f で説明されている手順を実行する必要があるということである。
- 合計カウンターを横に集計する。つまり、その報告集団で定義されている合計カウンターのうち、同じ報告集団内の SUM 句の作用対象にもなっているものをすべて、その合計カウンターに加算する。「SUM 句」セクションを参照。
- 合計カウンターを繰り上げ集計する。つまり、その報告集団で定義されている合計カウンターのうち、それより上位レベルの制御脚書き報告集団の中の SUM 句の作用対象にもなっているものをすべて、その上位レベルの合計カウンターに加算する。「SUM 句」セクションを参照。
- 報告集団のデータ名を参照する USE BEFORE REPORTING 手続きがあれば、その USE 手続きが実行される。
- SUPRESS 文が実行されている場合、またはその報告集団に印字可能項目が含まれていない場合、RWCS は次に下記の手順 10e を実行する。
- SUPRESS 文が実行されておらず、その報告集団に印字可能項目が含まれている場合、RWCS は印字行を編集して、制御脚書き報告集団の表示規則に従ってその報告集団を表示する。
- その後 RWCS は、制御階層のそのレベルを処理する際にリセットする合計カウンターをゼロに設定する。「SUM 句」セクションを参照。
- データ名を指定した GENERATE 文に応じて RWCS システムが実行する明細報告集団の処理を、以下の 11a から 11e に示す。
報告書に明細報告集団を 1 つだけ記述した場合に、データ名を指定した GENERATE文 に応じて RWCS が実行する明細報告集団の処理を、下記の 11a から 11e に示す。これらの手順は、データ名を指定した GENERATE 文を実行する場合と同様に実行する。
報告書に明細報告集団を記述しなかった場合に、レポート名を指定した GENERATE 文に応じて RWCS が実行する明細報告集団の処理を、下記の 11a に示す。この手順は、報告書に明細報告集団を 1 つだけ記述し、データ名を指定した GENERATE 文を実行するのと同様に実行する。
- RWCS は、明細報告集団用に指定されている縦の集計を行う。「SUM 句」セクションを参照。
- その報告集団のデータ名を参照する USE BEFORE REPORTING 手続きがあれば、その USE 手続きを実行する。
- SUPRESS 文が実行済みである場合、または報告集団が印字可能でない場合、その報告集団に対してそれ以上の処理は行われない。
- データ名を指定した GENERATE 文に基づいて明細報告集団を処理している場合、その報告集団に関しては、それ以上何も行わない。
- 上記の 11c および 11d に該当しない場合、RWCS は印字行を編集して、明細報告集団の表示規則に従ってその報告集団を表示する。「表示規則表」セクションを参照。
- 一般規則 9、10、11 に記したように、RWCS は制御頭書き報告集団、制御脚書き報告集団、または明細報告集団を処理している際に、その処理に割り込んで改ページ処理をすることができなければならない。本体集団の表示が必要と判断された際には、RWCS は改ページとそれに併うページ脚書き報告集団およびページ頭書き報告集団の処理を行ってから、その本体集団を表示する。
- 制御切れ処理の間に、RWCS が制御切れを検出するために使用した制御データ項目の値は「古い値」と呼ばれる。
- 制御切れに伴う制御脚書き報告集団の処理中に、その制御脚書き報告集団に関連する USE 手続きまたは SOURCE 句内で制御データ項目を参照すると、古い値が使用される。
- TERMINATE 文を実行すると、RWCS により、制御脚書き報告集団または報告書脚書き報告集団で SOURCE 句または USE 手続きを参照する場合に、古い制御データ項目の値を使用できる。これは、最も高いレベルの制御データ名で制御切れを検出した場合と同様である。
- 上記以外の場合に、報告集団内およびそれに関連する USE 手続きでデータ項目を参照した場合はすべて、その報告集団を処理している時点でのそのデータ項目の現在の値が使用される。