Multiselect (or just select) list limit

Hi There,
Does anyone know if there is a limit to the number of items than can be submitted when using a multiselect (or a shuttle).
I have a query that returns hundreds of values (all valid). The user is going to need to select 1,2,5... all the way to ALL of these items to be used in another query.
When I select ALL returned items, I get a browser error (Web page cannot be found - Error 400). This is in IE 8 (I know, I know, not my choice!!).
Thoughts?
My shuttle is based on a dynamic LOV which seems to be operating correctly.
Pete

The problem is in the URL limitation. all the values of the list will be passed in the URL and in this case will exceed the URL length limit... I am trying somethin that may help
Sam

Similar Messages

  • Automatic population of multiselect based on select list

    Hi,
    I have an issue in populating in multiselect from the data in select list.
    Let me take an example and explain.
    I have 3 tables: Employee, Department and a linking table for employee and department.
    The select list contains employee and department is a multiselect. On selection of Employee, all the departments should be displayed and the department to which employee belongs(which is taken from the linking table) should be selected (High-Lighted). How do I do this?

    Hi,
    I am trying this on three tables…DEPT, EMP, DEPT_EMP wit a select list(P1_EMP) and a multiselect (P1_DEPT).
    Dept has two columns (ID and Deptname). It has two rows.
    DEPT
    Id |Deptname
    1. HR
    2. OPERATION
    Emp has two colums (ID and Empname)
    EMP
    Id|Empname
    1. Jason
    2. Pam
    Dept_Emp has three columns (ID, Employee ID which refers to the EMP.ID, DeptID which refers to the DEPT.ID)
    DEPT_EMP
    Id| Employeeid | DeptId
    1. 1 1
    2. 2 2
    As shown , Jason belongs to HR and Pam belongs to OPERATION.
    I have tried the following steps:
    1. OnChange of Employees drop down list(P1_EMP), I have called a javascript function.
    <script type="text/javascript">
    function getDepartments(filter, listName)
    var employee = filter.value;
    var list = document.getElementById(listName);
    var listvalue = list.value;
    var get = new htmldb_Get(null,$v('pFlowId'), 'APPLICATION_PROCESS=GET_DEPARTMENTS_FOR_EMP',0);
    get.add('G_EMPLOYEE', employee);
    ret = get.get('XML');
    if(ret)
    var s = ret.getElementsByTagName("select");
    if(s){
    var o = ret.getElementsByTagName("option");
    var oCount = o.length;
    list.options.length = 0;
    var i=0;
    while(i<oCount)
    var l_Opt_Xml = o [ i ];
    appendToSelect(list, l_Opt_Xml.getAttribute('value'), l_Opt_Xml.firstChild.nodeValue);
    i=i+1;
    list.value = listvalue;
    if (list.selectedIndex == -1)
    list.selectedIndex = 0;
    get = null;
    function appendToSelect(pSelect, pValue, pContent) {
    var l_Opt = document.createElement("option");
    l_Opt.value = pValue;
    if(document.all){
    pSelect.options.add(l_Opt);
    l_Opt.innerText = pContent;
    } else {
    l_Opt.appendChild(document.createTextNode(pContent));
    pSelect.appendChild(l_Opt);
    </script>
    2. The Javascipt function calls in a application process(GET_DEPARTMENTS_FOR_EMP) and I have also created an application item(G_EMPLOYEE) for the same.
    declare
    begin
    owa_util.mime_header('text/xml', FALSE );
    htp.p('Cache-Control: no-cache');
    htp.p('Pragma: no-cache');
    owa_util.http_header_close;
    htp.prn('<data>');
    htp.prn('<select>');
    for rec in (
    select distinct "DEPT"."Deptname" d, "DEPT"."ID" r
    from "DEPT","DEPT_EMP "
    where " DEPT_EMP "."DeptID"="DEPT"."ID"
    and " DEPT_EMP "."EmployeeID"=:G_EMPLOYEE
    order by 1
    loop
    htp.prn('<option value="' || rec.r || '">' || rec.d || '</option>');
    end loop;
    htp.prn('</select>');
    htp.prn('</data>');
    end;
    The employee multiselect(P1_EMP), initially has a “Select employee”. Upon selecting Jason, it should show, all departments and highlight HR. The same for Pam.
    But it is showing only the departments for the employee. If I modify the application process query to show all employees in that department, how do I highlight only that employee?
    Edited by: 841762 on Mar 7, 2011 1:50 AM

  • Need to do conditional processing based on just-selected list item

    hi -- I have a vertical, unordered list. Each list item branches to a different page when selected.
    When the list item is selected, and before the branch happens, I need to do some conditional processing
    that depends on which list item was just selected.
    How can I get information about which list item was just selected?
    Thanks,
    Carol

    Carol - List items get rendered as links on the page so as soon as you click the link the browser goes there. You can't normally run a process on the current page by clicking that link. I suppose you could build each list item target (defined in the list item definition) to use javascript that submits the page, perhaps passing the item name as the "request" value. Then when the page is submitted, an after-submit process could do whatever you need it to and similarly a branch could be defined for each list item that would take the user to the intended page.
    Scott

  • Select List problem

    I have 3 select lists: the first two are with submit and the last one is just select list. Each list depends on the previous one.
    I have set null and default values for each list. The problem occurs when I first start the application, but after selecting an option in the first list all is fine and when I reset the fields everything works as it should.
    So the problem only occurs when the application is first launched....
    This is the error message:
    Error: ORA-01858: a non-numeric character was found where a numeric was expected performing List of Values query: "SELECT TESTTIME d, TESTTIME r FROM TESTSETUP WHERE TESTDATE = :P3_TESTDATE and TERM = :P3_TERM ".
    How can this be corrected?
    Any help would be greatly appreciated.
    Thank - Greg

    I have set null and default values for each list
    These values are not available in committed session state for the subsequent select lists to use.
    Solution: Create a OnLoad Before Header computation (conditional upon the value of the select list being null) to set it to whatever null/default value you want. This will "initialize" the value so that your dependent select lists can work properly.

  • Error in select list w/submit proccessing with IE

    I have encountered a problem that is only IE specific. The page is a basic page with an Automated Row Processing to insert the form to a table.
    Once the form has been filled out and you press create there are seven total fields including a hidden field (p173_model_id) that is populated by a database trigger and sequence. All of the fields in essence save to session state to the field following that field. So for instance the vendor_id saves to the model_number field. The model_number field saves to the status field and so on! This only occurs with IE though not with FF. In FF everything works as planned.
    Also if you change the container Type field from select list with submit to just select list the form handles fine now in IE.
    Attached are pictures trying both IE and FF:
    FF
    IE
    You can view the backend @
    workspace:epic
    guest/guest
    http://apex.oracle.com/pls/otn/f?p=9579:173
    Thanks
    Justin

    Here is an update in case anyone else experiences the problems I had...
    The SR request I filed was given bug # 5716829 I am not sure if this is published or not....
    Anyway here is what the development staff reported back:
    I have narrowed this problem down to the Read Only Condition on the P173_CONTAINER_TYPE_ID select list.
    If you remove "DISABLED" from the Read Only Element Table Cell(s) Attributes, it works fine in IE also. So, the problem seems to be
    with the way IE handles Select Lists that are DISABLED.
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    You may use that as a workaround until the fix is available...

  • Limit selection list for variables

    Hello Experts.
    Is there a way to limit the selection list for variables?  For example, there are many possible currency values for 0CURRENCY, but I want allow the user to choose only one of these choices USD, EUR, or HKD.  I would rather not do a validation check subsequent to the users making their selection.
    I must use 0CURRENCY rather than copying it to another characteristic and entering only those three keys in master data.
    Any ideas?
    Kind regards,
    Aron
    Edited by: Aron Weaver on Oct 1, 2010 1:08 AM

    If you are using the standard info object which is referring to '0CURRENCY' then it mayn't be possible to restrict the 'F4' list to few currencies in the standard BEx environment. There are couple of options to limit the 'F4' selections using the web template /BSP technology.

  • CAT2 - Limit WBS selection list

    Hi,
    We are running Timesheets using CAT2.
    I am trying to limit the selection of projects (receiver WBS element) via the search help screen so that only released (REL) projects are listed. Can this be achieved in config or will this need to be coded?
    Currently, every WBS created in CJ20N is visible, no matter what the system status is: CRTD, REL, TECO, CLSD - even marked for deletion. It is only when I physically delete a WBS  that it disappears from the list.
    Obviously these codes will error on the timesheet if specific statuses have been set, so how can I prevent the users seeing them on the selection list if they are not for use?
    Any help/advise would be useful.
    Thanks in advance.

    Hi graeme,
    1. One way is using search help exit,
       and restrict the values.
    2. Another is using EXIT,
      and checking, if there is any wrong entry  in the time sheet.
    3. For that use the enhancement CATS0006 (using smod tcode).
      There u can validate the entire time sheet,
      while saving.
      (if there is any error , u can restrict from saving,
      after giving some message)
    regards,
    amit m.

  • Bug while saving multi select list

    Hi,
    My requirement is to construct a region where user can select their answer from available option. answer field can be multiple select/single select or text area.
    I have written below query to achieve different type of answer field.
    /**query****/
    DECLARE
    v_sql VARCHAR2 (32767);
    v_answer VARCHAR2 (32767);
    v_main_sql VARCHAR2 (32767);
    BEGIN
    FOR cur IN (SELECT question_id, question, answer_type, available_answer FROM question WHERE status= 'ACTV')
    LOOP
    v_sql := 'SELECT ';
    v_sql := v_sql || ' APEX_ITEM.hidden(4,question_id)||question question, '; /*do not show question id as per requirement*/
    IF cur.answer_type = 'MS' -- Multi Select List
    THEN
    v_answer := cur.available_answer;
    v_sql :=
    v_sql
    || ' APEX_ITEM.SELECT_LIST_FROM_QUERY(3,null,''SELECT * from table(
    AU_F_LOV_FN('''''
    || v_answer
    || '''''))'',''class="multiselect" multiple="multiple"'',''NO'') Answer ';
    ELSIF cur.answer_type = 'SS'
    THEN -- Single Select List
    v_answer := cur.available_answer;
    v_sql :=
    v_sql
    || ' APEX_ITEM.SELECT_LIST_FROM_QUERY(3,null,''SELECT * from table(
    AU_F_LOV_FN('''''
    || v_answer
    || '''''))'') Answer ';
    ELSE -- Free text
    v_sql := v_sql || ' apex_item.textarea(3,available_answer,2,20) Answer ';
    END IF;
    v_sql := v_sql || ' from question ';
    v_sql := v_sql || ' where question_id=' || cur.question_id;
    IF v_main_sql IS NULL THEN
    v_main_sql := v_sql;
    ELSE
    v_main_sql := v_main_sql ||' UNION ' || v_sql;
    END IF;
    END LOOP;
    RETURN v_main_sql;
    END;
    /***end of query***/
    If I select two options from multiple select list it is saving two records into table instead of saving one record with colon delimeter.
    /**query to save**/
    FOR i IN 1 .. APEX_APPLICATION.G_F03.COUNT
    LOOP
    IF APEX_APPLICATION.G_F03(i) IS NOT NULL THEN
    UPDATE question_answer
    SET answer = v_answer
    WHERE question_id = APEX_APPLICATION.G_F04(i)
    and call_id=p_sourceid;
    IF sql%rowcount =0 then
    INSERT INTO question_answer (question_id,
    answer,
    call_id,
    status,
    customer_id)
    VALUES (APEX_APPLICATION.G_F04(i),
    nvl(v_answer,APEX_APPLICATION.G_F03(i)),
    p_sourceid,
    'ACTV',
    p_customer_id);
    END if;
    END IF;
    END LOOP;
    /**End**/
    Can anyone please help me? Why is it happening? How to tweak my query so that it saves one record with colon delimeter.

    Technically, my understanding is that a Shuttle is just two multiselect lists where javascript moves the items from one to the other. Technically its the same thing, just different presentation and methods for selection. When you go to process, its seen the same way as you initially had your code setup so no code changes would have been necessary. As it's a built in item type and with APEX's backwards compatibility policies, if your code works now it should continue to work.

  • Using multiple select lists in ADF

    Hi,
    I am trying to use a multiple select list in my JSP page, and have a method in the ApplicationModule be called when the Struts action is called. I am following the example ADF tutorials, where the method is added to the ApplicationModule class, then dragged onto the Stuts Flow diagram (to associate it with an action).
    I am able to create a dyna form bean for the page that contains the multi select as a type "java.lang.String[]" (string array). I am able get that values that were selected in a normal action's "execute" method. For example:
    msf = (DynaActionForm) form;
    String[] statusSelection = (String[]) msf.get("multSelectList");
    However, I cannot seem to get the "multSelectList" values into a method in my Application Module class. The "multSelectList" is defined in my dynaFormBean as a String[] type. I am passing it in as an argument like the following....
    public void setParams(String multSelectList[]) {
    This results in the method not being called at all. I am not sure why. Does this have something to do with a String[] not being serializable??
    However, if I just attempt to pass other types form items to the method, it works. For example:
    public void setParams(String simpleCheckbox) {
    Does anyone know how to use multiple select lists in conjunction with ADF?
    P.S.
    my multSelectList looks something like this:
    <select name="multSelectList" multiple size="5">
    <option value="ALL">Select All</option>
    <option value="preferred">Preferred</option>
    <option value="standard">Standard</option>
    <option value="approved">Approved</option>
    <option value="interim">Interim</option>
    </select>

    I got this working by changing the signature of the Application Module method to use ArrayList rather than String[], then you can marshal the Struts FormBean contents into an ArrayList to pass up.
    To do this, subclass the DataAction by using "Go To Code" off of the context menu and then override the initializeMethodParameters() method:
      protected void initializeMethodParameters(DataActionContext actionContext, JUCtrlActionBinding actionBinding)
        //Get the String Array from the Form Bean
        String[] selection = (String[])((DynaActionForm)actionContext.getActionForm()).get("multiSelect");
        //convert that to an ArrayList
        ArrayList selectionArr = new ArrayList( Arrays.asList(selection));
        //Add that object to the Arg List for the AM method
        ArrayList params = new ArrayList();
        params.add(selectionArr);
        actionBinding.setParams(params);
      }

  • Populate multi select list  in on demand application process

    Hi all,
    To populate a multi select list we use this code:
    DECLARE
    l_counter number;
    l_o_name varchar2(2000);
    l_val varchar2(100);
    BEGIN
    l_val := wwv_flow.g_x01;
    owa_util.mime_header('text/xml', FALSE );
    htp.p('Cache-Control: no-cache');
    htp.p('Pragma: no-cache');
    owa_util.http_header_close;
    htp.prn('<select>');
    FOR rec IN (
    SELECT DISTINCT DECODE(districtscode,NULL,'- Onbekend -',districtscode) as "NAME"
    , DECODE(districtscode,NULL,'-2',districtscode)as "ID"
    FROM table
    WHERE (UPPER(dienstcode) =(l_val)
    or l_val = '-1')
    and objectsubcategorie_id in (select objectsubcategorie_id from table where ind_actief = 'J')
    and ind_uitgesloten is null
    UNION
    SELECT '- Alle districten -', '-1'
    FROM DUAL
    ORDER BY 1
    LOOP
    htp.prn('<option value="' || rec.ID || '">' || rec.NAME
    || '</option>');
    END LOOP;
    htp.prn('</select>');
    END;
    However: L_val is determined by a multiselect list. So, L_id can be: 'A:B:C'. I can convert the value of l_id to 'A','B','C' (with eg replace function). However in a where clause one cannot say: WHERE UPPER(dienstcode) in l_val. So I created a refcursor which I put in a pl/qsl table. Then I looped through the pl/sql table.
    Somehow this did not have the same results. Eventhough the refcursor gave back the same data which I tested by logging the values of the pl/sql table just before the htp.prn command, the htp.prn did not return the values.
    Does anyone know why this happens? Is there a difference between the for loop in this code and looping through a self defined pl/sql table?
    Thanks in advance
    Maurice

    Please, anybody could help me with this?
    Thank you!

  • Overcoming the IN LIST limit

    Hi,
    I've recently posted a question about this but right now, I'm to understand the concept. I'm going to give a bit of background in order to make it more understandable.
    We have an application in which an object (A) contains a list of objects (B). Each of these objects in turn may contain objects (C). Each of these is a different type of object
    Currently, we have designed a very simplistic pattern that follows:
    - Load all Objects A according to user criteria
    - Build a list of comma-separated IDs of Object A and retrieve Objects B using SELECT * FROM B WHERE ID IN (1, 2, 3, etc...)
    - Use the B objects returned to build a comma-separated list of IDs of Object B and retrieve Objects C using this list as: SELECT * FROM C WHERE ID IN (4, 5, 6, etc...)
    Now, this works, but only in very simple conditions.
    Obviously my main concern is that it just won't work if you return more than 1000 Objects A or B at any point in time. The main problem I am facing now is regarding the way to make this work better, in terms of coding pattern and SQL optimization. IN is not that great with large sets as I understand it since it will use conditions such as 1 OR 2 OR 3 etc...
    I've checked out Tom Kyte's website and the table type solution (http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:110612348061). It works, but my string parameter passed in could be more than 4,000 bytes for large reports... Soooo, I kept on reading and saw the BULK INSERT idea.
    My question is the following: In an application where many users may run reports at the same time, is it even valid to consider doing this?
    - LOAD --> BULK INSERT --> LOAD USING BULK INSERTED VALUES --> CLEAN UP CUSTOM TABLE
    Hereby preventing other users from running their reports until this one is finished (unless I have one custom table per type of object)?
    Or is the simple: LOAD OBJECTS A --> LOAD OBJECTS B USING SUBQUERY TO LOAD OBJECTS A better from the beginning? My main thing against it is that we run a query again after we just ran it so we already have the data we need but we have no choice but to re-write it.
    I don't have anything against the BULK INSERT method etc... but for index usage and maintenance, the other solution just seems more complex for a performance that just would not be that great.
    What do you think about it? And if you have the same problem as I do right now, how do you go around it?
    Greg

    Hi,
    No no it's my bad, I actually did not realize that I mixing up some programming and Oracle concepts without being specific.
    I'm assuming the problem with the 1000 list limit for an IN operator is understood though.
    We perform several SELECT statements to retrieve records from our database. These records are used to instantiate java objects (this is in a J2EE application server, not in the Oracle JVM or java pool at all).
    As an example (I apologize if it's a bad one), on the java side, we have a motherboard. It can contain one or more RAM slots. Each ram slot may contain a RAM module in it (for the sake of the example, I'll say it can contain one or more modules, just like old sockets...). On the database side, we have a MOTHERBOARD table, a RAMSLOT table, and a RAMMODULE table.
    My question was the following: a user may run a report saying that he/she wants to get all motherboards' information in the database. Right now, the way it's been made is that we select all motherboards, get their unique identifier and build a comma-separated list of these ids (in the java code), and then do a
    SELECT * FROM RAMSLOT WHERE MOTHERBOARD_ID IN (1, 2, 3 etc...).
    And the same is done between RAMSLOT and RAMMODULE. The problem is that if more than 1000 motherboards exist, it just won't work.
    Now, when I was looking at the ways to overcome this problem, I went to the Tom Kyte article mentioned. One solution is to create a function that will return a custom table type when passed in the string '1, 2, 3, etc...'. While this works with a small number of motherboards, well, if we loaded a lot of them and went over 4,000 bytes, we get a 'String Literal too long' error. This was mentioned on the AskTom article, to which the followup was: 'use BULK INSERT'. This is why I mention it. I guess what was meant is to load all the data in the custom type table and then perform as before.
    This is why I was wondering how this could possibly be better than just re-writing the query as a subquery later (as undesirable as it might be).
    Thanks for the help and please answer if anything isn't clear.
    Greg

  • Auto find Select List

    I'm using a Select List (with submit) in my application and it's a long list, the available select list search by the first letter (if I pressed two letters it would search for words begins with the second letter)....
    Can we find or create a Select List with more than one letter search facility.
    Regards
    Saad

    This does work in IE7, but you have to type quickly!!
    If you have a list of:
    Andrew
    India
    Martin
    Michael
    Richard
    And type 'M', pause, 'I' you will jump first to Martin and then to India.
    Type 'M','I' and you will jump first to Martin and then to Michael
    There does not seem to be a limit on how many letters you can type - just don't pause.
    Hope this helps,
    Martin

  • Select list without multiple="multiple" attribute

    Hello,
    Has anyone been able to have a list just like a "Multiselect List" but without allowing the selection of multiple elements? If I just choose "Select list", all I get is a dropdown box even if I change its height to 10 and adding size="10" to attributes seems to be forbidden for some reason..
    Thank you :)

    To do this you will need to put some javascript on your page.
    Lets say you have a select list called P1_SELECT_LIST.
    Within that page's attributes in the onLoad section reference a javascript function.
    i.e. onLoad="changeSize()".
    Within the HTML Header section of that page's attributes create a function called changeSize that changes the size of that item.
    <script language="javascript">
    function changeSize() { document.forms[0].P1_SELECT_LIST.size = 10; }
    </script>
    adennis

  • Change display value of "select list"

    Hi!
    I have a problem with a select list, I want to change the display value through an own pop up (page 5 of apex application) after I submit in it.
    The select list is based on a sql query:
    select A_NAME display_value, A_ID return_value
    from APPLICATIONS
    where a_application_type='GROUP'
    order by 1
    beside I have an link to open a pop up window:
    ... onClick="window.open ('f?p=&APP_ID.:5:&SESSION.::::', 'newWin',
    'scrollbars=no,status=no,width=500,height=270' ...
    On the pop up site there is a tree and a submit button which close the window and renew the original page:
    javascript:window.opener.location.reload();window.close();
    Through the tree I get the value (Group-ID) which I need.
    When I'm back on page 4 a "before header" renew page process links again on the side 4 and change the value of my select list. Afterwards the values have changed correctly but the display value is still the old one. It only change when i go on an other page of the apex application and come back.
    I don't know why it doesn't change immediately!?
    Thanks ahead

    I have done with a solution just in a nutshell of what u r looking for:
    1.create HTML region.
    Add two items : Select list with redirect(P6_X) and text field(P7_X)
    2. Select list is based on LOV query as :
    select empno d,empno r from emp ;
    Source value is Empno Type:DBcolumn.
    3.The text field Source type : SQL Query .
    Query : select ename from emp where empno = :P6_X
    Now select from the dropdown empno and it will populate the Ename value accordingly based on the query .
    U can have more than one text fields and populate those in the same way.....
    Cheers,
    ROSY

  • Refresh PL/SQL Report Region (not Page) using Select List value

    Hi,
    I've got a report region based on a 'PL/SQL function body returning a SQL query'which gets generated on selecting a value from a Select list item, The Select List action is 'Redirect and Set value' but this causes the whole page to refresh rather than just the report region. I've tried to refresh the report only using a dynamic action on the Select List item (Action now reset to  'None') but now the report is not appearing on choosing from the List. Can anyone suggest a solution that will allow me to refresh this report without refreshing the page? I am using APEX 4.2.2 and the report syntax is as follows:
    DECLARE
      v_statement VARCHAR2(500);
    BEGIN
      SELECT query_text
        INTO v_statement
       FROM sql_queries
       WHERE query_id = :P2_QUERY ;
       RETURN v_statement ;
    END ;
    where P2_QUERY is Select List Item,
    regards,
    Kevin.

    KevinFitz wrote:
    The report region being displayed is conditional on P2_QUERY item being NOT NULL. I assume the region not appearing is because the Action for the Select List Item is set to None and so P2_QUERY is always NULL.
    No, the region is not appearing because it is conditional on P2_QUERY being NOT NULL. This means that the report region never exists on the page shown in the browser, so it can't be dynamically refreshed. (Dynamic refresh doesn't evaluate region conditions, and it only re-renders the report content, not the entire region.)
    Remove the condition on the report region, check the refresh is working, then reconsider exactly what the requirements here are. If you want the region to appear only when P2_QUERY has a value, and you want it to be refreshed without submitting and re-rendering the page, then the region needs to be hidden rather than conditionally rendered, and shown via a dynamic action when P2_QUERY gets a value.
    I tried adding an additional Set Value True Action for the DA event but got an error as listed above,
    All irrelevant if Page Items to Submit on the region is used properly.

Maybe you are looking for