Consultor Eletrônico



Kbase P80431: SBO re-sets values with multiple concurrent updates
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   31/12/2009
Status: Unverified

SYMPTOM(s):

Changes made to an SDO in an SBO are reset if a change is made to another SDO.

When using a dynamic SBO to perform simultaneous updates to the SDO's that the SBO contains, changes to some of the fields can be lost.

This happens when a value in a viewer for one SDO is modified, and then
before saving the change, the Add button for the other SDO is used to add a
record.

Save with SBO re-sets child record to original value.

SBO re-sets changed values with multiple concurrent updates.

FACT(s) (Environment):

Dynamics 2.1A

CAUSE:

The cause of the problem is because DisplayFields is overwriting the original change with the current rowObject value of the record.

This is a Known issue.

FIX:

Override displayFields in the SmartDataViewer where the change has been made. The procedure should look like the following:

DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
DEFINE VARIABLE lmodified AS LOGICAL NO-UNDO.
{get dataModified lmodified}.
IF NOT lmodified THEN
RUN SUPER(INPUT pcColvalues).

If a change has been made in a smartDataViewer, when selecting the add button to perform a simultaneous update to another SDO, the displayfields override will detect that a change has already been made, and so prevent the rowObeject record from being re-displayed with original values.