LINAGE(行数)句

機能

LINAGE(行数)句を指定することによって、利用者は論理ページの行数を設定できる。利用者はまた、論理ページ上の上下の余白(top margin, bottom margin)およびページ本体(page body)中の脚書領域(footing area)の開始行を指定することもできる。

LINAGE句を指定することができるのは、レコード順編成のファイルに対してだけである。

一般形式

構文規則

  1. データ名-1、データ名-2、データ名-3、データ名-4は、符号なしの基本整数データ項目とする。

  2. 整数-1の値は、ゼロより大きくする。

  3. 整数-2の値は、整数-1の値を超えてはならない。

  4. 整数-3および整数-4の値は、ゼロであってもよい。

一般規則

  1. LINAGE句を指定することによって、利用者は論理ページの行数を設定できる。論理ページの大きさは、FOOTING指定を除く各指定値の和である。FOOTINGを指定しないと、脚書機能は組み込まれず、ページあふれ条件(page overflow condition)とは別のページの終わり条件(end-of-page condition)は発生しない。

    論理ページと物理ページの大きさの間には、必ずしも関係がある必要はない。

  2. 整数-1またはデータ名-1のデータ項目の値は、論理ページ上に書いたり改行したりできる行数を表わす。この値はゼロよりも大きくする。論理ページ上の書いたり改行したりできるこの部分を、ページ本体と呼ぶ。

  3. 整数-2またはデータ名-2のデータ項目の値は、論理ページ上の脚書領域の開始行を表わす。この値はゼロよりも大きく、かつ整数-1またはデータ名-1のデータ項目の値を超えてはならない。.

    脚書領域となるのは、整数-2またはデータ名-2のデータ項目の値以上、整数-1またはデータ名-1のデータ項目の値以下の、論理ページ中の行の部分である。

  4. 整数-3またはデータ名-3のデータ項目の値は、論理ページ上の上の余白行数を表わす。この値はゼロでもよい。

    整数-4またはデータ名-4のデータ項目の値は、論理ページ上の下の余白行数を表わす。この値はゼロでもよい。

  5. 整数-1と整数-3と整数-4を指定すると、OPEN文を用いて該当ファイルを出力モードで開いたときに、これらの値に基づいて論理ページの各構成部分の行数が設定される。整数-2を指定すると、その値に基づいて脚書領域が決定される。これらの値はすべて、該当ランタイム要素が実行される間、ファイルに書き込まれる論理ページを制御するために使用される。

  6. データ名-1、データ名-3、データ名-4を指定すると、OPEN文を用いて該当ファイルを出力モードで開いたときに、これらの値に基づいて最初の論理ページの各構成部分の行数が設定される。

    データ名-2を指定すると、OPEN文を用いて該当ファイルを出力モードで開いたときに、この値に基づいて最初の論理ページの脚書領域が決定される。

  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文を実行したとき、またはページあふれ条件が発生したとき(手続き部 - SEARCH - WRITEの章のWRITE(書き込み)文節を参照) 、各データ項目の値に基づいて、次の論理ページを構成する各部分の行数が決定される。

  10. データ名-2を指定すると、ADVANCING PAGE指定のあるWRITE文を実行したとき、またはページあふれ条件が発生したとき、その値に基づいて、次の論理ページの脚書領域が決定される。

  11. 該当するファイルに対してWRITE文を実行すると、下記の規則に従って、LINAGE-COUNTERは自動的に更新される。

    • WRITE文にADVANCING PAGE指定がある場合は、LINAGE-COUNTERの値は自動的に1に再設定される。

    • WRITE文にADVANCING 一意名-2または整数を指定している場合は、LINAGE-COUNTERの値はその整数または一意名-2の値の分だけ繰り上げられる。

    • WRITE文にADVANCING指定をしていない場合は、LINAGE-COUNTERの値は1だけ繰り上げられる。(手続き部 - SEARCH - WRITEの章のWRITE(書き出し)文節を参照。)

    • 以降の各論理ページの書き込み可能な最初の行に装置が位置付け直されるたびに、LINAGE-COUNTERの値は自動的に1に再設定される。(手続き部 - SEARCH - WRITE の章のWRITE(書き出し)文節を参照。)

  12. ファイルに対してOPEN文を実行すると、対応するLINAGE-COUNTERの値は自動的に1に設定される。