ROW-STATE attribute
- Last Updated: February 11, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
The current change state of the ProDataSet temp-table row associated with the buffer object handle.
Data type: INTEGER
Access: Read-only
Applies to: Buffer object handle
When the TRACKING-CHANGES attribute is set to TRUE for a ProDataSet temp-table, the AVM tracks changes to the data in that temp-table using a before-image temp-table that contains the original version of each row. You can think of the temp-table itself as the after-image because it contains the latest version of each row.
Every row in the after-image table that has been modified or created corresponds to a row in the before-image table. Deleted rows do not appear in the after-image table, because it reflects the current state of the data. Every row in the before-image table has a non-zero ROW-STATE, because every row is the before-image of a deleted, created, or modified row in the after-image table. Unchanged rows do not appear in the before-image table.
You can use the ROW-STATE attribute on each row in either the after-image table or the before-image table to determine whether a row has changed and how it has changed.
The possible values can be expressed as compiler constants. The following table lists these values.
| Compiler constant | Value | Description |
|---|---|---|
| ROW-UNMODIFIED | 0 | The row was not modified. |
| ROW-DELETED | 1 | The row was deleted. |
| ROW-MODIFIED | 2 | The row was modified. |
| ROW-CREATED | 3 | The row was created. |