JDev 11 g: problem view VO criteria ignore Null values

Hello

I don't know if it's a bug or do something wrong but here is my case:
I created an original Version of a database table.
In page view of all of VO, aaa I bind a variable named
Then I add a criteria-> display I add an element of criteria including bing my previously create variable to an attribute of VO-> I have defined validation on "necessary".
Then a race my request and made a few test/dev.

After a while, I needed to change my display criteria 'optional' with 'Ignore Null values' checked.
I changedit, run my application and the display criteria did not work... I don't add no rows returned when I went to my variable named "null".
After 1 or 2 days to research, I managed to notice that in fact, an attribute is missing in my VO object source.

I needed to add explicitly in the XML of the source of this attribute:
GenerateIsNullClauseForBindVars = 'true '.

in the desired so ViewCriteriaItem it ignores Null values.

I tried various combinations of the interface for presentation but non of them generated this attribute set to "true".
Only when I put the validation 'Optional' and ' ignore values null ' unchecked, GenerateIsNullClauseForBindVars = 'false' appears in the XML source code.

Is this a bug?
Here's my version JDev: Build JDEVADF_11.1.1.1.0_GENERIC_090615.0017.5407

Jack

To report a bug, you must go through the MOS (aka Metalink). You need a support contract valid to log into MOS.

Timo

Tags: Java

Similar Questions

  • Lag() ignore null values performance

    Hello

    I have looked around, but didn't find everybody talks about performance problems specifically with the use of 'IGNORE NULLS' inside of an analytic function of LAG() in a view online.

    This is a cut from the version of my sql, isolated to the question under discussion.

    select * from (
      SELECT /* use_nl (j,gjt,jt) */
         jt.id
        ,COALESCE
          (lag(jt.my_column ignore nulls /* this is the nasty critter */
            ) over (order by jt.order_seq)
          ,0
          )+1 AS start_days
        ,coalesce
          (jt.my_column
          ,last_value(jt.my_column ignore nulls
            ) over (order by jt.order_seq desc)
          ) AS end_days
      FROM  a,bunch,of,tables
      WHERE ...
      ) jt 
    where jt.id = '123456'
    

    If I remove ignores NULL values in the offset, there is no performance problem.

    Last_value() is not affected.

    If I do not use a view inline then performance is very good, although it is no different to explain the plan.

    select ..
    from ...
    where ...
    and id = '123456'
    

    Has anyone come across something like this, or have any suggestions?

    Happy to try to build a test scenario if it contributes to the discussion, but I thought I would just ask the question first.

    Scott

    Scott.Wesley wrote:

    Hello

    I have looked around, but didn't find everybody talks about performance problems specifically with the use of 'IGNORE NULLS' inside of an analytic function of LAG() in a view online.

    If I remove ignores NULL values in the offset, there is no performance problem.

    Last_value() is not affected.

    If I do not use a view inline then performance is very good, although it is no different to explain the plan.

    1. Select...
    2. Of...
    3. where the...
    4. and id = '123456'

    Scott,

    He would not have anything to do with your real problem, since you say that you get different performances during the removal of the IGNORE NULLS clause, but I doubt that you get exactly the same execution plan when online display is deleted these two queries are typically semantically the same.

    If you use the inline view, Oracle cannot push the filter on the ID in the view if the analytical functions partitions not by this ID, because the result will not be the same for the steps: with the online mode, the data is transformed without filtering for the evaluation of the expressions of the LAG etc, and then the filter is applied.

    If you remove the inline view and filter directly, it has a quite different meaning because now the data will be filtered first and then the analytical functions apply to the filtered result set.

    So the case of inline view maybe has to deal with a completely different volume (larger) identical to the variant of view data not online according to the selectivity of the filter - which could explain that the clause "IGNORE NULLS" made a significant difference in performance on this larger volume of data to deal with, but not necessarily.

    Randolf

  • Function of lag ignoring NULL values in 10g

    I have the following query that works well in 11g. I want to rewrite the query in 10g and get the same set of results. Because the offset ignoring NULL values, I used below is a new feature in 11g, someone can help me in rewriting the query below.

    Prop1 - String, evar11 - String

    Select prop1, evar11,.

    lag (Prop1 ignores Nulls) over (partition by order of period_key of visit_page_num, visit_num, visid_low, visid_high) as prop1_lag
    from TABLE_A

    where period_key = '20131012' - DATE

    order of visit_page_num

    Thanks in advance,

    H.

    Hello

    In Oracle 10, you can use LAST_VALUE... ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PREVIOUS instead of LAG.

    As I don't have your table, I'll use scott.emp to illustrate:

    SELECT hiredate, ename, comm

    MOST LAG (comm IGNORE NULLS) (ORDER BY hiredate, ename) AS lag_comm

    , LAST_VALUE (comm IGNORE NULLS) OVER (ORDER BY hiredate, ename)

    ROWS BETWEEN UNBOUNDED PRECEDING

    AND 1 PRECEDING

    ) AS last_value_comm

    FROM scott.emp

    ORDER BY hiredate, ename

    ;

    The output shows that LAG and LAST_VALUE produce the same results:

    HIREDATE ENAME LAG_COMM LAST_VALUE_COMM COMM

    --------- ---------- ---------- ---------- ---------------

    DECEMBER 17, 80 SMITH

    FEBRUARY 20, 81 300 ALLEN

    FEBRUARY 22, 81 WARD 500 300 300

    2 APRIL 81 JONES 500 500

    MAY 1, 81 BLAKE 500 500

    JUNE 9, 81 CLARK 500 500

    08 SEP-81 TURNER 0 500 500

    28 SEP-81 MARTIN 1400 0 0

    NOVEMBER 17, 81 1400 1400 KING

    DECEMBER 3, 81 1400 1400 FORD

    DECEMBER 3, 81 JAMES 1400 1400

    JANUARY 23, 82 1400 1400 MILLER

    APRIL 19, 87 SCOTT 1400 1400

    MAY 23, 87 1400 1400 ADAMS

    To run the Oracle 11.1 or earlier, comment out the call to the LAG.

  • Problems with Last_value (col Ignore Nulls)

    Thank you in advance

    I use Last_value (col Ignore Nulls) in Expression

    LAST_VALUE (INGRP1. AADT IGNORE NULLS) (ORDER OF INGRP1. ROUTE_ID, INGRP1. COUNTY, INGRP1.CO_ORDR, INGRP1. BEG_MP)

    I am getting error can of assistance

    Line 2, Col 30:
    PLS-00103: Encountered the symbol "IGNORE" when expecting one of the following:
    
       . ( ) , * @ % & | = - + < / > at in is mod remainder not
       range rem => .. <an exponent (**)> <> or != or ~= >= <= <>
       and or like LIKE2_ LIKE4_ LIKEC_ as between from using ||
       multiset member SUBMULTISET_

    Hello

    Change the code Generation Mode 'Base set' and the run setting default operating Mode "base set" and redeployment.

    Default OWB will generate code with a bunch of different modes including PLSQL focused on the line. You use SQL based unparalleled PLSQL so get a problem compiling for the line section based on the generated code.

    See you soon
    Davivd

  • Group by to ignore the values null

    Hi all
    Oracle version 10 g 2
    Consider the scenario

    Table: point
    Columns: Itm_id, Itm_type, appl_y_n (VALUES VALID 'Y', ' n, NULL)

    I HAVE FOLLOWING ITEM TYPES.

    TYP1
    TYP2
    TYP3

    In this appl_y_n is applicable only to the item type typ1 and it can contain y, n, or null.
    Types of remaining elements of this field may contain any value, including null, but I want to ignore these values.
    ITM_ID     ITM_TYPE     APPL_Y_N
    1     TYP1     NULL
    2     TYP1     Y
    3     TYP1     N
    4     TYP2     NULL
    5     TYP2      NULL
    6     TYP3     NULL
    7     TYP3     NULL
    now I need a group of clause which must ignore values null to appl_y_n only for TYP1

    on top of the sample output must be
    ITM_TYPE     APPL_Y_N     CNT
    TYP1     YES     1
    TYP1     NO     1
    TYP2     NULL     2
    TYP3     NULL     2
    Query, that I use for this:

    Select ITEM_TYPE, COUNT (ITM_ID), decode (itm_type, 'TYP1', DECODE(APPL_Y_N,'Y','Yes','N','No')) APPL_Y_N
    of the order of the day
    Item_type group, decode (itm_type, 'TYP1', DECODE(APPL_Y_N,'Y','Yes','N','No'))

    But he's considering typ1 as null values.

    Please give me a solution that ignores null values

    Thanks in advance
    NM

    Hello

    Check the below. It will be useful.

    SQL >
    SQL > WITH t AS)
    2 SELECT 2 ITM_ID, 'TYP1' ITM_TYPE, 'Y' APPL_Y_N FROM dual UNION ALL
    3. SELECT 3 ITM_ID, 'TYP1' ITM_TYPE, "n" APPL_Y_N FROM dual UNION ALL
    4. SELECT 1 ITM_ID, 'TYP1' ITM_TYPE, APPL_Y_N NULL FROM dual UNION ALL
    5. SELECT 4 ITM_ID, "TYP2' ITM_TYPE, APPL_Y_N NULL FROM dual UNION ALL
    6. SELECT 5 ITM_ID, "TYP2' ITM_TYPE, APPL_Y_N NULL FROM dual UNION ALL
    7. SELECT 6 ITM_ID, "TYP3' ITM_TYPE, APPL_Y_N NULL FROM dual UNION ALL
    8. SELECT 7 ITM_ID, "TYP3' ITM_TYPE, APPL_Y_N double NULL)
    9 SELECT itm_type,
    10 DECODE (itm_type, 'TYP1', DECODE (appl_y_n, 'Y', 'Yes', "n","no")) appl_y_n,.
    11 COUNT (itm_id)
    12 FROM t
    13 WHERE NOT (itm_type = 'TYP1' AND APPL_Y_N IS NULL)
    14 group of itm_type,
    15 decode (itm_type, 'TYP1', DECODE (APPL_Y_N, 'Y', 'Yes', "n","no"))
    16 ORDER BY itm_type
    17.

    ITM_TYPE APPL_Y_N COUNT (ITM_ID)
    -------- -------- -------------
    TYP1 NO. 1
    TYP1 Yes 1
    TYP2 2
    TYP3 2

    SQL >

    Rgds
    Ameya

  • Automatic update arrived and installed himself, but then told me that it was incompatible with my Mac version: 10.5.8. Firefox version 3.6.26 is now about it. It seems to work even. Y at - it's going to be a problem or should I ignore this message?

    Automatic update arrived and installed himself, but then told me that it was incompatible with my Mac version: 10.5.8. Firefox version 3.6.26 is now about it. It seems to work even. Y at - it's going to be a problem or should I ignore this message?
    If I need to can replace it where I get an older version?
    Thank you

    Firefox 4 versions and later, do not run on a PowerPC Mac and require at least OS X 10.5 and an Intel Mac.

    The latest support for your operating system version is 3.6.26 , you are fully updated.

    For more information, see:

    Firefox 3.6 system requirements

    Firefox 10 system requirements

    [For older Mac that are not supported in versions of Firefox 4 +, if you want, try TenFourFox for PowerPC currently running Mac 10.4.11 and 10.5.8]

    http://www.floodgap.com/software/tenfourfox/

    http://tenfourfox.blogspot.com/

    https://code.Google.com/p/tenfourfox/wiki/PluginsNoLongerSupported

    Thank you

    Please check 'Resolved' the answer really solve the problem, to help others with a similar problem.

  • View the criteria in responses

    Hello

    I have an obligation to show the link to a report in the dashboard page, and when the link is clicked, it should show the report criteria page so that users can modify the report. Currently, when I do it shows me the results, if I use a filter that is not that it displays the error message. How can I view the criteria in responses without displaying the results.

    Help, please. Thank you.

    Try this:

    (1) go to the criteria of demand response mode.

    (2) copy the URL in the address bar.

    3) go to the dashboard page and add an item "link or Image.

    (4) paste the URL there.

    When the user clicks on the link, it opens in standards mode, assuming that the user has access to answers.

    (Don't forget to mark 'useful' or 'correct' for this post, and then close the thread. (Thank you.)

  • Ignore certain values that are initially a box Structure

    Hey everybody,

    I have another question a bit simple. I have a business structure which is driven by the values of a custom controller. I asked a question about this earlier which was resolved quite well. Here is the link for reference.

    I recently encountered a small problem. I get the numbers that I need, but the machine continues to send values after a few seconds. What I basically want to do, is to ignore the values of two 'status' it sends. Is there a way to make sure that LabVIEW sees these two values it is up to the last defined the case?

    Thank you!


  • Evolution of the null value in the data view tab

    Is it possible to update a null value in the data view table tab? When I delete the value, it creates a sql such as

    Update table set column is where id = 1;.

    How to fill a null from the data tab?

    I met (and displayed) on this same problem some time. (See forum article "invalid column index: getValidColumnIndex" in SQL Developer 1.5.4 . "") Jim Smith pointed out it seems to be the reappearance of an old bug.

    There are some alternatives. One is "do-it-yourself" in the SQL or SQL worksheet * more. (I.e., "UPDATE someTable SET someColumn = NOTHING WHERE tablePKColumn = pkValue;". The other is to use an earlier version of SQL Developer for that in the view of table data. (I still have Developer SQL 1.5.1 installed just for this reason).

    I hope this helps.

    Hrsg.:.

  • Offset and IGNORE NULLS for LEAD/LAG

    Hi all

    so far, I thought that I understood the functioning of LEAD and the DELAY, but after you add the IGNORE NULLS and a shift, I'm confused

    I created a Fiddle SQL that executes a 11 g R2, v$ version returns Oracle Database 11 g Express Edition Release 11.2.0.2.0

    CREATE TABLE vt (part INT, ord int, val INT);
    INSERT INTO vt VALUES(1, 1, 8);
    INSERT INTO vt VALUES(1, 2, 10);
    INSERT INTO vt VALUES(1, 3, 3);
    INSERT INTO vt VALUES(1, 4, NULL);
    INSERT INTO vt VALUES(1, 5, NULL);
    INSERT INTO vt VALUES(1, 6, NULL);
    INSERT INTO vt VALUES(1, 7, 2);
    INSERT INTO vt VALUES(1, 8, NULL);
    INSERT INTO vt VALUES(1, 9, 5);
    
    
    
    
    

    Arghhh, of course, I am wrong and the result is correct

    OFFSET 2 more IGNORE NULLS does not mean ""find the next non null from two lines after the current line ", there "find the 2nd non-NULL value from directly after the current line". "

    And to compensate FOR the 1, both rules will return the same result.

    This occurs when you are focused on a specific thing and not see the forest for the trees.

  • Ignoring the Null value or 0 for an average of

    Hello

    I don't code in Java, so I'm having a problem with a form.

    We have a form of training that adds the total of the sides and then is supposed to understand on average.  My problem is that the provided average is based on the average function canned for the field, so it's the calculation of all the fields, including those who have either a Null value or a zero.  Can someone help me with this please?

    By the way.  If the N.O. is checked, the coast is n/a.

    There are also five sections that will total all the sides and will need an average of these totals.

    Thanks in advance.

    Tom

    FTO Form SCRN SHOT.png

    Screenshot taken: 15/03/2013-21:09

    Here's a generic function to calculate the average of a group of non-empty fields.

    This function takes two parameters: an array of domain names at average and a Boolean value specifying if the function should return an empty string if the result was zero.

    function averageFields (fields, blankIfZero) {}

    var total = 0;

    var n = 0;

    for (var i in fields) {}

    var f = this.getField (fields [i]);

    v var = f.valueAsString;

    If {(v)

    total += (+ v);

    n ++ ;

    }

    }

    var returnValue = (n == 0)? ' ': total/n;

    If (blankIfZero & returnValue = 0) returnValue = "";

    return returnValue;

    }

    You can set this function at the level of the document, and then call it as follows (starting a custom calculation script, in this case):

    Event.Value = averageFields (["field1", "Field2", "Field3"], false);

  • function of nth_value() with IGNORE NULLS in oracle 10g

    Is there an easy way to imitate the function of ORACLE 11 g nth_value() with IGNORE NULLS clause in 10g or earlier version of Oracle?
    SQL> select  ename,
      2          sal,
      3          nth_value(sal,5) over() fifth_min_sal
      4    from  emp
      5    order by sal
      6  /
    
    ENAME             SAL FIFTH_MIN_SAL
    ---------- ---------- --------------
    SMITH             800           1250
    JAMES             950           1250
    ADAMS            1100           1250
    WARD             1250           1250
    MARTIN           1250           1250
    MILLER           1300           1250
    TURNER           1500           1250
    ALLEN            1600           1250
    CLARK            2450           1250
    BLAKE            2850           1250
    JONES            2975           1250
    
    ENAME             SAL FIFTH_MIN_SAL
    ---------- ---------- --------------
    SCOTT            3000           1250
    FORD             3000           1250
    KING             5000           1250
    
    14 rows selected.
    
    SQL> select  ename,
      2          sal,
      3          min(case rn when 5 then sal end) over() fifth_min_sal
      4    from  (
      5           select  ename,
      6                   sal,
      7                   row_number() over(order by sal nulls last) rn
      8             from  emp
      9          )
     10    order by sal
     11  /
    
    ENAME             SAL FIFTH_MIN_SAL
    ---------- ---------- --------------
    SMITH             800           1250
    JAMES             950           1250
    ADAMS            1100           1250
    WARD             1250           1250
    MARTIN           1250           1250
    MILLER           1300           1250
    TURNER           1500           1250
    ALLEN            1600           1250
    CLARK            2450           1250
    BLAKE            2850           1250
    JONES            2975           1250
    
    ENAME             SAL FIFTH_MIN_SAL
    ---------- ---------- --------------
    SCOTT            3000           1250
    FORD             3000           1250
    KING             5000           1250
    
    14 rows selected.
    
    SQL> 
    

    SY.

  • Null values for DB2 are causing problems

    Hello
    I have another problem with the link to the database to DB2 on IBM iSeries Access for Linux 64-bit OEL5 with gateway database Oracle and unixODBC 2.2.14.
    DB link works. However, null values for DB2 are causing problems. "The columns Date null on db2 return a date ' 30.11.0002 ', and the columns of characters that are null return an error ORA-28528: heterogeneous Services data type conversion error.
    isql returns the correct results.

    How can I fix? May set some parameters for the conversion of the data on the entry door?

    Thank you.

    If the driver is not fully ODBC level 3 compliant and functions of the spleen, we are lost. But sometimes drivers ODBC level 3 compliant, but lack the correct implementation of 64-bit. In these cases, we can tell the gateway to use the 32-bit ODBC 3 standard adjustment level in the gateway init file:
    HS_FDS_SQLLEN_INTERPRETATION = 32

  • Problem with the format of the values in the command prompt (when you use multiple values)

    Hi all

    I have problem with the format of the values in the command prompt when you use multiple values.

    Value is year (2009) and when I use it in the drop-down list that is formatted, all right, as 2009, but when I use several values I get number as 2009,00. I put in year column format number with 0 decimal places and save by default in the year column. Year is formatted well anywhere in the query, such as 2009. Why is - what happens at the command prompt when you choose multiple values in prompt dashboard?

    Thank you

    I think the YEAR Data Type could be defined DOUBLE RPD.

    Use the CAST function in the formula (fx) and the output from test.

    CAST (INT YEAR)

    Hope, it will help you.

  • problem in the use of named view search criteria form

    Hello

    You will need to create a search form using criteria from view.


    I have a table named question (issueid, loggedby) and a main table named login (u_id, passwd, u_name).
    There is a b & w u_id and loggedby reference field (means that when I create a new problem, the loggedby field is filled with u_id).
    Now, I want to create a search form that display the table according to supplied u_name which is available in the connection.


    run time search for user to the question as

    loggedby = 'mohan '.

    but the issue table store u_id on loggedby user field mohan (do not store the name).

    Thanks in advance

    You can join your table user (on the user name) in the table and have the name and the id in the VO...

    select issue.*, login.* from issue join login on issue.iloggedby=login.u_id;
    

    Noah your VO contains the name and u_id.

    Timo

Maybe you are looking for