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. |
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.
|