There's a hero that comes to rescue, and his name is lexical parameter.
You said that your query looks like this:
select *
from CEP_TABLE
where Table_ID in (:P_IDLIST)
Report already contains parameter named
p_idlist
. Now create another one, manually; let's call it lex_idlist
. Its datatype should be character
, its length somewhat larger than p_idlist
parameter's (for example, if p_idlist
is character(50)
, make lex_idlist
character(70)
).Then rewrite query as follows:
select *
from cep_table
&lex_idlist
Go to After Parameter Form trigger which should look like this:
function AfterPForm return boolean is
begin
:lex_idlist := 'where table_id in (' || :p_idlist || ')';
return (TRUE);
end;
select * from
tab
&lex_idlist
1. create param1, param2, param3
2. create lexical parameter param1
3. After Parameter Form trigger fuction