A complex table change transaction is defined to allow the user to add or edit a complex table record stored on the Agentry Client. This transaction type is still defined to target an object type. It should, at a minimum, contain a property for the key field of the table and the properties to target each field to be modified by the transaction. To allow for the addition of a new record, it should contain one property for each field in a table record.
When a complex table change transaction is applied, the transaction first looks for a record in the complex table whose key field value is equal to the value of the corresponding property in the transaction. If a match is found, the record is updated with the property values of the transaction. If no match is found, a new record is added to the complex table. The indexes of the complex table are then updated to match the new or modified record.