WRITE
The WRITE statement writes a new record to the specified file.
WRITE
FAIL
(1)
(2) (3) (4)
(2) Application ID |
(3) File name or field name |
(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.
CREATE TAR
EDIT SHARE? Y FAIL 0 CACHE
NONE
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