Dynamic LOV query

Hi,
Anyone can share with me of how to apply dynamic LOV?
let say user choose messagechoice value = 'A' then messagelovinput will only execute query A and display the list of LOV values.
if user choose messagechoice value = 'B' then messagelovinput will execute query B and display its LOV values.
Pls help..

yuchijoyce wrote:
actually try to pass in parameter into the functions and return a list of values into the lov, is there any sample coding for reference?:( Not sure what do you mean by this??
But if you want that to make use of a function that can give you list of value. Then you can follow the approach mentioned by Anil, thereby you will be creating a Function in database that is going to return different query based on conditions and you can base LOV vo object on this function.
Hope it works :)
Thanks
AJ

Similar Messages

  • Problem in Dynamic LOV query

    Hi,
    I have a LOV in my page its query should be based on item condition.
    So I tried using Apex provided Dynamic LOV Query with IF.. ELSE.. END IF condition.. But when I use this and run the page it is giving error "URL NOT FOUND".
    My query is
       IF :MY_ITEM is not null THEN
       RETURN 'select ename ,eno
                    from emp
                    where eno = '''||:MY_ITEM||''' ';
       ELSE
        RETURN 'select ename ,eno
                    from emp
                    where ename = ''ALAKA''  ';
       END IF;But it is not working for me.
    Please anyone help me to solve this.
    Thanks
    Alaka

    Hi All,
    It worked for me. Just I modified my code a bit. Thanks to all for help.
    Just I did ,
       DECLARE
       BEGIN
             IF :MY_ITEM IS NOT NULL THEN
                RETURN 'SELECT ENAME,ENO
                            FROM EMP
                            WHERE ENAME = '''||:MY_ITEM||''' ';
           ELSE
               RETURN 'SELECT ENAME,ENO
                            FROM EMP
                            WHERE ENAME = ''ALAKA'' ';
          END IF;
          EXCEPTION
            WHEN OTHERS THEN
                HTP.PRN('ERROR'||SQLERRM);
       END;
    Thanks
    Alaka

  • What is wrong with this dynamic LOV query?

    I am trying to create a dynamic LOV which contains calendar week numbers, given a bind var containing the year. If the year given is this year I want the LOV to contain all weeks up to but not including this week, if the year given is in the past I want the LOV to contain all weeks in that year.
    Here is my query;
    select display_value, week_num from
    (select decode(
    :P31_YEAR,
    to_char(sysdate, 'YYYY'), to_number(to_char(sysdate, 'IW')),
    1+to_number(to_char(to_date('31/12/' || :P31_YEAR, 'DD/MM/YYYY'), 'IW'))
    ) max_weeks,
    level week_num,
    'Week ' || level display_value
    from dual
    connect by level < 54
    ) where week_num < max_weeks
    When I try to create the dynamic LOV Apex tells me the query is invalid. It runs in TOAD and as far as I can see follows the LOV query rules.

    Try this:
    select display_value d, week_num r from
    (select decode(
    nvl(:P13_YEAR,'2007'),
    to_char(sysdate, 'YYYY'), to_number(to_char(sysdate, 'IW')),
    1+to_number(to_char(to_date('31/12/' || nvl(:P13_YEAR,'2007'), 'DD/MM/YYYY'), 'IW'))
    ) max_weeks,
    level week_num,
    'Week ' || level display_value
    from dual
    connect by level < 54
    ) where week_num < max_weeks
    Scott

  • Dynamic LOV query will not be displayed

    Hello,
    we created the following record group
    select ename, empno from emp order by 1
    then we created a list of values depending on the record group:
    We added ename to  emp.mgr and empno to null in the LOV
    Then we changed  the emp.emg item to type CHAR and POPUP list
    When we run the form nothing is displayed in the colum of MGR and only 1 record in th tabular form is displayed.
    Please help us
    Regards

    When I save nimber with country code contact name will be displayed,
    and if I store the number without the country code and I get a call it does not show the contact name!!
    This problem exists for all Iranians!

  • Item Selection on a dynamic LOV (SQL Query)

    Hi,
    I've a dynamic LOV with an SQL query who return a list of data (one column). When i select a data in this LOV to be use as an item (sql query) in the same page the data is always null. In debug mode substitution string is null.
    FYI : when the data is selected, a button is clik to perform an sql query for a report in another page.
    Thanks. Sorry Abasolute beginner
    Message was edited by:
    user581765

    Thanks for Your help.
    The date is in fact a CHAR display (not really a date) so that is not the error.
    For your information when i select a row in the list (format char YYYYMMDD_HHMM) it seems that Apex do not catch my select in the Session state.
    I've change the item name with P2_DATE_FLOW but the problem remain.
    This is the debug log if can help
    0.03: Application 114, Authentication: CUSTOM2, Page Template: 3644802034190382
    0.06: ...Session ID 1868105032215374 can be used
    0.06: ...Application session: 1868105032215374, user=Neop
    0.06: ...Determine if user "Neop" workspace "2859608277950243" can develop application "114" in workspace "2859608277950243"
    0.06: Session: Fetch session header information
    0.06: ...Metadata: Fetch page attributes for application 114, page 3
    0.06: Fetch session state from database
    0.06: Branch point: BEFORE_HEADER
    0.06: Fetch application meta data
    0.08: Computation point: BEFORE_HEADER
    0.08: Processing point: BEFORE_HEADER
    0.08: Show page template header
    0.08: Computation point: AFTER_HEADER
    0.08: Processing point: AFTER_HEADER
    0.08: Computation point: BEFORE_BOX_BODY
    0.08: Processing point: BEFORE_BOX_BODY
    0.08: Region: Report 1
    Report 1
    0.08: show report
    0.09: determine column headings
    0.09: parse query as: CFM_MDRE
    0.12: binding: ":P2_DATE_FLOW"="P2_DATE_FLOW" value="0"
    0.14: print column headings
    0.14: rows loop: 15 row(s)
    No data found.

  • Dynamic LOV - Function returning LOV query

    Hi All,
    For some reason I can not write a generic LOV query and want to edit where clause dynamically. Is there a way to achieve it.
    My LOV query will be
    'SELECT D,R FROM LOV WHERE ID IN (1,2,3)' for one person and
    'SELECT D,R FROM LOV WHERE ID IN (4,5,6)' for another person.
    Here entire string "1,2,3" or "4,5,6" is from a page item say :P1_ID_LIST and I can not use the bind variable like 'SELECT D,R FROM LOV WHERE ID IN (:P1_ID_LIST)'.
    If I have the option of function returning the LOV query I can use
    return 'SELECT D,R FROM LOV WHERE ID IN (' || :P1_ID_LIST || ')'
    Does there a way to acheive in Apex?
    Thanks
    Balaji

    See Re: Search on a typed in list of values for at least part of the answer.
    Scott

  • Problem with dynamic LOV and function

    Hello all!
    I'm having a problem with a dynamic lov in APEX 3.0.1.00.08. Hope you can help me!
    I have Report and Form application. On the Form page i have a Page Item (Popup Key LOV (Displays description, returns key value)).
    When i submit the sql code in the 'List of vaules defention' box. I get the following message;
    1 error has occurred
    LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query.
    When i excecute the code below in TOAD or in the SQL Workshop it returns the values i want to see. But somehow APEX doesn't like the sql....
    SELECT REC_OMSCHRIJVING d, REC_DNS_ID r FROM
    TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) order by 1
    returns_dns_lov_fn is a function, code is below;
    CREATE OR REPLACE FUNCTION DRSSYS.return_dns_lov_fn (p2_dns_id number)
    RETURN dns_table_type
    AS
    v_data dns_table_type := dns_table_type ();
    BEGIN
    IF p2_dns_id = 2
    THEN
    FOR c IN (SELECT dns_id dns, omschrijving oms
    FROM d_status dst
    WHERE dst.dns_id IN (8, 10))
    LOOP
    v_data.EXTEND;
    v_data (v_data.COUNT) := dns_rectype (c.dns, c.oms);
    END LOOP;
    RETURN v_data;
    END IF;
    END;
    and the types;
    CREATE OR REPLACE TYPE DRSSYS.dns_rectype AS OBJECT (rec_dns_id NUMBER, rec_omschrijving VARCHAR2(255));
    CREATE OR REPLACE TYPE DRSSYS.dns_table_type AS TABLE OF dns_rectype;
    I tried some things i found on this forum, but they didn't work as well;
    SELECT REC_OMSCHRIJVING display_value, REC_DNS_ID result_display FROM
    TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) order by 1
    SELECT REC_OMSCHRIJVING display_value d, REC_DNS_ID result_display r FROM
    TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) order by 1
    SELECT a.REC_OMSCHRIJVING display_value, a.REC_DNS_ID result_display FROM
    TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) a order by 1
    Edited by: rajan.arkenbout on 8-mei-2009 14:41
    Edited by: rajan.arkenbout on 8-mei-2009 14:51

    I just had the same problem when I used a function in a where clause.
    I have a function that checks if the current user has acces or not (returning varchar 'Y' or 'N').
    In where clause I have this:
    where myFunction(:user, somePK) = 'Y'
    It seems that when APEX checked if my query was valid, my function triggered and exception.
    As Varad pointed out, check for exception that could be triggered by a null 'p2_dns_id'
    Hope that helped you out.
    Max

  • How to accessing current row report column value in Lov Query?

    Hi,
    which access methods (eg. bind variables, substitutions, ...) for getting the current row report column value can be used in the "Lov Query" property of a report column?
    As what I know of and what I have read on the forum there are no bind variables for the report columns. For the "Link Text" property it seems that the column values exist as substitution strings (#COLUMN_NAME#). But they don't work in the Lov Query. => And would be good because of a hard parse each time the Lov query is executed.
    The following post (Re: Simulating a correlated sub query in lov
    is showing a solution to use package variables for temporary storage of the referenced value, but the only problem with that solution is that if a new record is added with the "Add rows to tabular form" process the package variable still contains the value from the last queried row! Is there a way (variable, APEX package, ...) to determine if the lov query is executed for a new record so that the package can return null?
    I know that I could write the package in a way that the value is immediately cleared when lov_pkg.keyval is called (one time read), but then I would have to create several variables if I'm accessing the value multiple times in the query or in another query => I think an one time read solution would be very obscurely.
    Thanks for your help
    Patrick
    http://inside-apex.blogspot.com

    Hi Patrick,
    I agree that it's a waste to continually use Ajax to go back to the server to get the contents of a dynamic select list.
    There are no bind variables for any row item - but what you do have, as per my previous post, is the value of the data entered by the user in the first row. You can pass this into your application process (using get.add("VARIABLENAME", value)), which can use it to retrieve the correct LOV in your Ajax code - this will give you a "bind variable" that your process can use.
    What you could do, however, is generate hidden select lists on your page - one for each possible LOV list and replace the contents of the new row's select list with the contents of the appropriate hidden select list. This is easy to do with javascript (using innerHTML functions). Obviously, though, the usefulness of this depends on the number and size of the select lists.
    Even if you don't generate them to start with, you can keep a copy of any select lists returned by Ajax in the DOM for use on new rows. So, if you have retrieved a select list, you will have a copy of it in DOM which you can then copy into the new row. If you don't have the list in DOM, use Ajax to get it, store a copy of it and copy it into the new row.
    Which method you use will depend on the number/size of select lists needed. If they are few in number and/or size, I would suggest generating hidden lists. If they are large, use Ajax to get them once, store them and then retrieve them from the DOM when needed.
    There is another thread here where Arie recommends going to the server every time to make sure you get the most up-to-date data for the lists. If you want to follow this advice, for this reason, use get.add("VARIABLENAME", value) to pass the value to your process. If this is not an issue, you can use one of the other methods I outlined above.
    Regards
    Andy

  • Creating a dynamic lov based on a column

    Hi,
    I want to create a dynamic lov based on a column in a database-table.
    Eg. the query
    'select code, description from code_table'
    is the contents of the column 'lov_query' in the table 'parameters'.
    For every parameter there can be a different lov-query, but the result is always
    two columns (code and description, number and name, etc.), exactly what you need to use in a lov.
    I've written a (dbms_sql) function that takes the parameter-id and returns the lov_query.
    create or replace function "GET_PMR_LOV"
    (pmr_id in NUMBER)
    return VARCHAR2
    is
    cur INTEGER := DBMS_SQL.OPEN_CURSOR;
    fdbk INTEGER;
    l_pmr_id NUMBER(9) := pmr_id;
    l_stmnt VARCHAR2(2000);
    begin
    DBMS_SQL.PARSE
    (cur, 'select pmr.lov_query from parameters pmr where pmr.ID ' || ' = 'L_PMR_ID', DBMS_SQL.NATIVE);
    DBMS_SQL.BIND_VARIABLE (cur, 'L_PMR_ID', l_pmr_id);
    DBMS_SQL.DEFINE_COLUMN (cur, 1, l_stmnt, 2000);
    fdbk := DBMS_SQL.EXECUTE (cur);
    fdbk := DBMS_SQL.FETCH_ROWS (cur);
    IF fdbk > 0
    THEN
    DBMS_SQL.COLUMN_VALUE (cur, 1, l_stmnt);
    return (l_stmnt);
    ELSE     
    return null;
    END IF;
    DBMS_SQL.CLOSE_CURSOR (cur);
    END;
    But now I'm stuck on how to pass on this statement in HTMLDB
    as an dynamic lov, I don't seem to be able to execute this statement
    into the two display and return columns. Any ideas?

    Hello again,
    This lov is on an updatable report-column where the user has to make a choice from an non-named, popup and query-based lov. In the lov-query box I have just put:
    "return get_pmr_lov(:p41_param_id)" (without the quotes ;-)
    Here's my latest version plus an alternative, which both seem to work fine:
    create or replace function "GET_PMR_LOV"
    (pmr_id in NUMBER)
    return VARCHAR2
    is
    cur INTEGER := DBMS_SQL.OPEN_CURSOR;
    fdbk INTEGER;
    l_pmr_id NUMBER(9) := pmr_id;
    l_stmnt VARCHAR2(1000);
    begin
    DBMS_SQL.PARSE (cur, 'select pmr.lov_query from paramaters pmr where pmr.ID ' || '= :L_PMR_ID', DBMS_SQL.NATIVE);
    DBMS_SQL.BIND_VARIABLE (cur, 'L_PMR_ID', l_pmr_id);
    DBMS_SQL.DEFINE_COLUMN (cur, 1, l_stmnt, 1000);
    fdbk := DBMS_SQL.EXECUTE (cur);
    fdbk := DBMS_SQL.FETCH_ROWS (cur);
    IF fdbk > 0 THEN
    DBMS_SQL.COLUMN_VALUE (cur, 1, l_stmnt);
    return (l_stmnt);
    ELSE
    return null;
    END IF;
    DBMS_SQL.CLOSE_CURSOR (cur);
    END;
    create or replace function "GET_PMR_LOV2"
    (pmr_id in NUMBER)
    return VARCHAR2
    is
    l_pmr_id NUMBER(9) := pmr_id;
    l_stmnt VARCHAR2(1000);
    BEGIN
    EXECUTE IMMEDIATE 'select pmr.lov_query from parameters pmr where pmr.ID = :1'
    INTO l_stmnt USING l_pmr_id;
    return l_stmnt;
    END;
    The error-message remains the same, unable to bind :p41_param_id !

  • How to make use of a static or dynamic LOV in Desktop Instelligence reports

    I want to use static LOV as well as dynamic LOV as a prompt for one of my report.
    I have created a dynamic LOV but I dont know how to include it as a prompt to my reports. Please teach me the same.
    For example I have two classes called COMPANY and EMPLOYEE in my universe. Each entry in the company class will have n number of employees in the employee class. My requirement is when I run the report it should prompt the user to select the company name which is a object in the COMPANY class. Based on the users's input the report should pull the employee data.
    For this I have to create a COMPANY name LOV and this should be used in the 'Conditions' section of the Desktop Intellegence.
    Please guide me for the same.

    Hi,
    LEt me know where u need the prompt object to be created in UNV or in report level.
    In Unv:
    Select Company name object-> double click it and in Select clause define as below
    @variable('1. Enter Company Name'')
    In Report level: Go to Query panel select Company class object in where clause and select required operator as LIKE OR IN LIST OR NOT IN LIST OR DIFFERENT FROM and select prompt and give some prompt message.
    Cheers,
    Suresh Aluri.

  • Dynamic LOV in a Tabular Form

    Can somebody please tell me if there is a easy way to code a
    dynamic LOV in a Tabular Form?
    I need the ability to access a column value in the table row, to use in the WHERE clause of LOV query for another column in the row? Seems
    like that should be easy , but not finding an answer.
    Thanks for any help.
    Carol

    Hi Carol,
    You can add the select list's definition directly into your SQL statement using APEX_ITEM.SELECT_LIST_FROM_QUERY - see: [http://download.oracle.com/docs/cd/E10513_01/doc/apirefs.310/e12855/apex_item.htm#CHDIDGDA]
    If you first run your page with your existing select list on it, then do a View Source and look for the select list, you will see a "name" attribute of something like "f01" or "f02" etc. Make a note of the number part of this.
    Then update your SQL statement to include the above and using the number you noted as the Index value (say, 4):
    SELECT EMPNO,
    ENAME,
    DEPTNO,
    APEX_ITEM.SELECT_LIST_FROM_QUERY(4,MGR,'SELECT ENAME d, EMPNO r FROM EMP WHERE DEPTNO = ' || DEPTNO || ' AND EMPNO &lt;&gt; ' || EMPNO) MGR
    FROM EMPThat would give you a select list of employees in the same department as the current employee (excluding that employee themself)
    Andy

  • Select item on a Tabular form with a different dynamic LOV on each row

    I would like to use a tabular form where one of the columns is a dynamic LOV based Select, and where that dynamic LOV refers to one of the column values on each row.
    So if the tabular form represented a list of teams and the LOV-based Select column was the current team leader, I would want that select list to be populated only with the members of that team (different for each row). Since the list of team members is in some other table (all_players or something) I would want to populate the LOV with a query with a where clause that selected only those players records with a team-membership equal to the current tabular form's team id. So, on each row that select list's contents would be different.
    -- Justin

    I'm beating a dead horse here but I did get something to work with "less" code. My current needs do not require me to cascade drop downs, I only want 1. You can use the query like the in the first reply (but I don't have a table with joins) I created a simple two column table dept_emp with 4 records 10,null 20,null .... I want to fill the nulls with an employee but ONLY an employee that matches the dept. (Same concept of team leader and members).
    Here's the query:
    select apex_item.display_and_save(1,dept) dept,
    apex_item.select_list_from_query(2, name, 'select ename from emp where deptno='||dept) name
    from dept_emp
    I removed the code that was there already (ApplyMRU) and just put in this code:
    BEGIN
    FOR i IN 1..HTMLDB_APPLICATION.G_F01.COUNT LOOP
    UPDATE dept_emp
    SET
    name=HTMLDB_APPLICATION.G_F02(i)
    WHERE dept=to_number(HTMLDB_APPLICATION.G_F01(i));
    END LOOP;
    END;
    The G_F01 matches the column 1 and so forth. There's more documentation but little explanation at:
    http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25309/api.htm#sthref2171
    The thing I could not get to work was a dynamic message
    #MRU_COUNT# row(s) updated, #MRI_COUNT# row(s) inserted.
    Not sure when the MRU_COUNT gets populated (probably in the routine I removed ;))
    You're probably way past me by now but I like to have as little code as possible when it comes to maintaining an app. That's why I liked oracle forms so much. This kind of stuff was pretty easy to do.
    Thanks again everybody!

  • Default value of combobox using dynamic LOV in Oracle Portal form

    We are trying to specify the deafult value of a combobox on a form that derives it options from a dynamic LOV. The option value is a number and the display is text.
    E.g.
    <Option value="1">Books
    <Option value="2">CDs
    We have tried various ways of setting the default option to be selected on the Combobox. First, we tried using a sql query to return a number from a table (sql query returns number -> in the default value type field). Next, we tried to use a constant number (default value: 2, default value type: constant). In neither case, did the Oracle Portal form pre-select our default choice in the drop-down list.
    Any suggestions? I browsed the other forum articles on this topic and noticed several folks believed it was a bug in Portal. We are using Portal version 3.0.9 (latest App Server for the Ebusiness Suite). Thanks in advance.

    You can manually add the select list (or for that matter anything else) to a wizard created form. If the select list is for an existing item, simply change the "Display As" setting from Text to a Select List based on the LOV you create. Any changes made will then be applied by the update process.
    cheers,
    Ron

  • Dynamic LOV buttons in Forms

    Hello:
    The dynamic LOV button (app.ui.lovButtons=true) in Registry.dat setup is showing the LOV button in NORMAT Mode ONLY.
    This does NOT get displayed when the form is in QUERY mode. Is there a way to display the LOV buttons irrespective of Query/Normal Mode?
    Thanks
    Bala

    Anyone faced this issue before?
    Please help
    Edited by: kart on Jun 16, 2010 3:58 PM
    Edited by: kart on Jun 17, 2010 12:30 PM

  • URGENT - Form with LOV - Query Fails

    Hi All,
    I've a portal form, with about 10 fields and about 06 of them are combo boxes (attached to dynamic LOVs).
    I'm trying to perform a query using the ID and leaving all other fields blank, but no result is displayed. I am sure that the record for that ID exist in the database table.
    Can someone please suggest what should I do to be able to perform query in form with LOVs.
    Thanks in advance.

    Hi Jatinder
    I'm happy because you are apparently on the right way with 'your duplicate form'!
    "adjust the empty values" means to make sure, that the value of the simple empty field (in the duplicate form) is the same as the value of the corresponding LOV based combo box field (in the original form).
    Maybe this sounds easy, but in the matter of fact it isn't. Why?
    Look carefully at the following sample:
    You have a dynamic LOV based on the number column 'category' in your 'table_1'.
    So the basic part of the LOVs query looks like this:
    select distinct category from table_1;
    Now you still have to add the 'empty value' to your LOV to complete your request to find any value of 'category'. But if you add '0' or ' ' (blank) it wouldn't work. So you have to add NULL but this still doesn't work because you have to adjust NULL to the corresponding data type.
    Furthermore you have to be sure that the default LOV's value is the 'any value' one.
    Your complete LOVs query then looks like this:
    select distinct category from table_1
    union
    select to_number(null) from dual
    order by category desc;
    /* 'desc' for 'descending' ensures the NULL value to be on the top of the combo box */
    Now as you know how it works for number columns simply use the analog logic for character columns with to_char(null) and for date columns with to_date(null).
    That's it.
    Thanks
    Peter

Maybe you are looking for

  • Enabling Genius on Ipod Touch

    I have turned on Genius on my Itunes and have syned by Ipod Touch since then. But when I try to use Genius on my IPOD Touch, it says that Genius has not been enabled, eventhoug it is definitely working on Itunes. Can someome offer me some suggestions

  • Loss of cues marks when saving WAV files in Acrobat 1.5

    I have been using Audition 1.5 for several years, but today I have been experiencing a new and fundamental problem. After downloading an MP3 file and converting it to a Windows PCM WAV file using Audition, I have inserted cue (track) marks.  When I s

  • Can't create .jar file?

    Am trying to create a .jar file, but without any luck? My classpath is set like this: C:\j2sdk1.4.2\bin; And am trying like this: cd C:\Documents and Settings\aslan1\Skrivebord\retroguard-v1.1\retroguard-v1.1\Regnskab1.5.1\ jar cvf Aslan.jar *.class

  • Switching iframe content and javascript problem in safari!

    Hi, I'm having problems with this page we're doing... http://www.intergraphicdesigns.com/clientes/bansbach_web/zonainteractiva/www/zon ainteractiva.php#tab3 It renders everything perfectly in Firefox, Chrome, IE9, or even IE6... but in Safari (both M

  • Wageytypes which are newly created  are not showing up in the prod.server

    Hi Experts, I have newly created 2 new wagetypes. 1.Arrears on housing loan subsidy  2,arrears on Vehicle loan subsidy They are properly showing up in Dev server and properly transported to Quality Server.IN Quality server also it is popping the new