TRACKING-CHANGES attribute

Set to TRUE to start tracking changes to the data in an individual ProDataSet temp-table. The AVM tracks changes to the temp-table until you set this attribute to FALSE. When this attribute is FALSE, any changes you make to the data in the temp-table are considered part of the fill process. The default value is FALSE.

For all other temp-tables that are not part of a ProDataSet, this attribute has the Unknown value (?).

Data type: LOGICAL

Access: Readable/Writeable

Applies to: Temp-table 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 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.

Note: If you SHARE a static ProDataSet, you must also SHARE all of its temp-tables. A SHARED static temp-table cannot have a before-image table. Therefore, you cannot track changes to its temp-tables.

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 attribute value, because every row in the before-image table 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 track newly created rows and changed rows through either the before-image table or the after-image of the table. However, since deleted rows do not appear in the after-image table, it is better to track changes through the before-image table.

You might want to set TRACKING-CHANGES back to FALSE for a temp-table when you are ready to:

Note: If you pass a ProDataSet remotely or locally by value and TRACKING-CHANGES is TRUE for the ProDataSet or any of its tables, the before- and after-image-tables are passed in their current state, but the value of the TRACKING-CHANGES attribute is not passed. That is, it is not automatically set to TRUE on the receiving side.