# Match and Map - Operation for 'Table Name'

The Operation tab is the first step in configuring what is done to a table during the import.

The 'Operation for table' drop down allows you to select an operation on the table, which normally requires you to also configure some of the other tabs, such as Match criteria and Mapping. When you select an operation, you may see other tabs appear or disappear.

## Table Operation

Create new record always - Always create a new record in the table, using the mapping specified in the 'Map for Create' tab.

Create new record if not existing - Try to find a record using the match criteria. If not found, create a new record. If it is found, ignore the source record.

Update existing record - unique match - Find a record using the match criteria and update it. There must be one and exactly one record that matches.

Update existing record - all matches - Find all records that meet the match criteria, and update all of them in a single operation.

Update existing or create new record - single map - Find a single record that meets that match criteria, and update it. If not found, create a new record. The same mapping is used for create and for update.

Update existing or create new record - separate maps - As above, but with different maps for the create and update operation.

Match a single existing record - Find a single matching record, but do not modify the table. This is used when the requirement is to modify child tables (for example, modify Contacts without modifying the parent Account)

Match multiple existing records - As above, but find all matching records.

Match for child 'Create Not Exist' - You may need to match on a table that is normally a child table, and then create the parent record if it does not exist. Examples include: Address as child of Account or Contact (SalesLogix); Contact2 as child of Contact1 (GoldMine). This operation allows you to try and match on the child (Address or Contact2) and if there is no match move down to the next table and create a new record.

Match for Child 'Create or Update' - As above, but allows you to also do an update on the next table.

Delete matching record - Allows you to delete the matched record in the target table. WARNING: This is not a cascading delete. If you do this on a parent record (e.g. Account in SalesLogix or Contact1 in GoldMine) you will leave orphaned child records.

Delete all matching records - As above, but allows you to delete all records that match.

##

## Match Type

For any operation other than Create Always, you will need to match on the target table. For information about matching, see here.

Standard Matching - most powerful and flexible technique.

Fuzzy Matching - enables matching of dirty or incomplete data, and user review of possible matches.

SQL Matching - higher performance for some scenarios.

External Matching - integration with external fuzzy match engines.

Below the operation, you have some options that control how the table is manipulated.

Truncate data when longer than target field - When the incoming field is longer than the field it is mapped to in the target, it may cause an error. Selecting this option will cause the data to be silently truncated to fit.

Compare source and target - When a source field is read, it will be compared with the field it is mapped to and only written if it is actually different. This is useful for systems such as SalesLogix or GoldMine that have synchronization of data to remotes; it can significantly reduce the amount of data synchronized.

Skip Table when expression TRUE - Causes this table to be skipped if the expression is evaluates to TRUE for the incoming source record. This means no matching, creating or updating is done. It also means that any tables configured as children of this table are not modified. This can be useful if you want to update a table in two different ways, depending on the source data.