GATHER
Contents
Purpose
Replace fields with elements from an array or series of memory variables
Syntax
GATHER FROM <array> | MEMVAR | NAME <OBJECT>
[FIELDS <field list> | FIELDS LIKE <skeleton> | FIELDS EXCEPT <skeleton>]
[MEMO]
See Also
ADEL(), ADIR(), AFIELDS(), AFILL(), AINS(), ALEN(), ARRAY(), ASCAN(), ASORT(), COPY TO ARRAY, IN_ARRAY(), IS_ARRAY(), LOCAL, OBJECT(), PRIVATE, PUBLIC, SCATTER
Description
The GATHER command replaces fields in the current record with elements from the specified array <array>, properties from the specified object <object> 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, object properties 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 object property or 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>.
MEMO
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.
NOTE: 'FROM' should not be included in the MEMVAR or NAME clauses.
Example
open database southwind use example goto 45 scatter fields last_name, first_name to table_1 append blank gather from table_1 fields last_name, first_name use dshipper = object("shipperid" => 4, "companyname" => "Acme Inc.",; "phone" => "(503) 1234-566") use shippers append blank gather name dshipper