Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
emahesh
Contributor
Contributor

ODAG Template App: 'Unexpected token' Error with Dynamic WHERE Clause

I’m working on an ODAG (On-Demand App Generation) setup in Qlik Sense Enterprise, and I’m facing an error in the template app's load script when dynamically building a WHERE clause.

Error Message:

Unexpected token: '0101', expected one of: 'OPERATOR_PLUS','OPERATOR_MINUS','OPERATOR_MULTIPLICATION','OPERATOR_DIVISION','OPERATOR_STRING_CONCAT','like','and',...

ODAG Code:

SUB ExtendWhere1(Name, ValVarName) LET T = Name & '_COLNAME'; LET ColName = '$(T)'; LET Values = $($(ValVarName)); IF len(Values) > 0 THEN IF len('$(WHERE_PART1)') > 0 THEN LET WHERE_PART1 = '$(WHERE_PART1) AND ([$(ColName)] IN ($(Values)))'; ELSE LET WHERE_PART1 = '[$(ColName)] IN ($(Values))'; ENDIF ENDIF END SUB

SET PURCHASEDATE = '$(ods_financial_month)'; SET PURCHASEDATE_COLNAME = 'PURCHASEDATE'; SET WHERE_PART1 = '';

FOR EACH fldname IN 'PURCHASEDATE' LET rawval = $($(fldname)); IF IsNull(rawval) THEN LET rawval = ''; ENDIF IF len(rawval) > 0 THEN LET vallist = chr(39) & replace(rawval, ',', chr(39) & ',' & chr(39)) & chr(39); CALL ExtendWhere1('$(fldname)', 'vallist'); ENDIF NEXT fldname

TRACE Generated WHERE clause: ; TRACE $(WHERE_PART1);

 

Where clause:

Where financial_month = '$(WHERE_PART1)';

Could anyone please help me out of this.

Thank you.

0 Replies