Replace fields with elements from an array or series of memory variables
GATHER FROM <array> | MEMVAR
[FIELDS <field list> | FIELDS LIKE <skeleton> | FIELDS EXCEPT <skeleton>]
The GATHER command replaces fields in the current record with elements from the specified array <array> or, if the MEMVAR keyword is used, from a series of memory variables with the same names as the fields. If the current table is shared, then automatic record locking is performed for the update operation. The data types of the array elements or memory variables and corresponding fields must be compatible. If the array has fewer elements than the number of fields in the record, then fields are modified only up to the number of elements specified. If no matching memory variable is found for a field, the field is unchanged.
FIELDS <field list> | FIELDS LIKE <skeleton> | FIELDS EXCEPT <skeleton>
The optional FIELDS <field list> can be used to restrict the fields updated to those in the comma separated <field list> or those matching the LIKE <skeleton> or those not matching the EXCEPT <skeleton>.
By default, memo fields are ignored by the GATHER command. If the MEMO keyword is specified, memo fields will be included.
If SET LOCKTYPE TO OPTIMISTIC is active, an attempt to use the GATHER command on a record that has been modified since it was last read will generate an error.
use demo goto 45 scatter fields last_name, first_name to table_1 append blank gather from table_1 fields last_name, first_name