As a complement to ACCEPT-CHANGES, there is also a REJECT-CHANGES method to restore part or all of the origin ProDataSet to its original state before a change was made, as shown using this syntax:
Syntax
dataset-handle:REJECT-CHANGES().
Like ACCEPT-CHANGES, this method can also be executed on a single temp-table buffer handle within the ProDataSet, as shown with the following syntax:
Syntax
buffer-handle:REJECT-CHANGES().
This is normally done automatically by MERGE-CHANGES when a REJECTED row, table, or ProDataSet is encountered. You can also run it yourself to control just which changes are reflected in a ProDataSet and which are undone.
As with other methods, there is also a method to reject only a single row, as shown in the following syntax:
Syntax
buffer-handle:REJECT-ROW-CHANGES( ).
The methods REJECT-CHANGES and REJECT-ROW-CHANGES restore one more of the original ProDataSet rows by copying the before-table rows back to the corresponding after-tables, deleting the before-table rows and resetting the ROW-STATE in the after-table rows to ROW-UNMODIFIED. When the REJECT-CHANGES method is executed on a ProDataSet handle, all modified tables in the ProDataSet are rejected. When executed on a buffer-handle, only changes to that buffer's temp-table are rejected.