Kbase P77407: ADM2: Child SDO not refreshed immediately if data in parent SDO is modified
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  1/24/2011 |
|
Status: Verified
SYMPTOM(s):
ADM2: Child SDO not refreshed immediately if data in parent SDO is modified
Validation on parent SDO or via database trigger modifies records being retrieved by child SDO.
Database is updated correctly.
Visual objects linked to child SDO do not display correct values until parent SDO is repositioned.
FACT(s) (Environment):
Progress 9.1D
CAUSE:
Bug# OE00103082
CAUSE:
What happens is that when a record is updated via a SmartDataBrowser, child SDOs of the attached SDO are not immediately made aware of this.
Normally this isn't noticeable because the next row in the browse will be selected immediately after the update is performed, thus causing a refresh at that time. But for the last row this never happens for the obvious reason that there's no next row to select.
FIX:
Upgrade to OpenEdge 10.1C or later
Workaround:
Override commitTransaction either in the parent SDO or via datacustom.p. After default behavior (= after RUN SUPER), add the following code:
/* if any error occurred, pass this back down the procedure chain */
IF RETURN-VALUE = "ADM-ERROR" THEN RETURN ERROR RETURN-VALUE.
/* Otherwise send notification to refresh data */
PUBLISH "dataAvailable" ("DIFFERENT").