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.