<Update Process> Theory of Operation
This subject should be read in conjunction with <About Null/Blank/Empty Fields> for a complete understanding on what occurs when an Update import is selected (applies to all import related ContactGenie products - QUickPort/DataPort/MultiPort)
Processing Destination Contact Folder
The first step completed is that the destination contact folder is read and written to an internal database. Only the contacts for the selected message class are included. Contact fields are initialized to the following based on field type:
Text Fields
<Null> and <Blank> values are initialized to "Empty String".
Numeric Fields (integer, currency etc)
<Null> values are initialized to zero (0)
Boolean (yes/no, true/false, on/off)
<Null> values are initialized to false/no/off (integer value of -1)
Date Fields
<Null> values or date fields reported as containing no date value are initialized to the corresponding value of <1/1/4501> - the value that is actually used by Outlook to indicate a non-existent date.
Processing Source Data File
Outlook data sources (contact folders, GAL etc)
The same process is followed for any kind of Outlook input data source (applicable only in CG MultiPort).
Text Files
Text files are first read into an internal database for processing with all fields being treated as a "text field" and initialized to an <Empty string> value if there is no value for a given field in the text file OR if the value contains one or more space characters. There is no such thing as a <Null> field value for text based input data files.
Excel/Access/SQL Data
<Null> field values encountered are processed according to the <Update Options> selected for an update import or to the default for the field type as described above under <Processing Destination Contact Folder>.
Matching Destination Contact Folder to Input Data Source
Once the destination and source data files are pre-processed as (and if) required, records from the input data source are matched against those for the contact folder as created in the internal database based on the field values for the defined <Update Key Fields>.
If no match is found, a contact item is <added> during the import process otherwise the values of each mapped field is compared and if a difference is found in one or more fields, the contact item is updated.
It is important to note that if an <Update Key Field> contains a <NULL> value, no match between the input data source and Outlook contact folder items will ever occur and as such, the input record will always be <added> under these circumstances.