Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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