If manipulations
are handled set-oriented, there will be no automatic refresh of
records on the screen. Also, the Rules Engine will perform no
uniqueness checks. If a unique key violation takes place, the user
will see a database error message instead of a USoft error
message.
The Rules Engine CANNOT handle
a manipulation set-oriented if:
·
|
Constraints that need to be evaluated have been defined on the
manipulated table, except when these constraints are
deactivated. |
·
|
Relationship columns (primary or foreign key columns) are
changed within the manipulation. Insert and delete manipulations
will therefore never be handled set-oriented in case of
relationships. |
·
|
Authorization on column level has been defined on the
manipulated table. |
·
|
The manipulation statement contains an 'INVOKE' part. |
·
|
The manipulated table is a view, a temporary table, or a static
table. |
·
|
For INSERT statements, default values are defined for columns
of the manipulated table that are not specified in the
statement. |
·
|
Generate Unique Values has been set for a column of the
manipulated table. |
·
|
The manipulated table is being referenced a second time in the
new-values part. |
·
|
The transaction mode of the Rules Engine is specified as 'Batch
Manipulation'. In batch-manipulation mode the Rules Engine collects
all row events and executes them on commit time. |
·
|
The Auto-Commit application property has been set to Yes. |
·
|
Corrective domain constraints have been defined. |
·
|
Domain checks or column checks have been defined on the
manipulated table. |
Manipulations on subtype
constellations are partially supported:
·
|
Insert statements are not supported. |
·
|
Delete statements are only supported if the whole constellation
resides in the same physical table and the delete-super-on-delete
attribute is switched on for all affected subtypes. |
·
|
Update statements are only supported if the columns being
updated reside in the same physical table and none of the updated
columns is a subtype indicator. |
The large list of restrictions
makes this option only suitable for very specific actions, like
batches which perform loader-functions, batches to fill history
tables, or batches to perform heavy duty end-of-the-month
calculations, for example. For online activities, it will probably
not be very applicable.
|