The WRITE statement writes a new record to the specified file.
(1) (2) (3) (4)
(2) Application ID
(4) Fail action (0=nothing, 1=warning, 2=error, 3=cancel)
If a record is written successfully, the current true/false status indicators are modified by setting the next indicator to T. If a write fails because of an Already on File condition for a unique key in the file, the next indicator is set to F. In this case, the FAIL parameter determines what additional action to take. In addition, on a false condition, the predefined field STATUS CODE returns a token indicating the reason for an I/O command failure. This token can be used as a key to read the system message file to obtain a descriptive I/O error message (see STATUS CODE for details).
When using this statement in conjunction with an RDBMS table, you can specify a field name instead of a file name to limit the volume of data being passed between APPX and the RDBMS. See the Partial-Record I/O section in Chapter 4-3: Specifying Statements for more information.
Execution of the WRITE statement does not modify the position in the file for subsequent BEG READ/END READ or READNEXT operations.
In the following example, invoice batch control information is transferred to a file called EDIT.
EDIT SHARE? Y FAIL 0 CACHE
BEG READ TAR INVOICE1 HOLD 0 KEY IS INVOICE1 KEY
SET TAR EDIT KEY = TAR INVOICE1 KEY
SET TAR EDIT FILE NAME = INVC
WRITE TAR EDIT FAIL 0
F CANCEL Unexpected Error WRITE TAR EDIT
END READ TAR INVOICE1