Consultor Eletrônico



Kbase P68827: openOnInit = NO for child SDO breaks foreign field mapping
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   15/12/2010
Status: Unverified

SYMPTOM(s):

Parent and child container are linked through the foreign fields of the SDO in the child container

Child container contains filter object

openOnInit of SDO in child container is set to FALSE

On container startup SDO in child container is empty as expected

After applying filter, child SDO will contain all records including those not matching the current parent record

After navigating the parent, only the correct child records are in the SDO

FACT(s) (Environment):

Dynamics 2.1A

CAUSE:

This is a known issue being investigated by Development.

The foreignFields mapping is not applied correctly when the child SDO is first opened (which happens when the filter is applied).

FIX:

Workaround:

From the child container, get the handle of the parent container datasource and publish dataAvailable from it. i.e. in a button on a SmartDataviewer, on the child container:

DEF VAR hSDO AS HANDLE.
DEF VAR hSDOp AS HANDLE.

{get DataSource hSDO TARGET-PROCEDURE}.
{get DataSource hSDOp hSDO}.

PUBLISH 'dataAvailable' FROM hSDOp("DIFFERENT":U).
DYN-F("openQuery" IN hSDO).