Search and Update
The Search and Update action allows you to search for Records and update either the current Record or the Records found.
Options
Search
- Search In - This field allows you to select the Record Type to search in. This is handy to limit your search to only that Record Type. If you want to make your configuration more portable consider selecting "Skip Record Type Check" here and specify the RecordType variable directly in the "Search For" fields.
- By Values - You can specify all the fields necessary to perform your search. This can include ranges on dates and numbers as well. It is common to use this to search for the proper person(s) to approve a given item (i.e. an Invoice or New Hire). Search the approval matrix (Record Type that holds your approver data). Alternatively you can just specify a Record ID if you already know it.
- Security - If you turn this ON then the search will not be limited by the current User's security to find Records.
Advanced Search
- By Record ID - If you want to find a specific Record by ID, enter it here.
- By Record IDs - You can search for multiple Records by their ID by specifying a list of IDs separated by ; (semi-colon).
- Has Documents - You can further refine your search by specifying the Record(s) to find must have Documents, No Documents or Either.
Update
- Update Record - You can choose to update the current record with information found from your search. Or you can choose to update the Records that you found with data from the current Record.
- Named Record - You can enter a Named Record here and that Record will receive the data.
- Update Fields - You then need to specify all the fields to update. If you are updating the current record then the values will be updated in this record. If you are updating the found record(s) then all the Records that were found will be updated with these values.
Update Options
- Temp Record - If you turn this option ON then the updates you do will to happen to a temporary Record.
- Server Data - If you turn this option ON then the updates you do will happen to the Server Data instead of using Record Data. Server data is accessible via the [SERVERDATA()] variable.
- Record to Update - If using Update Current but you wish to update a completely different Record you can use this field. Either enter an ID number of use a variable to specify the ID of the Record to update.
- Max Records - This is the maximum number of records you want to update.You are typically looking for 1 item to update but you may be wanting to update several. Be careful not to try to update too many or you might get a timeout.
- Create New - You can use this to create a new record if the one you're looking for does not yet exist. In the case of the scenario of updating the vendor record this would be useful as it would create the vendor record if it was not yet there.
- ID to Field - It is sometimes useful to know the ID of the Record you updated. Use this field to let the system know what field name to use in the current record to save the ID. If a new record is added then that ID is saved. If one or more Records are found in the search then only the first Record's ID is saved.
The Search For fields and Update Fields can all contain static values or variables.
IMPORTANT NOTE ON VARIABLE USAGE IN NEW RECORD FIELDS
For whichever record is being updated, the "other" one can be referred to using [ and ] variables. For instance, if you are updating the Found Record and want to put into it a value that is stored in the NAME field of the Current Record then you would use [NAME]. Likewise, if you are updating the Current Record and want to put into it a value that is stored in the NAME field of the Found Record then you would use [NAME].
There is a scenario where you want to update a Record with a value in the same Record or more likely a combination of that record and the other record. In that case refer to the "other" record with [ and ] as normal but use [< and >] for the Active Record (the one being updated). For example, if you are wanting to update a vendor record with the total amount of all invoices processed for them you would want to add the AMOUNT of the invoice (the active Record) to the TOTAL in the vendor record (the other Record). To do this you would set the vendor's AMOUNT = [MATH([AMOUNT]+[<TOTAL>])].