Merges the changed rows of all temp-tables
or a single temp-table in a source ProDataSet object loaded with
the GET-CHANGES( ) method into
the corresponding rows of all temp-tables or a single temp-table
(respectively) in the original (target) ProDataSet object.
Return
type: LOGICAL
Applies to:
Buffer object handle, ProDataSet object handle (of the source object)
The syntax to invoke
this method follows:
Syntax
change-handle:MERGE-CHANGES ( original-handle[ , copy-all-mode ] )
|
-
change-handle
- A handle to the source ProDataSet object or to the buffer object of
the source ProDataSet temp-table that contains the changed rows.
-
original-handle
- A handle to the original (target) ProDataSet object or the buffer
object of a single target ProDataSet temp-table to merge with the changed rows from the
source object.
-
copy-all-mode
- An optional logical expression, where TRUE indicates that the AVM
merges all rows of the source after-image table.
When TRUE, the AVM merges all after-image table rows whether or not
they contain changes. In this case, the temp-table in the original ProDataSet object
must have a unique primary index that the AVM can use to find each corresponding row
from the after-image table (since unchanged rows do not have a corresponding row in
the before-image table). When a corresponding row is not found in the original
ProDataSet object, the AVM creates a new row using the row from the after-image table.
When FALSE, the AVM merges only after-image table rows that contain changes. The
default value is FALSE.
Notes
- For a ProDataSet object handle, all modified tables in the ProDataSet object are merged.
For a Buffer object handle, only the temp-table associated with that buffer is merged.
- If the ERROR attribute or REJECTED attribute for a changed table is TRUE, the
MERGE-CHANGES( ) method backs out the changes. Otherwise, this method accepts the changes
by copying the after-image table rows to the corresponding after-image table rows in the
original ProDataSet temp-table. The AVM also sets the BEFORE-ROWID attribute of the row in
the after-image table to the Unknown value (?), sets the
ROW-STATE of the row in the after-image table to ROW-UNMODIFIED (0), and removes the
before-image table row (if it has one).
- When executing the method, there is no guarantee as to the contents of the buffers
involved after the method finishes executing.