<p>Hi folks,</p><p> </p><p>Looking for some advice on a first BIRT report. Running against an Oracle DB, and the basic SQL is fine. The issue I'm having is with a cascading multi-select parameter. For the record, I come from an Oracle Reports background, so that probably colours my way of thinking.</p><p> </p><p>My main query is</p><div><pre class="_prettyXprint">select datacenter , db_name , asm_size , database_size , apptypefrom ( select dsv.DATACENTER , d.DB_ALIAS , d.ENVIRONMENT || ' ' || d.ENVTYPE || ' ' || d.application AS DB_name , dsv.ASM_SIZE , dsv.DATABASE_SIZE , d.APPTYPE from db_size_view dsv , databases d where dsv.DB_ALIAS = d.DB_ALIAS and dsv.DATACENTER = d.DATACENTER and d.ACTIVE_YN <> 'N' )where 1 = 1/**where_DC**//**where_AT**//**where_DB**/</pre></div><div> </div><div>the idea being that each of the additional where clauses can be defined by the parameter form. For those, I have the below in the beforeOpen for this query:</div><div><div><pre class="_prettyXprint">if( params["RP_Datacenter"].value.toString() != ' ALL' ) { this.queryText=this.queryText.replace( "/**where_DC**/", " AND datacenter in ( '" +params["RP_Datacenter"].value.join("','") + "' )" ); } if( params["RP_AppType"].value.toString() != ' ALL' ) { this.queryText=this.queryText.replace( "/**where_AT**/", " AND apptype in ( '" +params["RP_AppType"].value.toString().join("','") + "' )" );}if( params["RP_DB_NAME"].value.toString() != ' ALL' ) { this.queryText=this.queryText.replace( "/**where_DB**/", " AND db_name in ( '" +params["RP_DB_Name"].value.toString().join("','") + "' )" );}</pre><p>The error I'm running into is</p><div><pre class="_prettyXprint"> BIRT exception occurred. See next exception for more information.TypeError: Cannot find function join in object ASHBURN. (/report/data-sets/oda-data-set[
@id="8"]/method[
@name="beforeOpen"]#2). </pre><p>ASHBURN is the value I'm trying to pass as RP_Datacenter (if I select ' ALL' there and pick a specific apptype, the error repeats except one layer further down).</p><p> </p><p>To me, it appears that the javascript is taking the selected value ("ASHBURN") and treating it as a function name rather than as the input to the function.</p><p> </p><p>Any advice/thoughts?</p><p> </p><p>Thanks!</p><p>stephan</p></div></div><div> </div></div><p> </p>