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