COBOL2002 言語 拡張仕様編


25.4.19 WRITE文(印刷制御文字の直接指定,区域外書き出し)

形式

WRITE文の拡張仕様は,次の二つの書き方がある。

書き方1

[図データ]

書き方2

[図データ]

機能

WRITE文は,出力ファイルや拡張ファイルにレコードを書き出す。

このシステムでは,次の拡張仕様がある。

  1. 印刷ページ中の各レコードの行番号を決めるために,印刷制御文字を直接指定できる(書き方1)。

    (備考)

    このシステムでは,VOS3 COBOL85とは異なり,常にAFTER ADVANCING 1 LINEが指定されたものと同じ行送りをする。

  2. 記憶媒体上の順ファイルへレコードを書き出す場合,利用者は,区域外書き出しが発生したとき行う処理を指定できる(書き方2)。

構文規則

  1. 一意名2は,長さ1文字の英数字基本項目の名前でなければならない。

  2. 整数2は,符号のない1けたの整数で0,1,2,3のどれかでなければならない。

  3. 書き方1のWRITE文は,順ファイルに対してだけ指定できる。

  4. 書き方2のWRITE文を順ファイルに対して指定するとき,NOT INVALID KEY指定を書いてはならない。

  5. LINAGE句を指定したファイルに,書き方1および書き方2のWRITE文を使用してはならない。

  6. POSITIONING指定のあるWRITE文を使用する場合,そのファイルに対するすべてのWRITE文にPOSITIONING指定を書かなければならない。

一般規則

  1. POSITIONING指定のあるWRITE文は,一意名2または整数2の指定に従って行送りした後,レコードを印刷する。

    (備考)

    このシステムでは,AFTER ADVANCING 1 LINEが指定されたものと同じ行送りを行う。

  2. AT END-OF-PAGE指定,NOT AT END-OF-PAGE指定,END-OF-PAGE指定は,ページの終わりを検出したときの利用者手続きを指定するときに使う。

    このファイルは,プリンタファイルでなければならない。

    (備考)

    このシステムでは,ページの終わりを検出できないので,無条件文1が実行されることはない。

  3. INVALID KEY指定

    記憶媒体上の順ファイルにファイルの範囲を超えてレコードの書き出しを試みたとき区域外条件が発生し,INVALID KEY指定があれば,その無条件文に制御が移る。

    INVALID KEY指定がないと,区域外条件が発生した場合,利用者誤り処理手続きの指定があれば,手続きを実行する。利用者誤り処理手続きの指定がなく,FILE STATUS句の指定がない場合は,異常終了する。

    INVALID KEYは大記憶ファイルのWRITE文に指定しなければならない。

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10.8.55 WRITE文