Record Validation Checks

Previous Next

When a record is stored, a couple of actions and checks are performed. If data has been manipulated in an application window, record validation starts with checking if all mandatory columns have been entered. If so, the Rules Engine performs the checks listed in the diagram. In the Insert, Update, and Delete column it is listed whether the check is performed for the respective manipulation.

Seq

Check

BenchMark Reason

Ins

Upd

Del

1

Lock record and subtype records (*1)

LOCK_RECORD

 

Y

Y

2

Set default values (*1)

 

Y

 

 

3

Foreground authorization

AUTHORIZATION

Y

Y

Y

4

Corrective domain constraints

DOMAIN_CONSTRAINT

Y

Y

 

5

Sequence numbers

SEQNO

Y

 

 

6

Update On Self constraints (*2)

SELECT_FOR_UPDATE

NEWVALUES

Y

Y

 

7

Mandatory columns

 

Y

Y

 

8

Domain checks

 

Y

Y

 

9

Columns updatable

(Yes, No, Only if Null)

 

 

Y

 

10

Restrictive domain constraints

DOMAIN_CONSTRAINT

Y

Y

 

11

Foreign keys updatable

(Yes, No, Only if Null)

 

 

Y

 

12

Unique keys

UNIQUE_KEY

Y

Y

 

13

Restrictive Update/Delete Rules

RESTRICTED

 

Y

Y

14

Restrictive, non-transitional,

single-record constraints

ROW_CONSTRAINT

Y

Y

 

15

Restrictive, transitional,

single-record constraints

ROW_CONSTRAINT

Y

Y

Y

16

Restrictive, transitional,

multi-record constraints

ROW_CONSTRAINT

Y

Y

Y

17

Immediate subtype definitions (totality, exclusivity)

 

Y

Y

 

18

STORE-RECORD,

first subtype, then supertype.

MANIPULATION

Y

Y

Y

19

For restrictive, non-transitional, multi-record constraints, the primary key of the driving table record is determined. In some cases, a constraint key query is needed.

CONSTRAINT_KEYQUERY

Y

Y

Y

20

Cardinality checks are generated for relationships in which the current record is a child.

CARDINALITY

Y

Y

Y

21

Cascading or nullifying Update/Delete Rules

CASCADING

 

Y

Y

22

Corrective, non-transitional multi-record constraints (not deferred) (*3)

SELECT_FOR_<manip>

NEWVALUES

or OLD_NEWVALUES

Y

Y

Y

23

Corrective, transitional, multi-record constraints (not deferred) (*3)

SELECT_FOR_<manip>

NEWVALUES

or OLD_NEWVALUES

Y

Y

Y

NOTES:

If data has been manipulated in an application window, this step already took place.

Update On Self constraints are:

Corrective single-record constraints.

Corrective multi-record constraints, for which the updated table is the triggering table.

This step can lead to new row events.