Pre-Store Record Validation Before Update

Previous Next

See Also

When an updated record is stored, a couple of actions and checks are performed.

· If data has been updated in a USoft application window, record validation starts with checking if all mandatory columns have been entered. If so, the Rules Engine performs the checks listed.

 

· If an UPDATE statement is executed in the SQL Command dialog, or if a record is updated in a non-USoft application that connects to the USoft Rules Engine via ODBC, first the record is locked. If the record itself contains subtype data, the subtype record is also locked. Then:
1. Foreground authorization is checked.
2. Corrective domain constraints are evaluated.

If a domain has a superdomain, the constraints on the superdomain are evaluated first, then the constraints on the domain itself. Within the domain, all checks are performed according to the Position in Checking Order attribute, set when defining the domain constraint.

3. Corrective single-record constraints and those corrective multi-record constraints for which the updated table is the triggering table are evaluated.
4. All mandatory columns must have been entered.
5. Domain Checks.
6. Are the columns that have been changed updatable (Yes, No, Only if Null) ?
7. Restrictive domain constraints are evaluated for non-empty fields, except for foreign key columns.

If a domain has a superdomain, the constraints on the superdomain are evaluated first, then the constraints on the domain itself. Within the domain, all constraints are evaluated according to the Position in Checking Order.

8. Are foreign keys that have been changed updatable (Yes, No, Only if Null) ?
9. Uniqueness of all keys (primary, secondary, etc.) is checked.
10. Restrictive update rules are checked.
11. Restrictive, non-transitional, single-record constraints are evaluated.
12. Restrictive, transitional, single-record constraints are evaluated.
13. Restrictive, transitional, multi-record constraints are evaluated.
14. For subtypes, if the totality and exclusivity rules of subtype sets have been set to Immediate, these checks are performed now.

At this point, the record is updated. If the record itself contains subtype data, first the subtype record is updated, then the supertype record.