LINAGE 句

LINAGE 句を使用して、論理ページの行数を指定できる。また、論理ページ上の上下の余白の幅、およびページ本体内の脚書き領域の開始行番号も指定できる。

これを指定できるのは、順編成のファイルのみである。

一般形式


*

構文規則

  1. data-name-1、data-name-2、data-name-3、および data-name-4 は、符号なしの基本整数データ項目を参照するものとする。
  2. integer-1 はゼロより大きい値とする。
  3. integer-2 には、integer-1 を超える値は指定できない。
  4. integer-3 および integer-4 の値はゼロでもよい。

一般規則

  1. LINAGE 句を使用して、論理ページの行数を指定できる。論理ページのサイズは、FOOTING 指定以外の各指定が参照する値の合計値である。FOOTING を指定しない場合、これらの関数の値はゼロになり、ページあふれ条件とは別のページの終わり条件は発生しない。

    論理ページと物理ページのサイズの間には、必ずしも関係性はない。

  2. integer-1 の値、または data-name-1 が参照するデータ項目の値は、論理ページ上に書いたり改行したりできる行数を指定する。これはゼロよりも大きい値とする。論理ページ上で書いたり改行したりできる部分を、ページ本体と呼ぶ。
  3. integer-2 の値、または data-name-2 が参照するデータ項目の値は、ページ本体内の脚書き領域の開始行番号を指定する。この値はゼロよりも大きい値とし、かつ integer-1 の値または data-name-1 が参照するデータ項目の値を超えてはならない。

    脚書き領域を構成するのは、integer-2 の値または data-name-2 が参照するデータ項目の値が表す行から、integer-1 の値または data-name-1 が参照するデータ項目の値が表す行までの、論理ページ内の領域である (両端の行を含む)。

  4. integer-3 の値、または data-name-3 が参照するデータ項目の値は、論理ページの上部の余白行数を指定する。この値はゼロでもよい。

    integer-4 の値、または data-name-4 が参照するデータ項目の値は、論理ページの下部の余白行数を指定する。この値はゼロでもよい。

  5. integer-1、integer-3、および integer-4 の値を指定すると、OUTPUT を指定した OPEN 文を実行してファイルを開く際に、これらの値を使用して論理ページの各構成部分の行の数が指定される。integer-2 の値を指定すると、前述のタイミングで、この値を使用して脚書き領域が定義される。これらの値は、実行時要素の所定の実行時に、ファイルに書き込まれるすべての論理ページに対して使用される。
  6. OUTPUT を指定した OPEN 文を該当ファイルに対して実行する際に、data-name-1、data-name-3、および data-name-4 が指定された場合、それらが参照するデータ項目の値を使用して、最初の論理ページの各部分を構成する行の数が指定される。

    OUTPUT を指定した OPEN 文を該当ファイルに対して実行する際に、data-name-2 が指定された場合、それが参照するデータ項目の値を使用して、最初の論理ページの脚書き領域が定義される。

  7. LINAGE 句を指定すると、LINAGE-COUNTER 特殊レジスタが生成される。LINAGE-COUNTER 特殊レジスタの値は、どの時点においても、現在のページ本体内で装置が位置付けられる行番号を表す。LINAGE-COUNTER 特殊レジスタには、以下の規則が適用される。
    1. ファイル記述項が LINAGE 句を含むファイル節に記述したファイルごとに、別々の LINAGE-COUNTER 特殊レジスタが設定される。
    2. 手続き部の文は LINAGE-COUNTER 特殊レジスタを参照できるが、変更はできない。1 つのソース要素に複数の LINAGE-COUNTER 特殊レジスタが存在することがあるため、必要に応じて、ファイル名で LINAGE-COUNTER を修飾する必要がある。
  8. 各論理ページは、次の論理ページと間を空けずに連続している。
  9. データ項目の値は、ADVANCING PAGE を指定した WRITE 文の実行時、またはページあふれ条件の発生時 (後述の「WRITE 文」トピックを参照) に使用され、次の論理ページの各構成部分の行の数が指定される。
  10. ADVANCING PAGE を指定した WRITE 文を該当ファイルに対して実行する際、またはページあふれ条件の発生時に、data-name-2 が指定された場合、それが参照するデータ項目の値を使用して、次の論理ページの脚書き領域が定義される。
  11. 関連付けたファイルへの WRITE 文の実行中に、以下の規則に従って、LINAGE-COUNTER 特殊レジスタが自動的に更新される。
    • WRITE 文に ADVANCING PAGE を指定すると、LINAGE-COUNTER 特殊レジスタは自動的に 1 に再設定される。
    • WRITE 文に ADVANCING の identifier-2 または整数を指定すると、LINAGE-COUNTER 特殊レジスタの値はその整数または identifier-2 が参照するデータ項目の値の分だけ繰り上げられる。
    • WRITE 文に ADVANCING を指定していないと、LINAGE-COUNTER 特殊レジスタの値は 1 だけ繰り上げられる。「WRITE 文」のトピックを参照。
    • 以降の各論理ページの書き込み可能な最初の行に装置が再度位置指定されるたびに、LINAGE-COUNTER 特殊レジスタの値は自動的に 1 に再設定される。「WRITE 文」のトピックを参照。
  12. 関連付けたファイルに OPEN 文を実行すると、LINAGE-COUNTER 特殊レジスタの値は自動的に 1 に設定される。