How to Pass a multi-select parameter in BI to a PL/SQL Program

I am trying to pass a BI report parameter which is multi-select enabled in BI Enterprise Stand-Alone reporting tool. eg. it comes out in the data model like this: <P_CLASS_CODE>[DISABLED_VETERAN_OWNED, HUB_ZONE, LARGE_BUSINESS]</P_CLASS_CODE>
to a pl/sql stored procedure. (this is some kind of record set)
This works when passing the parameter as bind variable being passed to and IN CLAUSE. However, In my case I need a little bit more flexibilty with the programming so I need to get the value into PL/SQL so I can work with the individual values in the record set.
I am trying to figure out which collection type or record type I can use in pl/sql to be able to parse out the elements in the collection from within a stored procedure so I can loop through the elements.
I am trying to call the BI before report trigger in the data template like this:
<dataTrigger name="beforeReportTrigger" source="XXAPRPT03_SUPPLIER_DIVERSITY.before_report_trigger(:p_class_code)"/>
this call refers to the default package
I get this error: 'Invalid column type'
what type should I be using in my procedure definition to support the multi-selection record set which my parameter is passing from BI.

Hi,
Okie :) please feel free to post any problem :)
Please apply the patch that has the fix for this issue:
[Patch 9791839|https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=9791839]
The above link worked fine for me .
Ideally, you should pick up the latest patch, which is [ Patch 11846804|https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=11846804]
Click on View Read me for install instructions. Let me know if you find any problem with patch install.
Regards,
Ajay Kumar

Similar Messages

  • How to pass this multi-value parameter via GoURL?

    Currency is equal to / is in 'USD', 'GBR', 'RUR'. How to pass such multi-value parameter via GoURL?
    P0=1&P1=eq&P2=Measures.Currency&P3=?

    Found. P0=1&P1=eq&P2=Measures.Currency&P3=3+USD+GBR+RUR

  • How to default a multi-select parameter to ALL values?

    I have a parameter that allows the user to select multiple values.  I want it to default to use ALL values (meaning basically just ignore this parameter in the SQL generated).  However, I cannot create a calculation on this since it accepts multiple values, and the calculation only supports the first value.  Is there a way to do what I need, without selecting all the values in the list (the LOV contains hundreds and hundreds of values so this is not a viable option).  I am not very experienced with Discoverer and don't know all the tricks/workarounds, so looking for expert advice.
    Thanks

    Hello
    You would have to code the parameter and condition so that it accepts the word ALL.
    For example, let's say you are working with ITEM_NUMBER and you have thousands of items. You want the user to either be able to key one or more items or access ALL items.
    You need to create a Boolean condition like this:
    ITEM_NUMBER IN :ITEM_PARAMETER
    OR
    UPPER(:ITEM_PARAMETER) = 'ALL'
    So if the user keys the word ALL or all or All or any variant of the word that will be determined as true by the condition and all items will be selected. If the user does not key ALL then the other half of the condition will be applied and the Item must be a valid item as contained in the list of all items. You can even create your parameter with a default of ALL
    Best wishes
    Michael

  • SSRS 2012: How to get a "Select All" that returns NULL instead of an actual list of all values from a multi-select parameter?

    I have a multi-select parameter that can have a list of thousands of entries. In general, the user will pick a few entries from the list or "Select All". If they check "Select All", I would much prefer that I get a NULL or an empty string
    instead of a list of all values. Is there any way to do that?
    In experimenting with a work-around, I tried putting an "All" label with a null value in the list, but it is ignored (does not display in the drop-down). If I use an empty string for the value, my "All" entry does get displayed, but so
    does "Select All", which is confusing. Is there a way to suppress "Select All"?
    - Mark

    I adapted the following from a workaround posted by JNeo on 4/16/2010 at 11:14 AM at
    http://connect.microsoft.com/SQLServer/feedback/details/249227/multi-value-select-all-parameter-in-reporting-services
    To get a null value instead of the full list of all values when "Select All" is chosen:
    1) Add a multi-value parameter "MyParam" that lists the values to choose.
    2) Add a DataSet "ParamCount" identical to the one used by "MyParam", except that it returns a single column named [Count] that is a COUNT(*) of the same data
    3) Add a parameter "MyParamCount", set it to hidden and internal, then set the default value to 'Get values from a query', choosing "ParamCount" for the Dataset and the one [Count] column for the Value field.
    4) Change the parameter for the main report DataSet so that instead of using [@MyParam], it uses this expression:
    =IIF(Parameters!MyParam.Count =
    Parameters!ParamCount.Value, Nothing, Join(Parameters!MyParam.Value, ","))

  • How to pass more than one parameter

    Hello,
    This is my code.
    How to pass more than one parameter:
    SELECT:responsibility_name responsibility_name,
    LPAD(' ', 6*(LEVEL-1))
      || menu_entry.entry_sequence sequence ,
      LPAD(' ', 6*(LEVEL-1))
      || menu.user_menu_name SubMenu_Description ,
      LPAD(' ', 6*(LEVEL-1))
      || func.user_function_name Function_Description ,
      LPAD(' ', 6*(LEVEL-1))
      || menu_entry.prompt prompt
      ,menu.menu_id ,
      func.function_id
      --menu_entry.grant_flag Grant_Flag ,
      --DECODE( menu_entry.sub_menu_id , NULL, 'FUNCTION' , DECODE( menu_entry.function_id , NULL, 'SUBMENU' , 'BOTH') ) Type
    FROM fnd_menu_entries_vl menu_entry ,
      fnd_menus_tl menu ,
      fnd_form_functions_tl func
    WHERE menu_entry.sub_menu_id    = menu.menu_id(+)
    AND menu_entry.function_id      = func.function_id(+)
    AND MENU.LANGUAGE(+) = 'US'
    AND FUNC.LANGUAGE(+) = 'US'
    --AND func.user_function_name LIKE '%Primary Care Providers%'
    AND grant_flag                  = 'Y'
      START WITH menu_entry.menu_id =
      (SELECT menu2.menu_id
      FROM fnd_menus_tl menu2,apps.fnd_responsibility_vl resp
      WHERE menu2.menu_id=resp.menu_id
      and resp.responsibility_name= :responsibility_name
      --and menu2.user_menu_name = ('ATCO HR INQ USER'
      AND LANGUAGE = 'US'
      CONNECT BY MENU_ENTRY.MENU_ID = PRIOR MENU_ENTRY.SUB_MENU_ID
       and menu_entry.function_id not in (select func.function_id
                                       from --fnd_form_functions_vl fnc,
                                       apps.fnd_resp_functions exc,
                                       apps.fnd_responsibility_vl res
                                      where func.function_id = exc.action_id
                                      and res.responsibility_name =:responsibility_name
                                      and res.responsibility_id=exc.responsibility_id)
      and menu_entry.sub_menu_id  not in (select menu.menu_id
                                       from --fnd_menus_vl imn,
                                       apps.fnd_resp_functions exc,
                                       apps.fnd_responsibility_vl res
                                       where menu.menu_id = exc.action_id
                                       and res.responsibility_name =:responsibility_name
                                      and res.responsibility_id=exc.responsibility_id)
    ORDER SIBLINGS BY menu_entry.entry_sequence;
    Thank you for your help
    Shuishenming

    Hi, Ming,
    One way is to put the "parameters" in a table, and join to that table in your query.  If you make it a Global Temporary Table, then multiple sessions can run the query at the same time, and each can be seeing different responsibilities.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all the tables involved, and the results you want from that data.  Since this problem involves parameters, you should give a couple of different sets of parameters, and the results you want from the same sample data for each set.
    Explain, using specific examples, how you get those results from that data.
    Always say what version of Oracle you're using (e.g. 11.2.0.2.0).
    See the forum FAQ: https://forums.oracle.com/message/9362002

  • How to pass a combo box parameter on reporting services?

    How to pass a combo box parameter on reporting services?
    For example, a report has a parameter which is a combo box, its items came from a database query.
    Looks like the combo box didn't got populated and greyed out if I didn't pass the parameter.

    Hi LAScorpion,
    In Reporting Services, if we want to pass a combo box parameter (means signal-parameter) from one report (main report) to another report (subreport), we can enable an action with “Go to report” or “Go to URL” option to achieve the requirement. For more details,
    please see:
    Method1: Go to report
    Right-click a report item to open the properties dialog in subreport, click Action in the left pane.
    Enable Go to report action, then select the main report name in the drop-down list.
    Add a parameter as below:
    Select ID (a parameter name from main report) in the drop-down list of Name, and select [ID] (a field name from subreport) in the drop-down list of Value.
    Method2: Go to URL
    Right-click a report item to open the properties dialog in subreport, click Action in the left pane.
    Enable Go to URL action, the URL below is for your reference:
    ="javascript:void(window.open('http://server_name/ReportServer/Pages/ReportViewer.aspx?%2ffolder_name%2fmain_report_name&rs:Command=Render&parameter_name="& Parameters!parameter_name.Value &"'))"
    Besides, if the parameter’s values are based on other parameters, then the combo-box got greyed out when we haven’t select values in preceding parameters. For more details, please see:
    Cascading Parameters
    If there are any misunderstanding, please elaborate the issue for further investigation.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Show selected value from multi-selected parameter in crystal report

    Dear Experts!
         i would like to ask how to catch selected value from multi-selected parameter to show in report header section.
    Thanks in advance.

    Hi Dara,
    If this is a string prompt then you could simply create a formula with this code and place it on the report header:
    Join({?Prompt name},", ")
    -Abhilash

  • SSRS 2012 multi select parameter not working in Report Manager.

    Hello,
    I have one report with Multi select parameter. its working fine in bids, report server but I am facing some issue on report manager 2012.
    Issue is, In Multi select parameter I have Suppose 6 value a,b,c,d,e,f  after the deployment on report manager for the first time report is working fine with selecting all the value. but for the second time if my selection include either
    a or f report gives no result and check box get unselect.
    I also try on different report manager but same result.
    what can be a issue here causing problem only for two value but working fine for other value?
    Thanks,

    Hi Javed,
           The Issue is with when you click on View Report button of Report Manager for Parameters which contain CHAR(10) and CHAR(13).
    Where ever that Column is used in Report Data Set ,
    Use replace(replace(Param,char(10),''),char(13),'')  function.
    ----------------Please Mark This as Answer if it helps to solve your problem---------------------------- 

  • How to create a multi select drop down filed in crm 7.0

    Hi All,
            I need to create a multi select drop down field in crm web ui where one field have 7 value and we can select more than one value at a time.I have no idea how to create a multi select drop down field in web ui.
    Please help.....

    Hi vishwas
    Please follow the thread where a similar requirement was posted.
    Re: Drop-down list box / pick-list with multiple selections at a time
    Here the suggestions say that a workaround could be to associate a table view to the field.
    Regards,
    Nisha

  • How to pass values to select options of custom transactions?

    I have to call custom transaction-ZMM_POST  from my custom report.
    I have to pass values to select options(Not to parameters) of ZMM_POST  from my report only.
    Please tell me how to pass values to select options of custom transactions?

    Have you tried this?
    DATA: T_RSPARAMS TYPE STANDARD TABLE OF RSPARAMS WITH HEADER LINE.
    T_RSPARAMS-SELNAME = "S_BUKRS".
    T_RSPARAMS-KIND = "S".
    T_RSPARAMS-SIGN = "I".
    T_RSPARAMS-OPTION = "BT".
    T_RSPARAMS-LOW = "100".
    T_RSPARAMS-HIGH = "300"
    APPEND T_RSPARAMS.
    SUBMIT Z_DUMMY WITH SELECTION-TABLE  T_RSPARAMS.
    Greetings,
    Blag.

  • How to pass value to select-option parameter using SET PARAMETER Command

    Hi,
        Am passing values to selection-screen fields in report RV13A004 ( used in VK11, VK12 and VK13). using below statement but material number is select-option in this report. am able to pass  MATERIAL FROM using SET PARAMETER ID, can i know how to pass values MATERIAL TO range in select-options fields using SET PARAMETER Command ??
    Passing values to parameter id
    set parameter id 'VKS' field kschl.
    set parameter id 'VKO' field vkorg.
    set parameter id 'VTW' field vtweg.
    set parameter id 'KDA' field erdat.
    set parameter id 'MAT' field matnr_from.
    Change condition price.
    call transaction 'VK12' and skip first screen.
    Thanks in advance.
    Regards,
    Balamurugan.

    Hi,
    instead of using set parameters and dden call transaction use this..........
    submit RV13A004  WITH SELECTION-TABLE rspar
    Effect
    If you specify this addition, parameters and selection criteria on the selection screen are supplied from an internal table rspar. You must specify an internal table with the row type RSPARAMS for rspar. The structured data type RSPARAMS is defined in the ABAP Dictionary and has the following components, all of which are data type CHAR:
    SELNAME (length 8),
    KIND (length 1),
    SIGN (length 1),
    OPTION (length 2),
    LOW (length 45),
    HIGH (length 45).
    To supply parameters and selection criteria for the selection screen with specific values, the lines in the internal table rspar must contain the following values:
    SELNAME must contain the name of a parameter or selection criterion for the selection screen in block capitals
    KIND must contain the type of selection screen component (P for parameters, S for selection criteria)
    SIGN, OPTION, LOW, and HIGH must contain the values specified for the selection table columns that have the same names as the selection criteria; in the case of parameters, the value must be specified in LOW and all other components are ignored.
    If the name of a selection criterion is repeated in rspar, this defines a selection table containing several lines and passes it on to the selection criterion. If parameter names occur several times, the last value is passed on to the parameter.
    The contents of the parameters or selection tables for the current program can be entered in the table by the function module RS_REFRESH_FROM_SELECTOPTIONS.
    Notes
    In contrast to selection tables, the data types of the components LOW and HIGH in table rspar are always of type CHAR and are converted to the type of the parameter or selection criterion during transfer, if necessary.
    When entering values, you must ensure that these are entered in the internal format of the ABAP values, and not in the output format of the screen display.
    Cheers
    Will.

  • How to pass varchar2 in as parameter in SP

    I have a sp which takes dname as parameter (see below code), I
    tried 'ACCOUNTING', ''ACCOUNTING'' (2 single 's)
    and "ACCOUNTING" none of them worked. Could you tell me how to
    pass this in ( from pl/SQL and Java)?
    This is my code:
    CREATE OR REPLACE PACKAGE BODY testpkg1 AS
    procedure test(
    sum_cv IN OUT NOCOPY sumCur,
    name IN VARCHAR2 ) AS
    sql_statement VARCHAR2(100);
    where_statement VARCHAR2(100);
    BEGIN
    if name = ' ' then
    where_statement := ' ';
    else
    where_statement := ' AND d.dname = name ';
    end if;
    sql_statement :='SELECT e.* from emp e, dept d where d.deptno =
    e.deptno ' ||where_statement ;
    OPEN sum_cv FOR sql_statement ;
    END test;
    END;
    and this is how I execute:
         VARIABLE CV REFCURSOR
         EXECUTE testpkg1.test(:cv, 'ACCOUNTING' )
    Thanks

    The problem is in your where_statement; You left out the quotes
    on either side of name.  If you want your code to get executed
    like:
    OPEN   sum_cv
    FOR
    SELECT e.*
    FROM   emp e, dept d
    WHERE  d.deptno = e.deptno
    AND    d.dname = 'ACCOUNTING';
    then, in order to preserve the quotes around ACCOUNTING, your
    sql_statement must look something like:
    'SELECT e.*
    FROM   emp e, dept d
    WHERE  d.deptno = e.deptno '
    || ' AND    d.dname = ''' || name || ''''
    So, in order for the sql_statement to end up as above, the
    where_statement must look something like:
    ' AND d.dname = ''' || name || ''''
    It is a good practice to use DBMS_OUTPUT.PUT_LINE to display the
    sql_statement that you are trying to execute; It can make
    debugging a lot easier.  Please see suggested code below:
    SQL> EDIT testpkg1
    CREATE OR REPLACE PACKAGE testpkg1
    AS
      TYPE sumcur IS REF CURSOR;
      PROCEDURE test
        (sum_cv IN OUT NOCOPY sumcur,
         name   IN     VARCHAR2 DEFAULT NULL);
    END testpkg1;
    CREATE OR REPLACE PACKAGE BODY testpkg1
    AS
      PROCEDURE test
        (sum_cv IN OUT NOCOPY sumcur,
         name   IN     VARCHAR2 DEFAULT NULL)
      AS
        sql_statement VARCHAR2(100);
        where_statement VARCHAR2(100);
      BEGIN
        IF name IS NULL
        THEN
          where_statement := NULL;
        ELSE
    --NOTE THE ADDED SETS OF SINGLE QUOTES IN THE LINE BELOW:
          where_statement := ' AND d.dname = ''' || name || '''';
        END IF;
        sql_statement := 'SELECT e.* FROM emp e, dept d WHERE
    d.deptno = e.deptno '
        || where_statement;
        DBMS_OUTPUT.PUT_LINE (sql_statement);
        OPEN sum_cv FOR sql_statement;
      END test;
    END testpkg1;
    SQL> START testpkg1
    Package created.
    Package body created.
    To execute it from SQL*Plus, you would do just what you have
    been doing:
    SQL> VARIABLE cv REFCURSOR
    SQL> SET SERVEROUTPUT ON
    SQL> EXECUTE testpkg1.test (:cv, 'ACCOUNTING')
    SQL> PRINT cv
    SELECT e.* FROM emp e, dept d WHERE d.deptno = e.deptno  AND
    d.dname =
    'ACCOUNTING'
    PL/SQL procedure successfully completed.
         EMPNO ENAME      JOB              MGR HIREDATE        
    SAL       COMM
        DEPTNO STARS
          7782 CLARK      MANAGER         7839 09-JUN-81       2450
            10
          7839 KING       PRESIDENT            17-NOV-81       5000
            10
          7934 MILLER     CLERK           7782 23-JAN-82       1300
            10 *************

  • How to pass file name as parameter into url: or fo:external-graphic src

    Hello gurus,
    In my rtf I want to dynamically get the name of the image file and display the image in the report. If use hard coded image file name it works but if I try to get the name into a variable and pass that variable it is not working.
    Basically my client is having different logos for each operating unit. in the OA_MEDIA directory there are separate logos for each OU. during run time based on OU name we need to display the corresponding image. If I can get this entire path($OA_MEDIA/logo.jpg') in XML field<?CF_OU_LOGO?> then I'm able to print the logo using url:{CF_OU_LOGO}
    But I'm using seeded data source and I cant modify the data source, I need to handle this in RTF only. I could able to get the file name into a variable but not sure how to pass to url.
    could some one help me on this. I tried the following options
    <fo:external-graphic src="url($ln)" />
    url:{$ln} in web etc...
    here 'ln' is the variable which holds '$OA_MEDIA/logo.jpg'. ln is defined as <xsl:variable name="ln" select=".//CF_OPERATING_UNIT" />
    later I set the values as <?xdoxslt:set_variable($_XDOCTX, 'ln',translate( concat('${OA_MEDIA}/','Logo',.//CF_OPERATING_UNIT,'.jpg'),' ',''))?><?xdoxslt:get_variable($_XDOCTX, 'ln')?>
    thanks,
    Vijay

    Vijay
    What version of EBS is the customer running? I read somewhere that in R12 all of the concurrent parameters are passed to the XMLP template. I have not tried this but if true. You could create a conc program parameter that would hold the location of the image. You could either have the user pick the image or maybe derive it from the other parameter choices.
    Lets assume the token name is DLOGO you can reference that in your template.
    <?param:DLOGO?>
    this needs to be at the top of the template. Then where you need to embed the image just reference the value using
    $DLOGO
    You can embed this in the external graphic field
    As I mentioned I have not tested it yet, hopefully its there, if not there are ways around it. Try it first.
    Tim

  • How to sort via multi value parameter in ssrs

    I have a parameter with multi values. when the user selects ,he get of options like acount name, first name, last name.
    so if user selects firstname , the data has to sort by firstname.
    if he selects acount name , the data has to sort by account name.
    please help me how to sort the data using parameter with multivalue? in ssrs 2008.
    Thank you?

    Hi Venku,
    Based on your description, it seems that you create a parameter with available values and you want to sort the report data based on the parameter value. If the available values are the field names in the report, you can try to open the Tablix properties
    dialog box and specify the sort expression on "Sorting" tab as follows:
    =Fields(Parameter!parametername.value).value
    If the parameter allow multiple values and you want to sort the report data by more than one field, for example, sort the report data by "accountname" and then by "firstname", please add two sort expressions as follows:
    =Fields(Parameter!parametername.value(0)).value
    =Fields(Parameter!parametername.value(1)).value
    If you have any question, please let me know.
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • How to pass refcursor as input parameter to a procedure in a package

    Hi there
    Please can anybody explain me with an small example for
    passing a procedure output(output should be a refcursor) and pass that refcursor values into a procedure in a package as input parameter and this value i want to use as join condition in my procedure ie. ename=refcursor.ename like this).That my exact question is how to pass refcursor values as in parameter
    Pls suggest me with some example statements
    thanks in advance
    prasanth a.s.

    I am giving you a generic example.
    SQL> variable v_out REFCURSOR
    SQL> r
      1  DECLARE
      2  PROCEDURE TEST1(p_out OUT SYS_REFCURSOR) IS
      3  BEGIN
      4  OPEN p_out FOR SELECT EMPNO,ENAME FROM SCOTT.EMP;
      5  END;
      6  PROCEDURE TEST2(p_in IN SYS_REFCURSOR) IS
      7  v_empno NUMBER(10);
      8  v_ename VARCHAR2(30);
      9  BEGIN
    10  LOOP
    11  FETCH p_in INTO v_empno,v_ename;
    12  EXIT WHEN p_in%NOTFOUND;
    13  DBMS_OUTPUT.PUT_LINE(v_ename);
    14  END LOOP;
    15  NULL;
    16  END;
    17  BEGIN
    18     TEST1(:v_out);
    19     TEST2(:v_out);
    20* END;
    SMITH
    ALLEN
    WARD
    JONES
    MARTIN
    BLAKE
    CLARK
    SCOTT
    KING
    TURNER
    ADAMS
    JAMES
    FORD
    MILLER
    PL/SQL procedure successfully completed.

Maybe you are looking for