Consultor Eletrônico



Kbase 20663: How the CheckCurrentChange Property Works
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Unverified

GOAL:

What is the function of the checkCurrentChange property for SmartObjects (SO) when you update records.

FACT(s) (Environment):

Progress ADM2
Progress 9.x

FIX:

The checkCurrentChange property verifies if the same record was changed by another user since it was first read.

When you update records using SmartObjects, the database record is not yet locked, therefore more than one user can change the same record at the same time. If the checkCurrentChange property is set to false, new changes to a record are saved in the database without change verification, and the new values replace the values the previous user set.

The server side of the SmartDataObject executes the "serverCommit" procedure. The procedure uses the checkCurrentChange property.

If the AutoCommit property of the serverCommit procedure is set
to "true" (no commitPannel used):

One record at a time is saved in the database when the
'Save' button is pressed. If another user changes the
record values, Progress advises you of this change, the new
values are shown in the viewer, and the transaction is
canceled.

If the AutoCommit property is set to "false" (commitPannel used):

More than one record could be saved in the same transaction
when the 'Commit' button is pressed. If one or more records
are changed by another user, Progress advises you of it and
the commit is canceled.

You should press the 'Undo' button to cancel the entire
transaction or press the 'Commit' button again to save the
changes. If you press the 'Commit' button, the values
changed by the other user are kept and the other records
have the new values.