The FWRITE intrinsic writes new records to a new or existing
file from a buffer in your program. Index entries for primary and
alternate keys are entered automatically for each record written.
Depending on how the file was created, records may be written in random or
sequential order. If the REUSE option is specified, each record is
written to the next available space. If the NOREUSE option is
specified, all records are written at the end of the file.
Records written to an existing file either overwrite existing records or are
appended to existing records. This is determined by the access option of the
aoptions parameter, selected in the HPFOPEN or
FOPEN intrinsic call.
Following each write procedure, the logical record pointer
is positioned at the next sequential record in key sequence or at
the end-of-file marker. When the physical bounds of either the data
area or index area of the file is reached, a CCG condition code
is returned to your program.
Note that the control parameter of the FWRITE intrinsic must be
included in the intrinsic call for compatibility. It has no meaning for
KSAM files.
When writing records to a file that has shared access, file locking should be
used. The HPFOPEN or FOPEN intrinsic call must allow dynamic
locking. An FLOCK intrinsic should be included before pointers are
positioned and records are written. Unlock the file using the FUNLOCK
intrinsic when the write procedure is complete.