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 */