順次ファイル
外部で定義されたファイルの境界を超えて書き込みを試みると、WRITE ステートメントの処理が正常に完了せず、EXCEPTION/ERROR 条件が起こります。 レコード名の内容は影響を受けません。 その後 USE ステートメントのプログラミング上の注意事項で説明されているエラー処理の規則に従って、処理が行われます。
- 標準の終了ボリューム・ラベル・プロシージャーが実行されます。
- ボリュームの切り替えが行われます。
- 標準の開始ボリューム・ラベル・プロシージャーが実行されます。
ボリュームの終わりに達したという標識はプログラムに返されません。
WRITE ステートメント - 形式 - 順次ファイル >>-WRITE--レコード名-1--+------------+-----------------------> '-FROM--ID-1-' >--+------------------------------------------------------+--> '-+-BEFORE-+--+-----------+--+-+-ID-2---+--+-------+-+-' '-AFTER--' '-ADVANCING-' | '-整数-1-' +-LINE--+ | | '-LINES-' | +-簡略名-1--------------+ '-PAGE------------------' >--+----------------------------+----------------------------> | (1) | '-NULL-MAP------+----+--ID-9-' '-IS-' >--+-----------------------------------------------+---------> '-+----+--+-END-OF-PAGE-+--命令ステートメント-1-' '-AT-' '-EOP---------' >--+----------------------------------------------------+----> '-NOT--+----+--+-END-OF-PAGE-+--命令ステートメント-2-' '-AT-' '-EOP---------' >--+-----------+-------------------------------------------->< '-END-WRITE-'
- IBM® 拡張。
- レコード名-1
- データ部の FD 記入項目で定義されていなければなりません。
レコード名-1 は修飾できます。
レコード名-1 をソート・ファイルまたはマージ・ファイルと関連付けてはなりません。
OCCURS DEPENDING ON (ODO) 配列が入ったレコードの WRITE を実行するには、その前に ODO 配列のサイズを有効な数値に確実に設定する必要があります。
IBM ExtensionIBM Extension レコード名-1 は 浮動小数点データ項目にすることができます。 End of IBM Extension
End of IBM ExtensionIBM ExtensionIBM Extension レコード名-1 は DBCS データ項目を定義できます。 レコード名-1 が DBCS データ項目の場合、ID-1 は、DBCS データ項目でなければなりません。 End of IBM Extension
End of IBM Extension - FROM
- FROM を指定すると、実行結果は次の場合と同じになります。
MOVE identifier-1 TO record-name-1 WRITE record-name-1移動は、CORRESPONDING 句のない MOVE ステートメントの規則に従って実行されます。
WRITE ステートメントの実行後、情報は ID-1 ではまだ使用可能ですが、レコード名-1 では使用不可になります。 (INTO/FROM ID 句を参照。)
- ID-1
- 英数字または数字編集データ項目でなければなりません。
データはこのフィールドから受け入れフィールドへ転送されます。
ID-1 は、英数字または DBCS 関数 ID の名前にすることができます。
IBM ExtensionIBM Extension ID-1 は、浮動小数点にすることも、日時データ項目にすることもできます。 End of IBM Extension
End of IBM Extension - ID-2
- 整数データ項目でなければなりません。
ファイルの最大レコード・サイズはファイルの作成時に設定され、後で変更することはできません。
レコード名-1 と ID-1 で同じ記憶域を参照してはなりません。
- 関連するファイルが SAME RECORD AREA 文節の中で指定されている (この場合には、 レコードは、SAME RECORD AREA 文節の中で指定されている他のファイルのレコードとしても使用可能です)。
- WRITE ステートメントが境界違反のために失敗する。
これらのいずれかの場合には、レコードはレコード名-1 でまだ使用できます。
ファイル位置標識は、WRITE ステートメントの実行によって影響されません。
ファイルの中にレコードを保管するのに必要な文字桁数は、COBOL プログラムの中でそのレコードの論理記述によって定義された文字桁数と同じであってもなくてもかまいません。 (PICTURE 文節の編集および USAGE 文節を参照してください。)
ファイル制御記入項目で FILE STATUS 文節が指定されている場合には、WRITE ステートメントの実行時に、 実行が成功するかどうかに関係なく、関連する状況キーが更新されます。
I-O モードでオープンされた順次ファイルに対しては、WRITE ステートメントを実行することはできません。
