Flex + Livecycle + states,  without  workspace

Hi All,
I'm beginning with livecycle Workbench.
I need develope a process in Workbench, but the customer does not want to use the workspace.
There are 3 flex application that they will send data to process management. The Flex application, is outside workspace.
In the process I must have states that hope that the Flex application causes that they follow.
Please, How Can I do it?
How my Flex App talk with the process management (outside Workspace)?
How I would have design the tasks in the workbench?
(I'm beginning)
Thanks very much
María.

Maria,<br /><br />I would recommend taking a look at<br /><br />http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/wwhelp/wwhimpl/js/htm l/wwhelp.htm?&accessible=true<br /><br />Invoking LiveCycle ES Using APIs > Invoking LiveCycle ES Using LiveCycle Remoting<br /><br />There is nothing special about a Flex app calling LiveCycle. It goes something like this:<br /><br />1. You build a long-lived process in Workspace ES. Let's call the process 'FlexToWorkspace'. The process includes an input variable of type 'xml' (or whatever format you prefer) and name it 'vendorData', a SetValue operation to get the input xml, and an Assign Task operation. <br /><br />2. You build a Flex and define a remote object call to the process<br /><br /><mx:RemoteObject id="ro" destination="FlexToWorkspace" <br /> result="handleResult(event)" fault="handleFault(event)"/><br /><br />3. You define a function to bind the data from the Flex form to an string.<br /><br />private function buildXmlStr():String {<br />  var xmlStr:String = "<vendor>"<br />   + "<name>" + vendor.text + "</name>"<br />   + "<city>" + vendorCity.text + "</city>"<br />   ...    <br />   + "</vendor>";<br />  return (xmlStr);<br />}<br /><br />4. You define a function to call buildXmlStr() and invoke the remote object representing the LiveCycle process. Note that invoke binds the variable 'xmlData' to the input variable 'vendorData' defined in the LiveCycle process.<br /><br />private function callLiveCycle():void {<br />  var xmlData:XML = XML(buildXmlStr());<br />  ro.invoke_Async({vendorData:xmlData});<br />}<br /><br />5. You define handlers.<br /><br />private function handleResult(event:ResultEvent):void {<br />  // do something<br />}<br />private function handleFault(event:FaultEvent):void {<br />  var faultObj:Object = event.fault;<br />}<br /><br />Steve

Similar Messages

  • Import Statement without ID Specification

    There is an import statement
    IMPORT tab g_acc_tab FROM MEMORY.
    While UCChecking it.. it saying that
    import statement without id specification is only used for the sake of r/2 ......
    Can i Comment it ? If so won't my application  go into dump while running on 6.0cc???

    It has to do with packages. Most java classes are in a package, the name of which must conform to its place on the filesystem relative to the classpath. By that I mean that if you have com.mystuff.One.java, it must be in a folder com/mystuff where com is located somewhere in the classpath.
    What you've done is a little different. I'm assuming a couple of things:
    1. you have no package declaration at the top of one.java or two.java
    2. you have the current directory "." in your classpath.
    Java has the concept of the "default package", which covers classes without a declared package, and in your case is the current directory.
    So when you're in c:\sourcefolder and run the compiler, then "."="c:\sourcefolder", and that directory is part of the default package. No import statements are necessary for classes that are in the same package. This is why two.java can call methods in one.java without an import statement.
    When you run your jsp, the "current directory" part of your classpath is not c:\sourcefolder, but some other value (probably the directory you start your jsp engine from) You will have to import all non-java-library classes because the jsp itself becomes a java class, with a package that is determined by the jsp engine.

  • PLS-00435: DML statement without BULK In-BIND cannot be used

    My requirement
    I am dynamically creating a staging table my_stg, and then populate it. Seems simple, but not sure why i get this error,
    create table gtest4(myid varchar2(10), mykey varchar2(10));
    create table gtest5(myid varchar2(10), mykey varchar2(10));
    insert into gtest4 values(1,3);
    insert into gtest4 values(2,7);
    insert into gtest5 values(5,3);
    insert into gtest5 values (1,7);
    commit;
    /* Formatted on 2012/01/27 17:52 (Formatter Plus v4.8.8) */
    CREATE OR REPLACE PROCEDURE px
    IS
    TYPE rectype IS RECORD (
    myid VARCHAR2 (100),
    mykey VARCHAR2 (100)
    TYPE tabtype IS TABLE OF rectype
    INDEX BY BINARY_INTEGER;
    rec tabtype;
    cur sys_refcursor;
    BEGIN
    EXECUTE IMMEDIATE 'create table my_stg(myid varchar2(100), mykey varchar2(100)) ';
    OPEN cur FOR 'select a.myid, b.mykey
    from gtest4 a, gtest5 b
    where a.mykey = b.mykey';
    LOOP
    FETCH cur
    BULK COLLECT INTO rec LIMIT 500;
    FORALL i IN 1 .. rec.COUNT
    EXECUTE IMMEDIATE 'insert into my_stg(myid, mykey) values (rec(i).myid,
    rec(i).mykey)';
    EXIT WHEN cur%NOTFOUND;
    END LOOP;
    END;
    I compile the above proc, and get
    PLS-00435: DML statement without BULK In-BIND cannot be used
    the reason I do insert in execute immediate is because the table my_stg does not exist, it is created on the fly

    I tried the below, used plsql table variables instead of record type
    CREATE OR REPLACE PROCEDURE px
    IS
    TYPE rectype IS RECORD (
    myid VARCHAR2 (100),
    mykey VARCHAR2 (100)
    TYPE tabtype1 IS TABLE OF varchar2(100)
    INDEX BY BINARY_INTEGER;
    TYPE tabtype2 IS TABLE OF varchar2(100)
    INDEX BY BINARY_INTEGER;
    rec1 tabtype1;
    rec2 tabtype2;
    cur sys_refcursor;
    BEGIN
    EXECUTE IMMEDIATE 'create table my_stg(myid varchar2(100), mykey varchar2(100)) ';
    OPEN cur FOR 'select a.myid, b.mykey
    from gtest4 a, gtest5 b
    where a.mykey = b.mykey';
    LOOP
    FETCH cur
    BULK COLLECT INTO rec1, rec2 LIMIT 500;
    FORALL i IN 1 .. rec.COUNT
    execute immediate 'insert into my_stg(myid, mykey) values (:1,:2)
    using rec1(i).myid, rec2(i).mykey;
    EXIT WHEN cur%NOTFOUND;
    END LOOP;
    END;
    I get error
    PLS-00103: Encountered the symbol "insert into my_stg(myi
    mykey) values (:1,:2)
    using rec1(i).myi" when expecting one of the following:
    ( - + case mod new not null <an identifier>
    <a double-quoted delimited-identifier> <a bind variable>
    count current exists max min prior sql stddev sum varianc
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal
    Please help

  • MERGE statement without INSERT clause....is possible...?

    Hi everybody...
    MERGE statement without UPDATE or INSERT clause is possible or not
    I want to select from one table and update in another table. So i dont want insert statement and i want to do it in single query....possible solutions are requested.
    Thanks in advance
    pal

    Hi..
    Thanks for ur reply. For MERGE statement, we have to give UPDATE and INSERT clause. this MERGE statement works without INSERT or UPDATE clause.
    Why i am asking is, I want to select how many rows (count(*)) from table1 and based on this count, i have to update in table2
    Both tables r different and for select and for update where clauses are different. Both tables r totally different.
    I want to do it in single query, so i asked this is possible with MERGE statement without INSERT clause.
    Thanks for ur reply

  • A query with respect to Flex 3 States

    Hi ,
    I am new to Flex3. states
    I have started with a sample application , but i couldn't able to understand some of the things in Flex 3 States . Please help .
    This is my sample Application what i am trying :
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application
        xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="absolute"
        currentState="bad">
        <mx:states>
            <mx:State name="bad">
                <mx:SetProperty target="{label1}" name="text" value="Bad Day!"/>
                <mx:SetProperty target="{linkbutton1}" name="label" value="Go Good"/>
                <mx:SetEventHandler target="{linkbutton1}" name="click" handler="this.currentState='vgood'"/>
            </mx:State>
            <mx:State name="vgood" >
                    <mx:SetProperty target="{linkbutton1}"  name="label" value="Go Good"/>
            </mx:State>
        </mx:states>
        <mx:Label
            x="255" y="191"
            text="Good Day !"
            fontWeight="bold"
            fontSize="22" id="label1"/>
        <mx:Button
            x="255" y="98"
            label="Go To Bad Day" 
            click="this.currentState='bad'" id="linkbutton1"/>
    </mx:Application>
    Please see the above code , It is working fine , but i am having some questions related to it .
    Please tell me whether  Is it possible to know under what state the Application is currently in ??
    Thnaks in advance .

    Okay fine , i will do that .
    I am having one more question related to flex 3 states . That is :
    Refering to the above program  posted , in case if i need to change the current state , i am depending on this
                <mx:SetEventHandler target="{linkbutton1}" name="click" handler="this.currentState='vgood'"/>
    Is it not possible to achive the above requirement using <mx:Property>
                <mx:SetProperty target="{linkbutton1}" name="label" value="Go Good" handler="this.currentState='vgood'"/>
    (I have tried with  this , but its not working , the mx:property is not accepting the handler attribute ) )
    seems Flex learning curve is so big .

  • Retrieve Crystal SQL statements without first submitting parameter values?

    Hi,
    I am retrieving SQL statements for Crystal reports without issue, but a large number of our reports have parameters and for these the following error is thrown when I try to retrieve the SQL statement via RAS using getSQLStatement():
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Missing parameter values.---- Error code:-2147217394 Error code name:missingParameterValueError
    I have a large number of reports I'd like to pull SQL for, so it's not feasible to have my script push parameter values to each and every report.  Is there a way to retrieve SQL statements without first pushing parameter values?
    Thanks

    Hello Jeremy.
    I found a Knowledge Base article that deals with the "Error code:-2147217394 Error code name:missingParameterValueError" error that you mention.  Perhaps you could take a look at the following KBase Article in the Service MarketPlace and see if any of it applies to your situation:
    KBase number: 1420593
    I also found KBase number "1420501 - Report parameters ignored when set by Java post processing code" that seems to deal with the same problem.
    Regards.
    - Robert

  • Moving to another state without computer. how do I take itunes with me?

    Im moving to another state without my computer. How can I take my itunes library with me for when I eventually get a new computer?

    Copy your iTunes folder to a USB flash drive if it will fit, otherwise to a portable flash drive.  When you get a computer, copy the folder in.

  • How I can use my galaxy II only for camera and wifi while I am traveling out of states without any extra charge?

    How I can use my galaxy II only for camera and  while I am traveling out of states without any extra charge?

    i think you can put the device in airplane mode then selectively turn on wifi...
    before you travel you could try this and check your cellular usage on the settings ! mobile data display. you might be able to turn mobile data / cellular radio off that way as well.

  • What containers do we need to use when working Flex 3 States

    Hi ,
    My question is , when mx:states is defined in  any other container , other than mx:Aplication , it is showing an Compile ime Error.
    Please check my code and let me know , whats the problem is :
    I am working with Flex 3 States . This is  my sample Program , which is working absolutely fine :
    As you can see that the states are defined under the Application container .
    <mx:Application
        xmlns:mx="http://www.adobe.com/2006/mxml"
        currentState="bad">
        <mx:states>
            <mx:State name="bad">
                <mx:SetProperty target="{label1}" name="text" value="Bad Day!"/>
                <mx:SetProperty target="{linkbutton1}" name="label" value="Go Good"/>
            </mx:State>
            <mx:State name="vgood" >
                    <mx:SetProperty target="{linkbutton1}"  name="label" value="Go Good"/>
            </mx:State>
        </mx:states>
    The code which is not working is below :
    Here i am putting states defination under the <mx:Form> Container .
    Basically i want to show one state whne displaying the Form so i tried as <mx:Form currentState='bad'>
    please let me know why this is wrong
    <mx:Form>
        <mx:states>
            <mx:State name="bad">
                <mx:SetProperty target="{label1}" name="text" value="Bad Day!"/>
                <mx:SetProperty target="{linkbutton1}" name="label" value="Go Good"/>
            </mx:State>
            <mx:State name="vgood" >
                    <mx:SetProperty target="{linkbutton1}"  name="label" value="Go Good"/>
            </mx:State>
        </mx:states>
    <mx:Form>
    Please tell me why this isn't possible ??

    Hi Kiran,
    From Flex Docs it says You can use the State class in the states property of Flex components. You can only specify a states property at the root of an application or a custom control, not on child controls.
    So you cannot use in any other child containers....So states are defined for the component and not the sub containers or sub components..
    Thanks,
    Bhasker Chari

  • Regarding "Dropping call state without timer" error

    Hi,
    I am using WLSS-3.1-MP1 on Solaris 10 in a clustered environment.
    I see following error in engine tier console log.
    *[1259525001295] [CallState] : Dropping call state without timer: [email protected]*
    First and last string varies with each error.
    Any idea what this error is for ? Didn't find anything in documentation about this.
    Thanks,
    KeDar

    Thanks for your reply, Anurag !!
    There isn't any known communication issue between engine and data tiers.
    None of the Engine Tier JVMs was shut down.
    If I want to look further into the possibility of "Engine tier un-responsive for long time", would you please give any details as whats considered as long time etc..
    In console log, I don't see anything else around this message, thats related to the error.
    A quick search in engine's server log files also didn't give any info.
    Also, can I safely assume that this error won't cause any trouble if another engine tier instance picks up the call ?
    Thanks again,
    KeDar
    Edited by: kedar.ambekar on Feb 19, 2010 1:05 PM

  • Integrating a Flex + LiveCycle Data Services 2.5 app in the Workspace UI

    Hi,
    We're building a crud app that needs to be integrated in a customised workspace UI application.
    I'm thinking of adding a Tab and having a moduleloader pull a Flex SWF module in that's compiled with the data-management-config.xml and context info of a LCDS root on the same server.
    Anyone here opinions or experience with this strategy or recommends another approach?
    cheers & thanks in advance,
    Jan

    Hi Bushra,
    May I suggest that you pose your question on the Adobe AIR Forum? As there are people monitoring the AIR forum with that particular expertise, it would seem to be the more appropriate venue.
    Thanks,
    Kim

  • Saving LiveCycle PDF without opening the PDF

    One of our legacy web sites still uses LiveCycle 7.1 to generate and serve up PDFs to our end users. Instead of displaying the PDF, we would like to let the end user click a button on our site to pop up a file save dialog so that they can save the generated PDF directly to their local drive without opening/displaying the PDF in Reader.
    Is this possible, and if so, how?
    Thanks!
    BTW - We are planning to retire this website in the next year or so and have no plans to upgrade or continue using LiveCycle once this functionality is migrated to our newer site.

    I have a script that I am trying to cobble together, but I am stuck at attempting to execute an SQL query against and ADO connection. My code is as follows:Powershell $FQDNUpper = $Computer.ToUpper() + ".domain.dn1.dn2" $FQDNLower = $Computer.ToLower() + ".domain.dn1.dn2" $shell = New-Object -ComObject "Wscript.Shell" # for use later in script $cnn = New-Object -ComObject "ADODB.Connection" $cnn.ConnectionString = "Connection_String" $cnn.Open() $queryUpper = "SELECT CAST(ID AS nvarchar(50)) ID FROM Machine WHERE Name=$FQDNUpper AND Role = 0" $rs = $cnn.Execute($queryUpper,' ',1) #If statement that will qualify if $FQDNUpper returned anything else try $FQDNLowerWhen executing the code I receive an error:
    PowershellArgument: '2' should be a System.Management.Automation.PSReference. Use [ref].At line:9 char:5+ $rs = $cnn.Execute(...

  • Error # 1014 verifyError - flex application in Livcycle Workspace

    Hi All
    I have created a flex application using Flex SDK 3.4.1 to be incorporated in Adobe LiveCycle ES 2. My flex application is working fine, but when I lunch the flex application inside the Adobe LiveCycle Workspace, I got Error # 1014 VerifyError and the cause of this error is  the use of flashx.textLayout.elements.TextFlow libaray.
    Any help is really appriciated.
    Best regards
    Khaled

    That explains it then. This example requires the ContentElement, which is only present in FlashPlayer 10 and later. The example should require that -- when the project is set up, it can specify the minimum Player version it requires. Then if you try to run it on an earlier Player you get a warning that the SWF can't load on this Player, and it tells the user what version number is required. Try installing FP10, and it should work.

  • Using Refcursor in Callable Statement without using the Oracle Drivers

    Hello all,
    Is there anyway to have a stored procedure (Oracle 8i) return a refcursor to my CallableStatement without using the Oracle Thin drivers (i'm now using jdbcodbc). I've tried registering my out parameter with every possible type i can think of...REF, JAVA_OBJECT, OTHER, etc. but with no luck.
    Help!!!!

    Certainly...I connect to the database using the
    jdbcodbc driver and when i execute any of the code, i
    get the following error:
    java.sql.SQLException: [Oracle][ODBC][Ora]ORA-06550:
    line 1, column 7:
    PLS-00306: wrong number or types of arguments in call
    to 'PVISUAL_GET'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    It's bombing on the line that i attempt to register
    OracleTypes.CURSOR. It works fine when i use the
    oracle thin drivers, but i want to get this puppy
    working with the JdbcOdbcDriver. Here's the code:
    CallableStatement dbCall =
    nt dbCall =
    (CallableStatement)connection.prepareCall("{ call
    PAK_VISUAL_GET.pvisual_get(?, ?, ?, ?, ?, ?) }");
    dbCall.setString(1, sessionKey);
    dbCall.setInt(2,
    l.setInt(2, Integer.parseInt(storedVizID));
    dbCall.registerOutParameter(3,
    arameter(3, OracleTypes.CURSOR);
    dbCall.registerOutParameter(4,
    arameter(4, OracleTypes.NUMBER);
    dbCall.registerOutParameter(5,
    arameter(5, OracleTypes.VARCHAR);
    dbCall.registerOutParameter(6,
    arameter(6, OracleTypes.NUMBER);
    dbCall.execute();when you don't use oracle thin driver, you cannot use the OracleTypes. but, instead use the java.sql.Types values.Replace dbCall.registerOutParameter(3, OracleTypes.CURSOR); with
    dbCall.registerOutParameter(3,java.sql.Types.OTHER). things should be fine.
    Ganesh

  • Trying to tune a statement without success.

    Dear all,
    I got this statement in production:
    SELECT a.ID, a.order_date, b.NAME, a.customer_total_price, a.department_name,
    a.gilboa_no, a.currency_id
    FROM orders a, order_statuses b
    WHERE a.is_local = 0
    AND a.order_date > TRUNC (SYSDATE, 'YEAR')
    AND a.status_id = b.ID
    -- AND a.status_id IN (7, 43, 62)
    it runs very fast, see execution plan:
    SELECT STATEMENT, GOAL = CHOOSE                         
    NESTED LOOPS                         
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDERS               
    INDEX RANGE SCAN     Object owner=D90STORYSERVER     Object name=IDX_DEPT_ID_ORDER_DATE               
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDER_STATUSES               
    INDEX UNIQUE SCAN     Object owner=D90STORYSERVER     Object name=STATUS_PK               
    When I unremark the last AND condition, it became extremly slow:
    SELECT a.ID, a.order_date, b.NAME, a.customer_total_price, a.department_name,
    a.gilboa_no, a.currency_id
    FROM orders a, order_statuses b
    WHERE a.is_local = 0
    AND a.order_date > TRUNC (SYSDATE, 'YEAR')
    AND a.status_id = b.ID
    AND a.status_id IN (7, 43, 62)
    execution plan:
    SELECT STATEMENT, GOAL = CHOOSE                         
    CONCATENATION                         
    NESTED LOOPS                         
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDERS               
    INDEX RANGE SCAN     Object owner=D90STORYSERVER     Object name=ORDER_1_STATUS_FK_I_1               
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDER_STATUSES               
    INDEX UNIQUE SCAN     Object owner=D90STORYSERVER     Object name=STATUS_PK               
    NESTED LOOPS                         
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDERS               
    INDEX RANGE SCAN     Object owner=D90STORYSERVER     Object name=ORDER_1_STATUS_FK_I_1               
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDER_STATUSES               
    INDEX UNIQUE SCAN     Object owner=D90STORYSERVER     Object name=STATUS_PK               
    NESTED LOOPS                         
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDERS               
    INDEX RANGE SCAN     Object owner=D90STORYSERVER     Object name=ORDER_1_STATUS_FK_I_1               
    TABLE ACCESS BY INDEX ROWID     Object owner=D90STORYSERVER     Object name=ORDER_STATUSES               
    INDEX UNIQUE SCAN     Object owner=D90STORYSERVER     Object name=STATUS_PK     
    THE field a.status_id is an INDEX.
    Appriciate a lot yuor help!!!!!

    Here is how I see your 2 queries:
    Query 1:
    SELECT a.ID, a.order_date, b.NAME,
    FROM orders a, order_statuses b
    WHERE a.is_local = 0
    AND a.order_date > TRUNC (SYSDATE, 'YEAR')
    AND a.status_id = b.ID
    SELECT STATEMENT, GOAL = CHOOSE                         
    NESTED LOOPS                         
    TABLE ACCESS BY INDEX ROWID     Object Object name=ORDERS
    INDEX RANGE SCAN     Object name=IDX_DEPT_ID_ORDER_DATE
    TABLE ACCESS BY INDEX ROWID     Object Object name=ORDER_STATUSES
    INDEX UNIQUE SCAN     Object Object name=STATUS_PKPresuming that the first index access listed is done first, then it is using an index on the order date on ORDERS, and then joining out to ORDER_STATUSES using its primary key index for each matching row.
    Query 2:
    >
    SELECT a.ID, a.order_date, b.NAME,
    FROM orders a, order_statuses b
    WHERE a.is_local = 0
    AND a.order_date > TRUNC (SYSDATE, 'YEAR')
    AND a.status_id = b.ID
    AND a.status_id IN (7, 43, 62)
    SELECT STATEMENT, GOAL = CHOOSE
    CONCATENATION
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID Object name=ORDERS
    INDEX RANGE SCAN Object name=ORDER_1_STATUS_FK_I_1
    TABLE ACCESS BY INDEX ROWID Object name=ORDER_STATUSES
    INDEX UNIQUE SCAN Object name=STATUS_PK
    [Above NESTED LOOP repeated another 2 times]Again, presuming the first index access is done first, then it is applying the Status ID constraint using the ORDER_1_STATUS_FK_I_1 index, and then joining out to ORDER_STATUSES using its primary key index.
    My guess is that there are many rows matching these 3 status id values i.e. not just 3 rows, but many hundreds or thousands of rows. And I am also guessing that fewer rows match the date constraint than match the status id values - probably tens of rows with the right dates versus thousands of rows with the right status ids. You can verify this by counting how many rows match each condition:
    SELECT count (*) FROM orders a WHERE a.order_date > TRUNC (SYSDATE, 'YEAR')
    SELECT count (*) FROM orders a WHERE a.status_id IN (7, 43, 62)
    I am guessing that the second SELECT will retrieve many more rows than the first.
    In the first query the date constraint was applied using an index BEFORE the data row in the table was accessed. In the second query the date constraint is applied AFTER the data row in the table has been accessed i.e. Oracle has to read the data row in the table to get the date value to check if it matches the constraint in the WHERE clause.
    So the first query uses an index on date, which is quite compact, quickly identifies any matching rows, and then ONLY retrieves the matching rows from the table.
    The second query uses an index on status id, has to go to the table to retrieve many hundreds or thousands of matching rows, to then reject them because their date value does not match the constraint. This second query is doing a lot more disk I/O than the first one, if my guess about the data distributions and matching rows is correct.
    Why is Oracle doing this? Probably because it considers an '=' constraint to be more restrictive (will match fewer rows) than a '>' constraint (an open ended number of rows may match). Without full statistics or a histogram of data distribution, Oracle believes that using the index on status_id is BETTER than using the index on order_date. It may be wrong, but Oracle doesn't know this before it runs the query. It can only use the information available to it at the time of parsing the query. And this makes it think that the status_id index should be better than the order_date index.
    You don't mention which version of Oracle you are using. This will affect how many statistics it can collect, and how well the optimiser uses them when parsing SQL. 10g collects more statistics and tries to use them better.
    The solution? Create a composite index on (status_id, order_date, is_local). Query 1 will still execute using the original order_date index. Query 2 should now prefer this new index as it has BOTH status_id and order_date in it. Oracle can now test the rows using the data in the index WITHOUT retrieving the data rows from the table. This will drastically reduce the amount of disk I/O being done and improve performance. Only the matching data rows will be retrieved from the table, having already matched all 3 major constraints. Furthermore, because the index is ordered, all the relevant matching rows will be in the same index blocks when retrieved - which is one of the main benefits of an index: row density within the index and packing.
    John

Maybe you are looking for

  • J2re-1_4_1_01-windows-i586.exe  Microsoft Visual C++ Runtime Library Runtim

    I am using Netscape 6.2.1, Windows 98 I download Java(TM) 2 Runtime Environment, Standard Edition 1.4.1_01 * Download j2re-1_4_1_01-windows-i586.exe . Filesize = 8,015,928 bytes. When I looked in the directory the file was listed as j2re-1_4_1_01-win

  • My mac book keeps dropping the WEP password

    My mac book keeps dropping the WEP password. I have  a netgear wireless router and all other computers are running fine on the network just the macbook seems to be dropping the WEP. any thoughts?

  • API to update ASL attribute source document in 11.5.10.1

    Hi All, We are trying to update the ASL attribute source document, programmatically. Can you please tell us, which API will be used to do so or any other alternatives? Thanks & Regards, Gowri

  • Address Book database is locked?

    Hello, I'm having a constant problem when trying to sync (using MySync): the sync services engine says that mingling failed and looking at the log I see: <pre> 2006-06-21 09:09:59.357 SyncServer[216] NSGenericException: error 5 executing 'pragma sync

  • Printing Word document from Mac

    When I print a word document I created, apostrophes are printing as some strange character that looks like a small 1 with an apostrophe above it. Any ideas how I can stop this?