ADVANCING 指定内の呼び名は、標準 COBOL 定義の一部であるが、X/Open の COBOL 言語定義では明示的に除外されている。したがって、X/Open の COBOL 準拠ソース プログラムでは使用するべきではない。
この制限は無視してもよい。
関連付けられた mnemonic-name の代わりに、function-name 自体を使用してもよい。
この規則は必須ではない。
MOVE identifier-1 TO record-name
これは、MOVE 文に指定した規則に従うものとする。
暗黙の MOVE 文を実行する前のレコード領域の内容は、この WRITE 文の実行には影響を与えない。
WRITE 文の実行完了後に、レコード名が参照するデータを利用できなくなる場合があるが、identifier-1 が参照するデータは利用できる。一般規則 13 を参照。
WRITE 文 (END-OF-PAGE 指定の有無にかかわらず) の実行結果が現在のページ本体に収まりきらない場合は、自動的にページあふれ条件が発生する。
ページあふれ条件は、WRITE 文の実行時に、LINAGE 句の integer-1 に指定した値または data-name-1 が参照するデータ項目の値を LINAGE-COUNTER が超えた場合に発生する。この場合、レコードが論理ページに表示される前または後 (BEFORE または AFTER のどちらを指定したかに応じて異なる) に、LINAGE 句で指定した次の論理ページに書き込める最初の行に装置が再度位置指定される。END-OF-PAGE 句で無条件文を指定した場合、レコードの書き込みおよび装置の再度位置指定を行った後に、その無条件文が実行される。
LINAGE 句で integer-2 または data-name-2 を指定しない場合、ページあふれ条件とは別にページ終了条件が発生することはない。この場合、ページ終了条件およびページあふれ条件は同時に発生する。
LINAGE 句で integer-2 または data-name-2 を指定したが、WRITE 文を実行した結果、integer-2 の値または data-name-2 が参照するデータ項目、および integer-1 の値または data-name-1 が参照するデータ項目の両方を、LINAGE-COUNTER が同時に超える場合は、integer-2 または data-name-2 は指定されていない場合と同様に処理が進む。
ADVANCING を指定しない場合、リスト装置 (PRINTER または PRINTER-1) に出力した際に、AFTER ADVANCING 1 LINE を指定した場合と同様に自動的に行送りされる。ADVANCING を指定した場合、以下のとおり行送りされる。
論理レコードは、関連付けた出力ファイルとして、およびレコード名に関連付けたファイルとして SAME RECORD AREA 句で参照する他のファイルのレコードとしても利用できる。
identifier-2 | 意味 |
---|---|
(空白) | 1 行改行 |
0 | 2 行改行 |
- | 3 行改行 |
+ | 改行なし |
1 から 9 | それぞれチャネル 1 から 9 に移動 |
A、B、C | それぞれチャネル 10、11、12 に移動 |
V、W | ポケット 1 または 2 を選択 |
integer-1 オプションを使用する場合、出力レコードに配置される文字は以下のとおり決定される。
integer | 出力文字 | 意味 |
---|---|---|
0 | 1 | チャネル 1 に移動 |
1 | (空白) | 1 行改行 |
2 | 0 | 2 行改行 |
3 | - | 3 行改行 |
論理レコードは、関連付けた出力ファイルとして、およびレコード名に関連付けたファイルとして同じ SAME RECORD AREA 句で参照する他のファイルのレコードとしても利用できる。