The WRITE statement writes a new record to the specified file.

    ••••• WRITE    ••• •••••••••••••••••••••• FAIL •
    (1)            (2) (3)                        (4)

(1) T/F execution conditions

(2) Application ID

(3) File name or field name

(4) Fail action (0=nothing, 1=warning, 2=error, 3=cancel)

Sets True/False Status Indicator

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).

Using the Statement

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.

Related Statements



In the following example, invoice batch control information is transferred to a file called EDIT.

          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