Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
hjm35055
Partner - Contributor III
Partner - Contributor III

On Demand App Generation Error in Qlik Sense

Hi,

I am building an ODAG application and I am running into the error below when I try to run the template app.  I can't figure out what is causing this error.  Any help is appreciated!

Error.png

 

Here is the dynamic script that I am using:

// DO NOT ALTER THIS SUBROUTINE
SUB ExtendSQLWhere(Name, ValVarName)
LET T = Name & '_COLNAME';
LET ColName = $(T);
LET Values = $(ValVarName);
IF (len(Values) > 0) THEN
IF len(WHERE_PART) > 0 THEN
LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )';
ELSE
LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )';
ENDIF
ENDIF
END SUB;

// DO NOT ALTER THIS SUBROUTINE
SUB BuildValueList(VarName, TableName, ColName, QuoteChrNum)
IF ($(QuoteChrNum) = 0) THEN
LET LOADEXPR = 'Concat($(ColName),' & chr(39) & ',' & chr(39) & ') AS CombinedData';
ELSE
LET CHREXPR = ' chr(' & '$(QuoteChrNum)' & ') ';
LET LOADEXPR = 'Concat( $(CHREXPR) & $(ColName) & $(CHREXPR)' & ',' & chr(39) & ',' & chr(39) & ') AS CombinedData';
ENDIF
_TempTable:
LOAD $(LOADEXPR) Resident $(TableName);
Let vNoOfRows = NoOfRows('_TempTable');
IF $(vNoOfRows)> 0 THEN
LET $(VarName) = Peek('CombinedData',0,'_TempTable');
ENDIF
drop table _TempTable;
drop table '$(TableName)';
END SUB;

////////////////////////////////////////////////////////////////////////////////////////////////////

SET ENTITY='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Entity Cd){"quote": "", "delimiter": ""}
];
SET ENTITY_COLNAME='Entity Cd'; // SQL version
CALL BuildValueList('ENTITY', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET YEAR='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Admit Year){"quote": "", "delimiter": ""}
];
SET YEAR_COLNAME='Admit Year'; // SQL version
CALL BuildValueList('YEAR', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET GENDER='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Gender Name){"quote": "", "delimiter": ""}
];
SET GENDER_COLNAME='Gender Name'; // SQL version
CALL BuildValueList('GENDER', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET AGE='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Age At Encounter){"quote": "", "delimiter": ""}
];
SET AGE_COLNAME='Age At Encounter'; // SQL version
CALL BuildValueList('AGE', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET OBSERTYPE='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Observation Type){"quote": "", "delimiter": ""}
];
SET OBSERTYPE_COLNAME='Observation Type'; // SQL version
CALL BuildValueList('OBSERTYPE', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET PROCEDURE='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Procedure Code){"quote": "", "delimiter": ""}
];
SET PROCEDURE_COLNAME='Procedure Code'; // SQL version
CALL BuildValueList('PROCEDURE', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET CLINICAL='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Clinical Event Code){"quote": "", "delimiter": ""}
];
SET CLINICAL_COLNAME='Clinical Event Code'; // SQL version
CALL BuildValueList('CLINICAL', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET DIAGNOSIS='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Diagnosis Cd){"quote": "", "delimiter": ""}
];
SET DIAGNOSIS_COLNAME='Diagnosis Cd'; // SQL version
CALL BuildValueList('DIAGNOSIS', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET RESULT='';
OdagBinding:
LOAD * INLINE [
VAL
$(odso_Result Value){"quote": "", "delimiter": ""}
];
SET RESULT_COLNAME='Result Value'; // SQL version
CALL BuildValueList('RESULT', 'OdagBinding', 'VAL', 39); // 39 is for single quote wrapping values


SET WHERE_PART = '';


FOR EACH fldname IN 'ENTITY', 'YEAR', 'GENDER', 'AGE', 'OBSERTYPE', 'PROCEDURE', 'CLINICAL', 'DIAGNOSIS', 'RESULT'
LET vallist = $(fldname);
IF (IsNull(vallist)) THEN
LET vallist = '';
ENDIF
IF (len(vallist) > 0) THEN
CALL ExtendSQLWhere('$(fldname)','vallist'); // use this version for SQL
ENDIF
NEXT fldname


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

 

When I step through the load script, I also noticed this below. Not sure if it is related or not.

Error1.png

Thank you in advance for your help!

0 Replies