Bind Variable : required - no message, not required - error

hi
Please consider the example application created using JDeveloper 11.1.1.6.0
at http://www.consideringred.com/files/oracle/2012/RequiredOrNotBVarApp-v0.01.zip
It has these View Objects defined
- EmployeesReqNoValueBVarVO which has a required Bind Variable, and where clause "last_name like '%' || :LastNameBVar || '%'"
- EmployeesNotReqNoValueBVarVO which has a NOT required Bind Variable, and where clause "(:LastNameBVar is null or last_name like '%' || :LastNameBVar || '%')"
The Bind Variable in both View Objects does NOT have a value (no default value, not programmatically set, not entered by the user, ...).
This "no value set" aspect could be the result of a "development error", but the resulting observed behaviour is at least "peculiar".
- scenario (sc1) : run "try tryEmployeesReqNoValueBVarVO", see a table filled with rows and NO message about the required Bind Variable
- scenario (sc2) : run "try tryEmployeesNotReqNoValueBVarVO", see "No data to display." in the table and the "Missing IN or OUT parameter at index:: 1" error for the NOT required Bind Variable for a where clause that can deal with null values
- question (q1) How can be explained that scenario (sc1) does not result in an error message about the required Bind Variable (and scenario (sc2) does result in an error message about the NOT required Bind Variable)?
- question (q2) What does the "Required" checkbox for a Bind Variable really mean for Bind Variables used in a where clause of a View Object?
If the described behaviour can be reproduced (using RequiredOrNotBVarApp-v0.01.zip), confirmations are welcome.
(Aspects of these scenario's could be related to forum thread "Bind variable required/not required: strange behaviour".)
many thanks
Jan Vervecken

Thanks for your reply Frank.
Frank Nimphius wrote:
... your query actually is dependent on the existence of the bind variable because the bind variable is used in the where clause part. ...Sure, and the Bind Variable does exist (in both (sc1) and (sc2)).
... This has nothing to do with whether the bind variable value is checked for NULL and if the value it contains is NULL performs an "all you can eat" type of query. Because the existing, NOT required Bind Variable has not been given a value in scenario (sc2), the check for NULL only makes more explicit that NULL is a valid value for the SQL statement.
... Non required bind variables are used in the context of view criteria to avoid missing IN or OUT parameters. ...The "Required" checkbox for a Bind Variable is also available/enabled when the Bind Variable is not used in a View Criteria (in both (sc1) and (sc2)).
... In the case of a view criteria, the VO query may be executed without the view criteria applied and for this reason should not fail only because the defined bind variable is not provided. ...No View Criteria in the scenario's (sc1) and (sc2) I descirbe.
... If you run the query in the tester, you get
(java.sql.SQLException) Missing IN or OUT parameter at index:: 1
and no query is executed at all for EmployeesNotReqNoValueBVarVOSure, that matches scenario (sc2), but the Bind Variable can be configured as NOT required, how can it be missing?
The JDeveloper help page "Create or Edit Bind Variables Dialog - Variable Page" says:
"... Alternatively, you can use the SQL Statement page of the Edit View Objects dialog to enter a parameterized WHERE clause. Note that the bind variables you enter in a parameterized SQL WHERE clause will require a valid value at runtime or a runtime exception error will be thrown. ..."
So, null as a valid value, seems to explain the behaviour in scenario (sc1).
"... In contrast, when you create a view criteria filter condition that references a named bind variable, you can specify whether the value is required or optional. ..."
But, the "Required" checkbox is also available (to uncheck) for Bind Variables that are not used in a View Criteria.
Specifically for the "Required" checkbox the help page says : "... Select if you want to make the value of a name bind variable required for any usage the references the named bind variable. For example, when the value is required (default), all view criteria items that reference the named bind variable will fail to execute unless a valid value is supplied at runtime. Alternatively, you can leave the value not required and use the Create View Criteria dialog to specify whether or not individual view criteria items require the value. ..."
Again, the focus is on View Criteria, although it can also be unchecked (configuring as NOT Required) for Bind Variables that are not used in a View Criteria (which does not seem to be something you should do).
But, still, there is a perspective here that makes this possibly very confusing:
- a View Object where clause with a required Bind Variable, no value set --> results in rows, and NO message about a missing value
- a View Object where clause with a NOT required Bind Variable, no value set --> results in no rows, and a message about a missing value
regards
Jan

Similar Messages

  • Getting "messages not sent" error from Yahoo e-mail outbox folder

    I tried forwarding two e-mails with attachments that somehow got stuck in my outbox.  I continually get the "x messages not sent" error message but when I click on the error and go to the outbox, I am unable to delete the messages or perform any other action because it says the messages are in the progress of being sent.  Any thoughts on how to clear this error?

    RegisMcGarry wrote:
    I tried forwarding two e-mails with attachments that somehow got stuck in my outbox.  I continually get the "x messages not sent" error message but when I click on the error and go to the outbox, I am unable to delete the messages or perform any other action because it says the messages are in the progress of being sent.  Any thoughts on how to clear this error?
    Simple delete the yahoo mail from the native email app. then go to the google play store and download the stand alone YMail app and you need only to enter your yahoo mail user name and password and it will work perfectly.
    Good Luck

  • Bind variables in SQL Editor - not remembering datatypes, values

    When you execute a query with bind variables, the dialogue appears to specify value and type of bind variable. It would be a nice feature if when you re-ran the query Raptor remembered the type and previous value of the bind variable.
    Mike.

    I would like it if there was only one window with a list of all bind variables so I can edit them in one go instead of a new window for each bind variable.
    kind regards
    Leon Parren

  • Listner and "Message not Found" Error

    I tried to find other info on this, but i couldn't, so any
    information would be very helpful.
    whenever i run:
    lsnrctl start
    i get these errors:LSNRCTL for Linux: Version 8.0.5.0.0 -
    Production on 17-AUG-99 22:58:55
    (c) Copyright 1997 Oracle Corporation. All rights reserved.
    Message 1070 not found; No message file for product=NETWORK,
    facility=TNSTNSLSNR for Linux: Version 8.0.5.0.0 - Production
    NL-00280: Message 280 not found; No message file for
    product=NETWORK, facility=NL [listener.log]
    NL-00278: Message 278 not found; No message file for
    product=NETWORK, facility=NL
    SNL-00016: Message 16 not found; No message file for
    product=NETWORK,
    i used the default listener.ora and tnsnames.ora that were
    installed.
    thanks for any help,
    -- adam
    null

    Thank you so much!!!! that was the problem. i could have sworn i
    set up my "oracle" account properly, but i didn't. this will
    probably fix any other problems i was going to have also...
    thank you very very much,
    -- adam
    Michael Tokarev (guest) wrote:
    : Set and export ORACLE_HOME env. variable.
    : Adam (guest) wrote:
    : : I tried to find other info on this, but i couldn't, so any
    : : information would be very helpful.
    : : whenever i run:
    : : lsnrctl start
    : : i get these errors:LSNRCTL for Linux: Version 8.0.5.0.0 -
    : : Production on 17-AUG-99 22:58:55
    : : (c) Copyright 1997 Oracle Corporation. All rights reserved.
    : : Message 1070 not found; No message file for product=NETWORK,
    : : facility=TNSTNSLSNR for Linux: Version 8.0.5.0.0 - Production
    : : NL-00280: Message 280 not found; No message file for
    : : product=NETWORK, facility=NL [listener.log]
    : : NL-00278: Message 278 not found; No message file for
    : : product=NETWORK, facility=NL
    : : SNL-00016: Message 16 not found; No message file for
    : : product=NETWORK,
    : : i used the default listener.ora and tnsnames.ora that were
    : : installed.
    : : thanks for any help,
    : : -- adam
    null

  • Lsnrctl start/stop "message not found" errors

    When I installed 10g I selected a global database name of 'orcl.clearbean.com' and a sid of 'dev1'. Below are my environment variables, tnsnames.ora file and listener.ora file. I can connect and use the database, but I am getting errors messages when I do a lsnrctl stop/start. I am running Oracle and Apache together on a server running Fedora Core 4 (linux). Any help would be greatly appreciated.
    Supporting information:
    [oracle@emerson ~]$ env | grep ORA
    ORACLE_SID=dev1
    ORACLE_BASE=/u01/app/oracle
    ORACLE_TERM=xterm
    ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1
    [oracle@emerson ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.1.0/db_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = emerson.clearbean.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl.clearbean.com)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    [oracle@emerson ~]$ cat $ORACLE_HOME/network/admin/listener.ora
    # listener.ora Network Configuration File: /u01/app/oracle/product/10.1.0/db_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
    (PROGRAM = extproc)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = emerson.clearbean.com)(PORT = 1521))
    [oracle@emerson ~]$ lsnrctl stop
    LSNRCTL for Linux: Version 10.1.0.2.0 - Production on 07-OCT-2005 01:19:22
    Copyright (c) 1991, 2004, Oracle. All rights reserved.
    Message 1053 not found; No message file for product=network, facility=TNSTNS-12541: Message 12541 not found; No message file for product=network, facility=TNS
    TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
    TNS-00511: Message 511 not found; No message file for product=network, facility=TNS
    Linux Error: 2: No such file or directory
    Message 1053 not found; No message file for product=network, facility=TNSTNS-12541: Message 12541 not found; No message file for product=network, facility=TNS
    TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
    TNS-00511: Message 511 not found; No message file for product=network, facility=TNS
    Linux Error: 111: Connection refused
    [oracle@emerson ~]$ lsnrctl start
    LSNRCTL for Linux: Version 10.1.0.2.0 - Production on 07-OCT-2005 01:19:30
    Copyright (c) 1991, 2004, Oracle. All rights reserved.
    Message 1070 not found; No message file for product=network, facility=TNSTNSLSNR for Linux: Version 10.1.0.2.0 - Production
    Message 459 not found; No message file for product=network, facility=NL
    Message 279 not found; No message file for product=network, facility=NL
    Message 1073 not found; No message file for product=network, facility=TNSMessage 1073 not found; No message file for product=network, facility=TNS
    Message 1053 not found; No message file for product=network, facility=TNSMessage 1020 not found; No message file for product=network, facility=TNSMessage 1021 not found; No message file for product=network, facility=TNSMessage 1022 not found; No message file for product=network, facility=TNSMessage 1023 not found; No message file for product=network, facility=TNSMessage 1026 not found; No message file for product=network, facility=TNSMessage 1034 not found; No message file for product=network, facility=TNSMessage 1024 not found; No message file for product=network, facility=TNSMessage 1025 not found; No message file for product=network, facility=TNSMessage 1040 not found; No message file for product=network, facility=TNSMessage 1033 not found; No message file for product=network, facility=TNSMessage 1028 not found; No message file for product=network, facility=TNSMessage 1415 not found; No message file for product=network, facility=TNS Message 1050 not found; No message file for product=network, facility=TNS
    Message 1050 not found; No message file for product=network, facility=TNS
    Message 1029 not found; No message file for product=network, facility=TNSMessage 1411 not found; No message file for product=network, facility=TNS
    Message 1408 not found; No message file for product=network, facility=TNS
    Message 1052 not found; No message file for product=network, facility=TNS[oracle@emerson ~]$

    Thx for the feedback; however after defining TNS_ADMIN and turning of the firewall I am still getting the message errors. Any other suggestions?
    [oracle@emerson ~]$ ls $ORACLE_HOME
    admin emerson.clearbean.com_dev1 ldap oraInst.loc sqlj
    assistants flash_recovery_area lib ord sqlplus
    bin has md oui srvm
    cdata hs mesg owm sysman
    cfgtoollogs install mgw perl uix
    config install.platform network plsql ultrasearch
    css inventory nls precomp wwg
    ctx javavm oc4j racg xdk
    dbs jdbc olap rdbms
    demo jdk OPatch relnotes
    diagnostics jlib opmn root.sh
    dm jre oracore slax
    [oracle@emerson ~]$ ls $TNS_ADMIN
    listener.ora samples sqlnet.ora tnsnames.ora.orig
    listener.ora.orig shrept.lst tnsnames.ora
    [oracle@emerson ~]$ lsnrctl stop
    LSNRCTL for Linux: Version 10.1.0.2.0 - Production on 07-OCT-2005 22:43:44
    Copyright (c) 1991, 2004, Oracle. All rights reserved.
    Message 1053 not found; No message file for product=network, facility=TNSMessage 1052 not found; No message file for product=network, facility=TNS[oracle@emerson ~]$ lsnrctl start
    LSNRCTL for Linux: Version 10.1.0.2.0 - Production on 07-OCT-2005 22:43:51
    Copyright (c) 1991, 2004, Oracle. All rights reserved.
    Message 1070 not found; No message file for product=network, facility=TNSTNSLSNR for Linux: Version 10.1.0.2.0 - Production
    Message 459 not found; No message file for product=network, facility=NL
    Message 279 not found; No message file for product=network, facility=NL
    Message 1073 not found; No message file for product=network, facility=TNSMessage 1073 not found; No message file for product=network, facility=TNS
    Message 1053 not found; No message file for product=network, facility=TNSMessage 1020 not found; No message file for product=network, facility=TNSMessage 1021 not found; No message file for product=network, facility=TNSMessage 1022 not found; No message file for product=network, facility=TNSMessage 1023 not found; No message file for product=network, facility=TNSMessage 1026 not found; No message file for product=network, facility=TNSMessage 1034 not found; No message file for product=network, facility=TNSMessage 1024 not found; No message file for product=network, facility=TNSMessage 1025 not found; No message file for product=network, facility=TNSMessage 1040 not found; No message file for product=network, facility=TNSMessage 1033 not found; No message file for product=network, facility=TNSMessage 1028 not found; No message file for product=network, facility=TNSMessage 1415 not found; No message file for product=network, facility=TNS Message 1050 not found; No message file for product=network, facility=TNS
    Message 1050 not found; No message file for product=network, facility=TNS
    Message 1029 not found; No message file for product=network, facility=TNSMessage 1411 not found; No message file for product=network, facility=TNS
    Message 1408 not found; No message file for product=network, facility=TNS
    Message 1052 not found; No message file for product=network, facility=TNS[oracle@emerson ~]$

  • Fiedl Validation for Warning Message not for Error Message

    hi all,
    we know for field validation, once it not meet the validation, it will throw out the error message and don't allow you to save the record.
    But is there any way to show warning message just a note then user can continue the operation?
    Thanks
    Amanda

    hey ady,
    Is there any authoritative explanation from oracle which mention this part? As I need to follow it to our client which explain this is impossible.
    Thanks
    Amanda

  • OWSM gateway : Message not encrypted error

    Hi,
    I have a BPEL process which invokes a web service via partner link. Both BPEL and service are secured with OWSM gateway.In the policy defined for BPEL I'm doing Sign Message And Encrypt using XPath expression( which is working). In the policy for webservice I'm doing a Decrypt and Verify Signature . But its not invoking the service and throws a Client:GenericFault saying Message is not encrypted.
    In fact the logs from BPEL after encryption shows encrypted data. But logs in service does not contain the same data.
    Am I doing something wrong? Should I copy something ? I'm using the same keystore for both the policies. The version is 10.1.3.1
    Please help me
    Thanks
    Meer

    All of them are running with Win XP SP2 at work. NAT-Traversal: is Disabled. DMZ is enabled. Thanks

  • "Message Not Sent" Error When sending picture via text message

    I have a Droid 2 and I am unable to send a text with a picture.  I use the phone in the field and need to send images of land with a text message but so far am unable to do so.  I have checked my options settings in My Verizon and do not see anything that may be preventing from doing this function.  It is not a signal strength problem.  Also this is not an intermittent problem.  It just will not send a text with a picture 100% of the time.  Not having a problem with regular texting.  Can anyone help.  Thanks

    Thank you community!
    Hello dash9,
    The community gave great options.  I know the picture messaging is important to your job.  If the community suggestion did not assist I would like to help.  Are you able to send pictures when you are not in the field?  When you are unable to send a picture are you able to access the internet?  Have you successfully sent a mms in this area before?  Please advise me of this information so I may further assist.  Thank you. 

  • ORA 12514 - Message not found ERROR

    I have just installed Designer 6.0 on Win98 ... I have set my tnsnames.ora and it looks as though I can connect because I can use tnsping but I get the error when trying to connect through Designer ....
    Please help ... the DB is 8i.
    Thanks
    David
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Martin ():
    Hi,
    See http://www.chow1.myweb.nl for "setup instructions"
    HTH
    Martin<HR></BLOCKQUOTE>
    Martin -
    I am trying to run Designer 6.0 to read/update a designer repository that is already setup on another machine. I just need to be able to talk to the Designer machine remotely. Does your setup include that?
    Thanks
    David
    null

  • Why an "ORA-01006: bind variable does not exist" error when no dynamic SQL?

    Hi all,
    While running PL/SQL in SQL Developer 3.2.09, I got the following error after adding a section of code. Note that nothing I'm doing has anything to do with dynamic SQL (which is what 01006 is supposedly about).
    Error report:
    ORA-01006: bind variable does not exist
    01006. 00000 - "bind variable does not exist"
    *Cause:   
    *Action:
    After commenting out the new chunk of code that caused the error, the error persisted.
    After deleting the new code, the error went away.
    What the heck!?!? If you have any ideas, please lay 'em on me.
    Thanks so much,
    Kim
    P.S. It's a few hundred lines of code, so I didn't append it to this post and I don't see how to attach a file.

    Let's review a few facts:
    1. You post a question in the sql developer forum that has no apparent relation to sql developer. You could confirm this by doing the test using sql*plus or some other tool.
    2. You provide NO information about what database you are even using. The only clue is an ORA -xxx message that means SOME version of Oracle is involved.
    3. You provide NO information about what the four digit version of Oracle DB is being used.
    4. You provide NO information about what the code in general or what that specific section of the code is even doing. The code could be doing literally anything that Oracle is capable of doing.
    That's a bit like calling a mechanic you don't know, telling them your car is making a funny noise and asking them what the problem with your car is.
    >
    While running PL/SQL in SQL Developer 3.2.09, I got the following error after adding a section of code. Note that nothing I'm doing has anything to do with dynamic SQL (which is what 01006 is supposedly about).
    Error report:
    ORA-01006: bind variable does not exist
    01006. 00000 - "bind variable does not exist"
    *Cause:
    *Action:
    The error gives no indication of where the error occurred in the code.
    >
    Your first clue that your troubleshooting method is seriously flawed is when you make statements that aren't supported by any evidence at all but appear to be nothing but your opinion.
    Your second clue is when those statements appear to directly contradict what Oracle is telling you.
    I'm talking about these two statements you make; which you state as if they were universal truths
    >
    nothing I'm doing has anything to do with dynamic SQL
    (which is what 01006 is supposedly about).
    >
    If thoe were true then your 'unstated' conclusion appears to be that Oracle is wrong in saying 'bind variable does not exist'
    Sorry - but I would place my money on Oracle.
    I'm sure the above may sound harsh - it is intended to be. My four major rules (there are more) when troubleshooting Oracle problems.
    1. Assume that Oracle is CORRECT when it tells you there is a problem.
    2. Assume that you are WRONG if your opinion conflicts with what Oracle is telling you - see rule #1.
    3. Don't make ANY other assumptions. You can form hypotheses but don't state them as facts until they are proven.
    4. Your 'opinion' is only useful to the extent that it can help you form meaningful hypotheses - see rule #3.
    >
    To reiterate, there is no dynamic SQL in the code.
    >
    To reiterate - if, as you state, that error relates to dynamic SQL and bind variables then it can not be disputed that:
    ORACLE DOESN'T AGREE WITH YOU!
    So let's try it my way and hypothesize that Oracle is correct (see rule #1 above).
    Then by definition this statement by Oracle is correct
    >
    ORA-01006: bind variable does not exist
    >
    And that should immediately raise this question:
    1. where might there be a bind variable that does not exist?
    which leads to a prerequisite question:
    2. where are ALL of the bind variables that might be being used?
    Question #2 is where you need to start your search. Here are at least five possibilities (there are more)
    1. your code - this should be easiest to check and you state that your 'anonymous' block does not have any.
    2. a table trigger - triggers that use the :NEW, :OLD or :PARENT pseudocolumns. Those psuedocolumns are BIND variables and the trigger code that uses them is, by definition, dynamic sql.
    3. a pl/sql package/function/procedure - any of these might be being called from trigger code or a view that is involved in the transaction. Any of these could take a parameter and/or use bind variables and cause your problem if that bind variable does 'not exist'.
    4. a functional index - can also trigger code from #3 above
    5. an audit trigger that logs the audit activity that your user or your code is performing. This code could be trying to use a SYS_CONTEXT environment variable that has not been created and cause a 'bind variable does not exist' error.
    See rule #1 - Oracle is CORRECT. Until you have identified and examined ALL of the code (not just your anonymous block) being executed and ruled it out you should continue with the hypotheses that Oracle is CORRECT.
    In the (extremely) unlikely event that you can show that Oracle is NOT correct you should file a SOR with Oracle.

  • Make List of Values for Required Bind Variables

    In the SQL query for my View Object, I have a bind variable, which I set to "required". In the search form resulting from a View Criteria, a textbox shows up asking the user for the value of that variable. Is there a way to make it a List of Values instead?

    Hi WV,
    Create a transient attribute in your VO that contains the LOV and then set the value of your bind variable to point to this new transient attribute. Also here is another approach
    https://blogs.oracle.com/shay/entry/adf_query_with_parameters_and
    Let us know how it goes.
    -Juan Camilo

  • Problem using inputFile when a file is not required

    I have a page that has a table component with the following fields
    Title - inputText (required)
    File - inputFile (not required)
    File URL - inputText (not required)
    The code for the input File is this:
    <af:inputFile id="OrigReviewAttachmentsFileDoc"
      label="#{bindings.OrigReviewAttachmentsFileDoc.hints.label}"
      visible="#{bindings.OrigReviewItemsStatName.attributeValue == 'New' &amp;&amp; row.bindings.ClsfnCode.attributeValue != null &amp;&amp; row.bindings.ClsfnCode.attributeValue == 'PEND'}"
      valueChangeListener="#{OrigReviewAttachmentsFileDocFileHandlerInTable.uploadFile}"
      binding="#{OrigReviewAttachmentsFileDocFileHandlerInTable.usesUploadIndicator}"
      shortDesc="#{bindings.OrigReviewAttachmentsFileDoc.hints.tooltip}"
      partialTriggers="OrigReviewAttachmentsClsfnCode"/>The problem I am having is that under certain circumstances (like the file is too large) I want the user to enter a File URL instead of actually uploading a file. But when I save the row with the other 2 fields on the screen filled in and not the inputFile I get the error, "Cannot Find the File Specified." Is there any way that I can tell it, that if it doesn't have a path, to not try to upload a file?
    I am using:
    JDeveloper 11.1.1.4.0
    Oracle 11g with OrdSys.OrdDoc column to hold the file.
    Any help would be appreciated,
    Michelle

    I figured out the problem, and it was caused by JHeadstart. I placed a default display value in JHeadstart for the download link. This caused a default values bean to be created by jheadstart and that bean was what was causing my problem. The download link had a display value, but not a valid path. I removed the default value, re-generated the screen and it is totally fixed. I have pretty much decided that it is never a good idea to use a default value in Jheadstart.
    Thanks for your help,
    Michelle

  • Problem with Bind Variable not updatable.

    Hi all,
    I'm using Jdev 11.1.2.3.0. In my VO, I created a Bind Variable and set it NOT UPDATABLE. Then I created a View Criteria with some other Bind Variables.
    I use this View Criteria in a search page, but at runtime I see also an inpunt text for the variable that is set NOT UPDATABLE and I can change its value.
    Of course if I try to change the value and I do the search, I get an error.
    This is the VO source:
    <Variable
    Name="UlssVar"
    Kind="where"
    Type="java.lang.String"
    IsUpdateable="false">
    <TransientExpression><![CDATA[adf.context.current.sessionScope.get('ulss')]]></TransientExpression>
    </Variable>
    Is it a ADF bug?
    Thank in advance.

    Hi,
    try selecting the bind variable and open the Property Inspector, under UI Hints, set the "Display Hint" to hide. This should hide it (No bug for this reason)
    Frank

  • About ora-01006 :bind variable does not exist

    Hi all of you,i have this dynamic sql :
    DECLARE
    v_query clob;
    cpt number;
    begin
    v_query:='
    SELECT
    count(TBA.ANT_ID)
      FROM
    WHERE TBA.ANT_FUT_ID = TFT.FUT_ID
           AND TBA.ANT_KATEGORIE_CODE_ID = TAKCL.ANT_KATEGORIE_CODE_ID(+)
           AND TBA.ANT_KFZ_REIHEN_ID = TKR.KFZ_REIHEN_ID(+)
           AND TBA.ANT_ID = F1.ANT_ANT_ID(+)
           AND TBA.ANT_ID = F2.ANT_ANT_ID(+)
           AND TBA.ANT_ID = F3.ANT_ANT_ID(+)
           AND TBA.ANT_ID = ERS.ers_bdk(+)
           AND TBA.ANT_ID = F1_2.ANT_ANT_ID(+)
           AND TBA.ANT_ID = F2_3.ANT_ANT_ID(+)
           AND TBA.ANT_ID = MFU.MFU_ANT_ID(+)
           AND MFU.MFU_NIETGEOMETRIE_ID = NG.NG_ID(+)
           AND MFU.MFU_MATRIZEN_BEICHNUNG_ID = MZB.MZB_ID(+)
        -- Suchkriterien: --
        --Ersteller
        AND  DECODE( ERS.ers_id, NULL, ''%'', ERS.ers_name ) LIKE DECODE('':1'',NULL,''%'','''')||''''|| :1 ||''''||DECODE('':1'',NULL,''%'','''')
         --Fahrzeug
        AND  DECODE( TKR.NAME, NULL, ''%'', TKR.NAME ) LIKE DECODE('':2'',NULL,''%'','''')||''''|| :2 ||''''|| DECODE('':2'',NULL,''%'','''')
         --BDK
        AND  DECODE( fuege_db.bdk_nummer( TBA.ANT_ID,''.'' ), NULL, ''%%'',
       fuege_db.bdk_nummer( TBA.ANT_ID,''.'' ) )   LIKE ''%''||:3||''%''
        --Technologie
        AND  TBA.ANT_FUT_ID LIKE DECODE('':4'',NULL,''%'','''')||''''|| :4 ||''''||DECODE('':4'',NULL,''%'','''')
         --Art
        AND ((TBA.ANT_WFP_ID is null and 1=DECODE('':5'',NULL,1,1,1) ) or (TBA.ANT_WFP_ID is not null and 2=DECODE('':5'',NULL,2,2,2)))
        --VTA
        AND TBA.ANT_VTA = decode('':6'',1,1,TBA.ANT_VTA)  ';
    execute immediate v_query
    into cpt USING
    'Dominik Hussmann',
    'AU736_Q7_SUV' ,
    'WPS Stahl',
    '0';  
    end ;
    In the execution,i have this error :ora-01006 :bind variable does not exist, after analyzing,i have found that the problem is with parameters :5 and :6 ,i don't understand they have the same syntax
    as bind variables 1,2,3 and 4.
    Than you for any suggestion.

    I hope you do realise that there are 13 bind-variables in your sql, not 6?
    Variables are bound by position. You cannot use the same bind variable twice, they will be 2 distinct bind variables.
    For example, you use :1 three times, so you need to provide three arguments, in this case three times the same value.

  • Bind Variable Peeking Not Working

    Hello,
    I'm having an issue with a query I'm running in a stored proc.
    The BILLING_TRANS_LOG table is partitioned on orig_process_date and when I run the query with literals the plan makes use of the partitions, but when using values from the procedure parameters or bind variables the plan does not use them and takes a long time to return.
      SELECT btl.billing_trans_id 
    FROM compas.billing_trans_log btl, compas.billing_trans_log_alloc btla 
    WHERE
    btl.billing_trans_id = btla.billing_trans_id 
    AND btl.bank_routing_number = '123456789' 
    AND btl.bank_account_number = '222222222''
    --AND btl.orig_process_date BETWEEN '01-sep-2012' AND '07-sep-2012' 
    AND btl.orig_process_date BETWEEN :p_start_date AND :p_stop_date 
    AND btla.total_amount = 214.5;
    Does anyone know what I might do to force bind variable peeking so that the plan uses the partitions every time, or some other approach that would ensure the use of them?
    Thanks,
    Christine

    Dominic,
    Your suggestion of local non prefixed index seems interesting. I have tested it
    create table billing_trans_log
         (billing_trans_id     number
         ,orig_process_date    date
         ,bank_routing_number  number
         ,bank_account_number  number
    PARTITION BY RANGE (orig_process_date)
    PARTITION P_20121201 VALUES LESS THAN (TO_DATE(' 2012-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) ,
    PARTITION P_20121202 VALUES LESS THAN (TO_DATE(' 2012-12-02 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) ,
    PARTITION P_20121203 VALUES LESS THAN (TO_DATE(' 2012-12-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) ,
    PARTITION P_20121204 VALUES LESS THAN (TO_DATE(' 2012-12-04 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) 
    alter table billing_trans_log add constraint PK_BILLING_TRANS_LOG primary key (billing_trans_id);
    create table billing_trans_log_alloc (billing_trans_id number,total_amount number);
    create index IDX_BILLING_TRANS_LOG_ALLOC on billing_trans_log_alloc(billing_trans_id);
    SELECT btl.billing_trans_id
    FROM billing_trans_log btl
      , billing_trans_log_alloc btla
    WHERE
    btl.billing_trans_id = btla.billing_trans_id
    AND btl.bank_routing_number = '123456789'
    AND btl.bank_account_number = '222222222'
    AND btl.orig_process_date BETWEEN to_date('01122012','ddmmyyyy') AND to_date('02122012','ddmmyyyy')
    AND btla.total_amount = 214.5;
    | Id  | Operation                    | Name                        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    |   0 | SELECT STATEMENT             |                             |       |       |     2 (100)|          |       |       |
    |   1 |  NESTED LOOPS                |                             |       |       |            |          |       |       |
    |   2 |   NESTED LOOPS               |                             |     1 |    74 |     2   (0)| 00:00:01 |       |       |
    |   3 |    PARTITION RANGE ITERATOR  |                             |     1 |    48 |     2   (0)| 00:00:01 |     2 |     3 |
    |*  4 |     TABLE ACCESS FULL        | BILLING_TRANS_LOG           |     1 |    48 |     2   (0)| 00:00:01 |     2 |     3 |
    |*  5 |    INDEX RANGE SCAN          | IDX_BILLING_TRANS_LOG_ALLOC |     1 |       |     0   (0)|          |       |       |
    |*  6 |   TABLE ACCESS BY INDEX ROWID| BILLING_TRANS_LOG_ALLOC     |     1 |    26 |     0   (0)|          |       |       |
    Predicate Information (identified by operation id):
       4 - filter(("BTL"."BANK_ROUTING_NUMBER"=123456789 AND "BTL"."BANK_ACCOUNT_NUMBER"=222222222 AND
                  "BTL"."ORIG_PROCESS_DATE"<=TO_DATE(' 2012-12-02 00:00:00', 'syyyy-mm-dd hh24:mi:ss')))
       5 - access("BTL"."BILLING_TRANS_ID"="BTLA"."BILLING_TRANS_ID")
       6 - filter("BTLA"."TOTAL_AMOUNT"=214.5)
    Lets create the suggested local non prefixed index and re-execute the same query again
    create index local_non_prefixed_mho_ind on billing_trans_log (bank_routing_number,bank_account_number) local;
    | Id  | Operation                            | Name                        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    |   0 | SELECT STATEMENT                     |                             |       |       |     1 (100)|          |       |       |
    |   1 |  NESTED LOOPS                        |                             |       |       |            |          |       |       |
    |   2 |   NESTED LOOPS                       |                             |     1 |    74 |     1   (0)| 00:00:01 |       |       |
    |   3 |    PARTITION RANGE ITERATOR          |                             |     1 |    48 |     1   (0)| 00:00:01 |     2 |     3 |
    |*  4 |     TABLE ACCESS BY LOCAL INDEX ROWID| BILLING_TRANS_LOG           |     1 |    48 |     1   (0)| 00:00:01 |     2 |     3 |
    |*  5 |      INDEX RANGE SCAN                | LOCAL_NON_PREFIXED_MHO_IND  |     1 |       |     1   (0)| 00:00:01 |     2 |     3 |
    |*  6 |    INDEX RANGE SCAN                  | IDX_BILLING_TRANS_LOG_ALLOC |     1 |       |     0   (0)|          |       |       |
    |*  7 |   TABLE ACCESS BY INDEX ROWID        | BILLING_TRANS_LOG_ALLOC     |     1 |    26 |     0   (0)|          |       |       |
    Predicate Information (identified by operation id):
       4 - filter("BTL"."ORIG_PROCESS_DATE"<=TO_DATE(' 2012-12-02 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
       5 - access("BTL"."BANK_ROUTING_NUMBER"=123456789 AND "BTL"."BANK_ACCOUNT_NUMBER"=222222222)
       6 - access("BTL"."BILLING_TRANS_ID"="BTLA"."BILLING_TRANS_ID")
       7 - filter("BTLA"."TOTAL_AMOUNT"=214.5)
    It seems to be a  better plan.
    The local non prefixed index is suitable here because the query itself is doing a partition pruning (see this article for details about the attention one should make when creating a local non prefixed index).
    I pushed a little bit the test further and replaced the local non prefixed index by a local prefixed one and re-executed the query again
    drop index local_non_prefixed_mho_ind;
    create index local_prefixed_mho_ind on billing_trans_log
       (orig_process_date, bank_routing_number,bank_account_number) local;
    | Id  | Operation                            | Name                        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    |   0 | SELECT STATEMENT                     |                             |     1 |    74 |     0   (0)| 00:00:01 |       |       |
    |   1 |  NESTED LOOPS                        |                             |       |       |            |          |       |       |
    |   2 |   NESTED LOOPS                       |                             |     1 |    74 |     0   (0)| 00:00:01 |       |       |
    |   3 |    PARTITION RANGE ITERATOR          |                             |     1 |    48 |     0   (0)| 00:00:01 |     2 |     3 |
    |   4 |     TABLE ACCESS BY LOCAL INDEX ROWID| BILLING_TRANS_LOG           |     1 |    48 |     0   (0)| 00:00:01 |     2 |     3 |
    |*  5 |      INDEX RANGE SCAN                | LOCAL_PREFIXED_MHO_IND      |     1 |       |     0   (0)| 00:00:01 |     2 |     3 |
    |*  6 |    INDEX RANGE SCAN                  | IDX_BILLING_TRANS_LOG_ALLOC |     1 |       |     0   (0)| 00:00:01 |       |       |
    |*  7 |   TABLE ACCESS BY INDEX ROWID        | BILLING_TRANS_LOG_ALLOC     |     1 |    26 |     0   (0)| 00:00:01 |       |       |
    Predicate Information (identified by operation id):
       5 - access("BTL"."ORIG_PROCESS_DATE">=TO_DATE(' 2012-12-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
                  "BTL"."BANK_ROUTING_NUMBER"=123456789 AND "BTL"."BANK_ACCOUNT_NUMBER"=222222222 AND "BTL"."ORIG_PROCESS_DATE"<=TO_DATE('
                  2012-12-02 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
           filter("BTL"."BANK_ROUTING_NUMBER"=123456789 AND "BTL"."BANK_ACCOUNT_NUMBER"=222222222)
       6 - access("BTL"."BILLING_TRANS_ID"="BTLA"."BILLING_TRANS_ID")
       7 - filter("BTLA"."TOTAL_AMOUNT"=214.5)
    What I gained here is that there is no filter on the table BILLING_TRANS_LOG. The index became very precise having only an access predicate  
    Of course the test should be conducted under meaningful data volume to have an exact feeling about the new indexes
    Best regards
    Mohamed Houri

Maybe you are looking for

  • PHDs on multiple computers, NHDs on others

    I'd like to set up a system in which each user has one (or perhaps more than one, if possible) computer on which they use a portable home directory, but I'd like to allow them to log in from other people's main machines using their network directory.

  • SQL_FULLTEXT Column of v$sqlarea

    All, What do I need to do so that the full text stored in sql_fulltext column of v$sqlarea is displayed. At the moment, when I run the following sql: select SQL_FULLTEXT from v$sqlarea where sql_id='0n6x4f5kaaymb'; I get the output below: SQL_FULLTEX

  • Updated from 3.6.13 (working menu & rightclick) to 3.6.14 (menus and rightclick do NOT work) how do I fix this?

    I have just updated from firefox 3.6.13 where all functions like menu & rightmouse click work to firefox 3.6.14 where the pulldown menu'seg file just look like pressed(but the shortcut keys still work) AND NO menu is visible, and also the rightmouse

  • Illustrator CS6 has some bugs

    I just got Illustrator and have been watching some tutorials to get me started. Anyway, I've been watching several tutorials on paths and the pen tool. I noticed that whenever I hover my cursor over the anchors, it doesn't say "anchor" or do anything

  • Differences between BW3.5 n version7

    Hi all, can anyone send me the differences(updations) between the 3.5 n 7 versions to the following id:[email protected] regards, Gopinath.