Consultor Eletrônico



Kbase P7074: Standard filter doesn't work on appServer
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   29/01/2003
Status: Unverified

FACT(s) (Environment):

Dynamics 1.1A

SYMPTOM(s):

Standard filter doesn't work on appServer

CAUSE:

assignQuerySelection keeps appending conditions into where clauses.

FIX:

Call removeQuerySelection before assignQuerySelection.
For dynamics changes need to be done in af/sup2/afsdofiltw.w ( assignFilter procedure )
( 2nd DO block in procedure )
IF NOT lManual THEN
DO:

FOR EACH ttDataObject BY ttDataObject.tSdoOrder DESCENDING:

/* workaround code begins*/
{get QueryColumns cQueryColumns ttDataObject.tSdoHandle}.
{get DataColumns cDataColumns ttDataObject.tSdoHandle}.

DO iLoop = 1 TO NUM-ENTRIES( cDataColumns ):
IF INDEX( cQueryColumns, ENTRY( iLoop, cDataColumns ) + '.' ) <> 0 THEN DO:
DYNAMIC-FUNCTION(
"removeQuerySelection" IN ttDataObject.tSdoHandle
,ENTRY( iLoop, cDataColumns ) + ',' + ENTRY( iLoop, cDataColumns )
,'<=,>=' ).
END.
END.
/* workaround code ends */

/* --- not needed, removeQuerySelection takes care ---
{set QueryColumns cEmptyString ttDataObject.tSdoHandle}.
{set QueryString cEmptyString ttDataObject.tSdoHandle}.
{set QueryWhere cEmptyString ttDataObject.tSdoHandle}.
*/

ASSIGN lSuccess = DYNAMIC-FUNCTION("assignQuerySelection":U IN ttDataObject.tSdoHandle,
ttDataObject.tFieldNames,
ttDataObject.tFieldValues,
ttDataObject.tFieldOperators).

IF NOT lSuccess THEN LEAVE.
END. /* each data object */
END. /* not manual */