COBOL2002 言語 拡張仕様編

[目次][索引][前へ][次へ]

26.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文