cancel
Showing results for 
Search instead for 
Did you mean: 

Create Dynamic WHERE clause based on user inputs

Former Member
0 Kudos

Hi,

I have to implement follwoing Stored Procedure logic in BO, Here @ titleno is going to be the userinput & based on user input different SQL's/WHERE clause will come into picture & will return the result sets.

Please let me know how to frame this logic either at BO universe/BO Webi report level

if @titleno=1 Then SQL1

Else If @titlen0='_All_' Then SQL2

Thanks in Advance

Nilesh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

I have trying to frame the basic logic for this requirement in universe predefine condition but getting error like

expected something like '(' between '=' & the string 'A' keyword State 42000

Version-BO XI R2

Database-Teradata V2 R6

Logic-

TITLES_FCT.SERIES_TITLE_ID=CASE WHEN @Prompt('TitleNo','A','Title\TitleNo',multi,free)='ALL' Then TITLES_FCT.TITLE_ID else TITLES_FCT.SERIES_TITLE_ID end

Former Member
0 Kudos

Hi Nilesh,

Try like this

TITLES_FCT.SERIES_TITLE_ID=(CASE WHEN @Prompt('TitleNo','A','Title\TitleNo',multi,free)='ALL' Then TITLES_FCT.TITLE_ID else TITLES_FCT.SERIES_TITLE_ID end)

I mean to say use parentheisis for case statement and even if you get same error instead of '=' try using LIKe or IN keyword for comparision.

Please appreciate if this is useful.

Cheers,

Suresh Aluri.

Answers (0)