Consultor Eletrônico



Kbase P34770: Dynamics: SetQueryWhere modified SDO where clause is lost wi
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/09/2003
Status: Unverified

FACT(s) (Environment):

Dynamics 2.0A

SYMPTOM(s):

Dynamics: SetQueryWhere modified SDO where clause is lost with Filter functionality.

Modification to an SDO query with SetQueryWhere in the InitializeObject procedure of the SDO can be lost with the toolbar filter button. When the Filter button, Advanced TAB "Apply" button, retrieves the SDO base query, the base query is reopened and the additional query filter is lost.

How to add a filter condition to an SDO base query.

CAUSE:

SetQueryWhere does not append its additional filter to the SDO base query.

FIX:

Use addQueryWhere and ManualaddQueryWhere to update the SDO query property. For Example:

PROCEDURE InitializeObject:

RUN SUPER.
DEFINE VARIABLE cManualAddQueryWhere AS CHARACTER NO-UNDO.
DYNAMIC-FUNCTION('addQueryWhere':U IN TARGET-PROCEDURE,
INPUT "customer.custnum > 10",
input ?,
INPUT ?).

DYNAMIC-FUNCTION('openQuery':U IN TARGET-PROCEDURE).
cManualAddQueryWhere = "customer.custnum > 10" + CHR(3) + "?" + CHR(3) + "?".
{set manualAddquerywhere cManualAddQueryWhere}.