When you reject changes on a ProDataSet object handle, the AVM uses the before-image table to back out changes from the after-image table, and empties the before-image table for each table in the ProDataSet.
When you reject changes for a Buffer object handle, the AVM uses the before-image table to back out changes from the after-image table, and empties the before-image table for that one table.
As the AVM rejects changes, it sets the BEFORE-ROWID attribute of every row in the after-image table to the Unknown value (?), and sets the ROW-STATE of every row in the after-image table to ROW-UNMODIFIED (0).