Release 10.1A: OpenEdge Development:
ProDataSets

> ## ACCEPT-CHANGES and ACCEPT-ROW-CHANGES methods

> There is an `ACCEPT-CHANGES` method on the ProDataSet handle, and the ProDataSet temp-table buffer handle, which effectively tells Progress that any changes tracked in the before-table(s) have been processed and those records should be accepted as the new origin ProDataSet versions. The method can be executed on the ProDataSet handle or a temp-table buffer handle in the origin ProDataSet.

> If the method is executed on the ProDataSet, then all before-tables in the ProDataSet are emptied, and the pointers to those records in the after-table are removed so that the `BEFORE-ROWID` attribute of every record in the after-tables is the Unknown value (`?`) and the `ROW-STATE` of every record in the after-tables is set to `ROW-UNMODIFIED` `(0`). The before-tables are not deleted, only emptied for possible later use.

> If `ACCEPT-CHANGES` is executed on a temp-table buffer handle, then it is applied only to that temp-table and its after-table. It is equally possible to execute `APPLY-CHANGES` on the after-table handle, in which case it applies to that table and its before-table, and the result is the same. However, you should normally `ACCEPT-CHANGES` on the before-table buffer, since that is the table that holds a record of every change and nothing else.

> There is a separate `ACCEPT-ROW-CHANGES` method for the buffer handle, which executes only on the current row in the buffer. It is applied only to that one record in the table and its corresponding record in the other table. `ROW-ACCEPT-CHANGES` can be executed only on the before-table buffer handle of the temp-table in the origin ProDataSet. For example:

>     before-table-buffer:ACCEPT-ROW-CHANGES()

> These methods effectively reset the ProDataSet, temp-table, or row so its current state is as if a `FILL` was just executed.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095