AnsweredAssumed Answered

Error 500 with Multi-Valued Project Browse Lookup on Filter Portlet

Question asked by Owen_R on Dec 19, 2012
Latest reply on Jan 2, 2013 by Chris_Hackett
I have a page with a number of grid portlets on it plus a filter portlet. In the filter portlet I have a multi-valued browse field based on the Project Browse All OOTB lookup. This is on 12.06 and SQL server.

If I filter for one specific project then all the grid portlets return a single row as expected. if I choose more than one project then I get an Error 500. Inspecting the logs I can see this message:

"Conversion failed when converting the nvarchar value '5****' to data type int"

In the log I can also see the parameter values expressed as follows, corresponding to the projects I've chosen:

Using input: {param_project_id_list=5013617,5013001,}

Where [param_project_list[/i] is defined like this:

[i] <param name="param_project_id_list" type="long" direction="IN" expressionListTag="@param_project_id_list@" expressionListDelimiter=",">
<variation text="AND project_id IN (@param_project_id_list@)"/>

If I filter the individual portlet themselves which also have the same multi-valued lookup, with > 1 project, then they work correctly.

The Project Browse All lookup uses the internal ID as its key (e.g. 5013617). In our database there is one project with an project code of "5*****".

I've tried using alternative lookups in the filter portlet but get the same result. What seems to be happening is that even though the lookup uses the numeric internal ID as its reference, the external string based code seems to be used somehow.

I can't delete the 5**** project as it's got actuals on it.

I'm presuming this is a bug as I've seen a few cases about issues with filter portlets, but I can't find anything specific to my scenario. Any one here come across this problem and got a work around (ideally one that allows me to keep a multi-valued browse option on the filter portlet)?