For each column property in a record there is a modification flag that is either true or false.
All columns are tracked
Modification tracking is enabled for all the columns in a record, regardless of whether the column is updateable or not.
When is a column flagged as modified?
Original value tracking disabled
A column is considered modified when its value is set.
Original value tracking enabled
A column is considered modified when its value does not match the original-value. When you change a column to a value different from the original value, the column is marked as modified. When you change that column back to the original value, the column reverts to not-modified.
See topic Original value tracking
The modification flag for an individual column can be queried with the Record.IsModified method.
The total number of modified columns is returned by the Record.ModifiedColumnCount method.
Resetting modification flags
Record.ResetToUnmodified will set all the modification flags in a record to false.