| 自由形式構文 | WRITE{(E) } 名前 {データ構造 } |
| コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
|---|---|---|---|---|---|---|
| WRITE (E) | 名前 (ファイルまたはレコード様式) | データ構造 | _ | ER | EOF | |
WRITE 命令は新しいレコードをファイルに書き出します。
名前オペランドは、プログラム記述ファイルの名前か、または外部記述ファイルから取得されるレコード様式の名前でなければなりません。
データ構造オペランドが指定されている場合、レコードはデータ構造から直接ファイルに書き出されます。 名前が プログラム記述ファイルを参照している場合、データ構造は、 宣言されたファイルのレコード長と同じ長さのデータ構造である 必要があります。名前 が外部記述ファイルのレコード様式を参照する場合、データ構造は EXTNAME(...:*OUTPUT) または LIKEREC(...:*OUTPUT) で定義されているデータ構造にする必要があります。 データ構造の定義方法、およびファイルとデータ構造の間でどのようにデータが転送されるかについては、ファイル命令を参照してください。
WRITE 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 オーバーフローが外部記述印刷ファイルに達して、 ファイル仕様書にオーバーフロー標識が指定されていない場合には、エラーが発生します。 エラー処理の詳細については、ファイル例外/エラーを 参照してください。
75-76 桁目に、WRITE 命令でファイルの終わりになった (サブファイルがいっぱいに なった) かどうかを知らせる標識を指定することができます。 この標識は WRITE 命令 が実行されるたびにオン (EOF 条件) またはオフに設定されます。この情報は %EOF 組み込み関数からも入手することができます。この関数 は、EOF 条件が発生した場合に '1' を戻します。それ以外の場合には '0' を戻します。
入力可能または更新可能な DISK ファイル (自由形式ファイル定義の USAGE キーワード
または固定形式ファイル定義の 17 桁目を参照) にレコードを追加するために WRITE 命令
を使用する場合、そのファイルが出力可能 (自由形式定義の USAGE キーワードに *OUTPUT を指定するか、
または、ファイル記述仕様書の 20 桁目に A を指定します) でもあるように定義する
必要があります。

ヌル値を含むヌル値可能フィールドを持つレコードの追加について は、データベースのヌル値サポートを参照してください。
詳細については、ファイル命令を参照してください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
*
* The WRITE operation writes the fields in the data structure
* DS1 to the file, FILE1.
*
C WRITE FILE1 DS1