# Change Data

At this stage you can perform conditional tests and processing on the source records.

### Test Expression

The first column lets you perform a test - if TRUE, the rest of the row is evaluated. If left blank, it is treated as TRUE.

### Evaluation Expression

The second column is an expression that can use any and all fields in the source. Typically this expression will calculate a value that is then mapped to a target field.

NOTE: Some functions are used to instruct Inaport to perform some action. These functions do NOT need to be mapped to a target field. Examples include slxsetowner() (SalesLogix); setaccpacuser() (Sage CRM).

### Target Field

The third column is the field where the results of the expression are stored. Some functions do not return a result, and in this case, you do not need to specify a field to map to.

NOTE: rows are evaluated in order in the grid, and results of earlier rows are available to expressions in later rows.

### Example

In the preceding step, we added new fields: 'Contact', 'First name' and 'Last Name'. We now want to set the Contact field to the concatenation of 'First Name' and 'Last Name'. However, the First Name might be blank (Mr Smith). We can test for a blank first name and modify what is done accordingly:

Test Expression | Evaluation Expression | Target Field
--- | --- | ---
isblank(#[First name]) | #[Last Name] | Contact
not isblank(#[Fist Name]) | #[First name] & " " & #Last name] | Contact