Error: XPath query string returns multiple nodes

Hi all,
I am facing issue with the assign activity.
Error message:
com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure} parts: {{ summary=<summary>*XPath query string returns multiple nodes. The assign activity part and query are returning multiple nodes. The assign activity part and query named in the error message returned multiple nodes. It should return single node. According to BPEL4WS specification 1.1 section 14.3, the assign activity part and query named in the error message should not return multiple nodes. Verify the part and xpath query named in the error message at line number 2005 in the BPEL source*.
BPEL code:
<copy>
<from variable="Invoice_Tax_loopCounter"/>
<to variable="Var_Invoice_Tax_Contacts" part="payload" query="/ns30:Invoice_Tax_Contacts/ns30:Invoice/ns29:Get_InvoiceOutput[bpws:getVariableData'Invoice_Tax_loopCounter')]/ns29:ADDR_ATTRIBUTE2"/>
</copy>
We are using SOA 11.1.1.3 version.
Any pointers on this?
Thanks in advance

Hi-
This is because you are have multiple nodes either in source or target XML.
My guess is some nodes of your XML might be repeating (means a single element/node has multiple values). Can you please check that or please post your XML here.
Edited by: 145678 on Mar 7, 2011 6:28 PM

Similar Messages

  • Human Workflow Task XPath query string returns multiple nodes.

    I am looking for trouble shooting help for this error. I am no sure if it is a server or jdev issue.
    I am running JDev version 10.1.3.3 and console version 10.1.3.1.0 locally.
    General information on the BPEL process:
    I have a temporary table in Oracle lite that I created items to be review by the user. I created a synchronous BPEL process. The first step in developing this process, I created the straight forward invoke the table to get the records, transform the records with a change the approve flag = "Y", and invoke the table to update the records. Works like a charm. I followed the online tutorial by dropping a human task after the transform, configured the parameters, setup the assignments, and moved the invoke to update table under the approved condition. If the table has only one record, the process runs great but if there are two records I get the following error message.
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>XPath query string returns multiple nodes.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity part and query /ns3:TempItemCollection/ns3:TempItem/ns3:ItemNbr should not return multipe nodes.
    Please check the BPEL source at line number "178" and verify the part and xpath query /ns3:TempItemCollection/ns3:TempItem/ns3:ItemNbr.
    </summary>
    </part></selectionFailure>
    =================
    The error occurs in the first assign of the Human task after the assign copies the fields for the title. I underlined line number 178.
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="HumanTask1_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/HumanTask1/HumanTask1.task'))"/>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task">
    <Case xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <CourtDate xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <ErrorMessage xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <ItemName xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <Payment xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <Zip xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <ProcessFlag xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <LastUpdated xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <AddedDate xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <CityAttnyAmount xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <ApprovalFlag xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <ProlawKey xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    <ProcessKey xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </payload>
    </from>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    <copy>
    <from expression="concat(string('Item Fee Approval '), bpws:getVariableData('Invoke_1_Select_RecordsSelect_OutputVariable','TempItemCollection','/ns3:TempItemCollection/ns3:TempItem/ns3:ItemName'))"/>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:title"/>
    </copy>
    <copy>
    <from variable="Invoke_1_Select_RecordsSelect_OutputVariable"
    part="TempItemCollection"
    query="/ns3:TempItemCollection/ns3:TempItem/ns3:ItemNbr"/>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:payload/task:Item"/>
    </copy>
    <copy>
    Thank you for any help you can give me.

    Here is how I solved this problem: I was told by the metalink folks that I should use the same verion of SOA console as jdev. So I went back to jdev 10.1.3.1. Rather than reading from the Oracle lite table, I dumped the table into a flat file. I read flat file and populated the workflow. Remember to set the 'messages in batch' flag in the file adapter to 1 and the number of records to skip to zero in the format builder for the flat file. The process now reads each record and creates an instance for that each record. In other words, if I have 8 records in my flat file, I will have 8 instances of the process running on the console. Thanks Jeremy for your help figuring this out.
    Edited by: user7725126 on Nov 19, 2009 3:56 PM

  • XPath query string returns zero node error

    I have created car loan bpel application. One is Citi Loan and another is Star Loan.
    I have created just like similar to sample loan demo.
    I have entered the SSN, email, carModel, carYear, loanAmount and creditRating value and submitted. It will initiated the following tasks successfully.
    StarLoan Instance
    CitiLoan Instance
    TaskManager Instance
    CreditRating Instance
    Root appln. instance
    I have created one user approval page for Approve/Reject (jsp). Through this page, I have approved the CitiLoan offer. I have faced the following errors.
    <output>
    <part name="payload" >
    <loanOffer>7.4</loanOffer>
    </part>
    </output>
    <loanOffer>7.4</loanOffer>
    <selectionFailure>
    <part name="summary" >
    <summary>XPath query string returns zero node. According to BPEL4WS spec 1.1 section 14.3, The assign activity <to> part query should not return zero node. Please check the BPEL source at line number "90" and verify the <to> part xpath query. </summary>
    </part>
    </selectionFailure>
    Please help me.
    Thanks in advance.
    Regards,
    Sara

    Let us know if you have customized SOA composite for user creation approval?
    -Vamsi.

  • XPath query string returns zero node...

    Hi,
    I try to filling value of node's in "java embedding" activity, but i got Subj. error.
    Text java code is :
    setVariableData("MesAQ_Enqueue_Variable", "Soob", "/ns2:Soob/ns2:CtrlFraseAsProps/ns2:Field[2]/ns2:npp", "12345");
    I know, node with index 2 not exist, but where i can add it, before set value ?
    Thanks
    Evgeniy

    <copy>
    <from expression="ora:addChildNode(bpws:getVariableData(&quot;output&quot;, &quot;payload&quot;, &quot;/tns:bpelResponse/tns:results&quot;), bpws:getVariableData('testResult'))"></from>
    <to variable="output" part="payload" query="/tns:bpelResponse/tns:results"/>
    </copy>
    It adds the object testResult into the array results and then saves the updated array back into results.
    There are tutorials on this that should either come installed with BPEL, or there are also ones on Oracle's site here, if you need to see more complete examples of array usage.

  • Workspace Error executing query: String index out of range: -39

    I am running a Financial Reporting Book.
    When running this book, I am receiving the following error.
    Error executing query: String index out of range: -39
    What does this mean?
    And how do I fix this?
    Thank you,
    Dan

    This is happening to a single Financial Reporting book.
    Oracle suggested changing the Data Query Optimization settings.
    I had checked on Essbase Queries Use MDX on all the reports being called into the book.
    Oracle suggested that I uncheck this box.
    This did not do the trick.
    I ran the reports individually, and they all worked.
    I am stumped.

  • Query is returning multiple records for a bank account id and party id

    Hi All,
    I am not getting why this query is returning multiple records for a particular bank account id and party id:
    SELECT instrument_payment_use_id
    ,instrument_type
    ,instrument_id
    ,start_date
    ,ext_pmt_party_id
    FROM iby_pmt_instr_uses_all
    WHERE instrument_id =:lv_num_ext_bank_account_id
    and exists (select 1 from iby_external_payees_all b where PAYEE_PARTY_ID= :lv_num_party_id and b.ext_payee_id = ext_pmt_party_id)
    I want above values to be used in api iby_disbursement_setup_pub.set_payee_instr_assignment in R12.
    Please help asap.
    Thanks

    O/P of query run for
    SELECT rowid, instrument_payment_use_id
    FROM iby_pmt_instr_uses_all
    WHERE instrument_id =6642
    AND EXISTS (
    SELECT 1
    FROM iby_external_payees_all b
    WHERE payee_party_id= 85470
    AND b.ext_payee_id = ext_pmt_party_id);
    is below:
    Rowid     INSTRUMENT_PAYMENT_USE_ID
    AABiDXAGIAABhiKAAS     236586
    AABiDXAGRAABSjtAAz     148437
    The version is R12

  • Xpath Query to find parent nodes

    My XMl is like this
    <UserAgent1>
    <Name>QTS </Name>
    <NetworkFamily>GSM</NetworkFamily>
    <NetworkSupportedMap>0x06</NetworkSupportedMap>
    </UserAgent1>
    <UserAgent2>
    <Name>QuickTime</Name>
    <NetworkFamily>GSM</NetworkFamily>
    <NetworkSupportedMap>0x06</NetworkSupportedMap>
    </UserAgent2>
    Now if they give a search String like "GSM" without specifying any tag
    Then i use the xpath query
    //*[contains(text(),'GSM')]
    This will give me the child element <NetworkFamily>GSM</NetworkFamily> . .and with this i will find out the parent element which is <UserAgent1> & <UserAgent2>
    IS there any query which will give me directly the Parent Nodes whose childnodes contain the given text ?

    Well, of course there is. But I couldn't remember how so I googled the keywords "xpath parent". The first link that came back suggested
    //*[contains(text(),'GSM')]/..
    and the second suggested the parent axis
    parent::(//*[contains(text(),'GSM')]) or maybe //parent::*[contains(text(),'GSM')]
    So yes, there's several ways. And they were easy to find with Google too.

  • Image Import Error "No query results returned"

    Hi All,
    I have the problem while importing images, several image have not been imported with this error.
    Log:
    Importing [German [DE]] '205865_logo.jpg'...failed.
    Import complete
    Error:
    E:\images\205865\h-jpeg\205865_logo.jpg: No query results returned
    Altogether I have imported 17000 Images. 16998 have been successful and 2 throw this error. Anybody an idea what this means and how to avoid it?
    Best Regards
    Roman
    Edited by: Roman Becker on Mar 8, 2009 1:14 PM

    Hi Roman,
    I assume you import the images to a catalog, dont you?
    Which catalog do you use? MDM or CCM?
    Daniel

  • Updating a table with a query that return multiple values

    Hi,
    I'm trying to update a table which contain these fields : ItemID, InventoryID, total amounts
    with a query that return these values itemId, inventoryid and total amounts for each items
    Mind you, not all the rows in the table need to be updated. only a few.
    This what i wrote but doesn't work since the query return multiple values so i can't assign it to journalAmounts.
    UPDATE [bmssa].[etshortagetemp]
    SET JournalAmounts = (SELECT sum(b.BomQty) FROM [bmssa].[Bom] b
    JOIN [bmssa].[SalesLine] sl ON sl.ItemBomId = b.BomId
    JOIN [bmssa].[SalesTable] st ON st.SalesId = sl.SalesId
    WHERE st.SalesType = 0 AND (st.SalesStatus IN (0,1,8,12,13)) AND st.DataAreaId = 'sdi'
    GROUP BY b.itemid, b.inventdimid)
    Any advise how to do this task?

    Remember that link to the documentation posted above that explains exactly how to do this. When you read it which part exactly were you having trouble with?

  • Query to return multiple rows

    Hi all,
    I've a requirement where in I've to get multiple rows from a query.
    The resultset should be something like this:
    SELECT A
    FROM dual;
    A
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Thanks in anticipation
    RK Raju

    I'm not completely certain I understand the question. Just in case you're asking for something as simple as this ...
    select rownum from all_objects where rownum <= 10;You didn't say what version you were using either (shame on you). You could use a collection or a pipeline depending on your version ...
    create or replace type ttab_number is table of number;
    create or replace function f_collection
        return ttab_number is
        tab_number ttab_number := ttab_number();
    begin
        for i in 1 .. 10 loop
            tab_number.extend;
            tab_number(tab_number.count) := i;
        end loop;
        return tab_number;
    end f_collection;
    select *
    from table(f_collection)
    create or replace function f_pipeline
        return ttab_number
        pipelined is
    begin
        for i in 1 .. 10 loop
            pipe row(i);
        end loop;
        return;
    end f_pipeline;
    show errors
    select *
    from table(f_pipeline)

  • Error single row subquery returns multiple values

    Hi All,
    I have a below query. This is query is throwiing error like single row subquery is returing more than number of records. That subquery is in my SELECT statement query. I have a value like 'tests'. That test contains more than one record. I am fetching that 'tests' child values from this query. If the test contains only one child at that time it is working fine. Can anyone share with how update this query?
    SELECT
        czpn.FEATURE_TYPE,
        czci.PS_NODE_NAME,
        DECODE(czci.VALUE_TYPE_CODE,2,czci.ITEM_VAL,
                                    3, NVL((SELECT
                                             lines_config.PS_NODE_NAME
                                         FROM
                                             CZ_CONFIG_ITEMS lines_config
                                         WHERE
                                             lines_config.PARENT_CONFIG_ITEM_ID = czci.CONFIG_ITEM_ID
                                             AND lines_config.CONFIG_HDR_ID = czci.CONFIG_HDR_ID
                                             AND lines_config.CONFIG_REV_NBR = czci.CONFIG_REV_NBR),
                                        DECODE(czci.ITEM_NUM_VAL,1,'',czci.ITEM_NUM_VAL)),
                                    0,NVL(czci.ITEM_NUM_VAL,'')) NODE_VALUE  
    FROM
        CZ_CONFIG_ITEMS czci,
        CZ_PS_NODES czpn
    WHERE
        czpn.PERSISTENT_NODE_ID = czci.PS_NODE_ID
        AND czci.CONFIG_HDR_ID = 1827349
        AND czci.CONFIG_REV_NBR = 1
        --AND czci.VALUE_TYPE_CODE <> 4
        AND czpn.FEATURE_TYPE IS NOT NULL
        --AND czci.PS_NODE_ID = 356474       
        AND czpn.DEVL_PROJECT_ID = (SELECT MAX(ps_devl1.DEVL_PROJECT_ID) FROM CZ_DEVL_PROJECTS ps_devl1, CZ_PS_NODES ps_devl, CZ_CONFIG_ITEMS ps_config_sub
                                         WHERE (ps_devl.PERSISTENT_NODE_ID = ps_config_sub.PS_NODE_ID
                                         AND ps_config_sub.PARENT_CONFIG_ITEM_ID = (SELECT ps_config_sub1.CONFIG_ITEM_ID FROM CZ_CONFIG_ITEMS ps_config_sub1
                                                                                     WHERE ps_config_sub.CONFIG_HDR_ID = ps_config_sub1.CONFIG_HDR_ID
                                                                                    AND ps_config_sub.CONFIG_REV_NBR = ps_config_sub1.CONFIG_REV_NBR 
                                                                                     AND ps_config_sub1.PS_NODE_NAME = 'ACCESSORIES'))
                                        AND ps_devl1.DEVL_PROJECT_ID = ps_devl.REFERENCE_ID                                                                                 
                                         AND ps_config_sub.CONFIG_HDR_ID = czci.CONFIG_HDR_ID
                                         AND ps_config_sub.CONFIG_REV_NBR = czci.CONFIG_REV_NBR)
        AND czci.PS_NODE_NAME = 'tests'Thanks

    Hello,
    This should work:
    SELECT
        czpn.FEATURE_TYPE,
        czci.PS_NODE_NAME,
        DECODE(czci.VALUE_TYPE_CODE,2,czci.ITEM_VAL,
                                    3, NVL((SELECT
                                             lines_config.PS_NODE_NAME
                                         FROM
                                             CZ_CONFIG_ITEMS lines_config
                                         WHERE
                                             lines_config.PARENT_CONFIG_ITEM_ID = czci.CONFIG_ITEM_ID
                                             AND lines_config.CONFIG_HDR_ID = czci.CONFIG_HDR_ID
                                             AND lines_config.CONFIG_REV_NBR = czci.CONFIG_REV_NBR
                                             AND ROWNUM <= 1),
                                        DECODE(czci.ITEM_NUM_VAL,1,'',czci.ITEM_NUM_VAL)),
                                    0,NVL(czci.ITEM_NUM_VAL,'')) NODE_VALUE  
    FROM
        CZ_CONFIG_ITEMS czci,
        CZ_PS_NODES czpn
    WHERE
        czpn.PERSISTENT_NODE_ID = czci.PS_NODE_ID
        AND czci.CONFIG_HDR_ID = 1827349
        AND czci.CONFIG_REV_NBR = 1
        --AND czci.VALUE_TYPE_CODE  4
        AND czpn.FEATURE_TYPE IS NOT NULL
        --AND czci.PS_NODE_ID = 356474       
        AND czpn.DEVL_PROJECT_ID = (SELECT MAX(ps_devl1.DEVL_PROJECT_ID) FROM CZ_DEVL_PROJECTS ps_devl1, CZ_PS_NODES ps_devl, CZ_CONFIG_ITEMS ps_config_sub
                                         WHERE (ps_devl.PERSISTENT_NODE_ID = ps_config_sub.PS_NODE_ID
                                         AND ps_config_sub.PARENT_CONFIG_ITEM_ID = (SELECT ps_config_sub1.CONFIG_ITEM_ID FROM CZ_CONFIG_ITEMS ps_config_sub1
                                                                                     WHERE ps_config_sub.CONFIG_HDR_ID = ps_config_sub1.CONFIG_HDR_ID
                                                                                    AND ps_config_sub.CONFIG_REV_NBR = ps_config_sub1.CONFIG_REV_NBR 
                                                                                     AND ps_config_sub1.PS_NODE_NAME = 'ACCESSORIES'))
                                        AND ps_devl1.DEVL_PROJECT_ID = ps_devl.REFERENCE_ID                                                                                 
                                         AND ps_config_sub.CONFIG_HDR_ID = czci.CONFIG_HDR_ID
                                         AND ps_config_sub.CONFIG_REV_NBR = czci.CONFIG_REV_NBR)
        AND czci.PS_NODE_NAME = 'tests'Where this is restricting the records returned by your columnar subquery to one record with ROWNUM.

  • Is there a way to use owa_opt_lock.checksum in Select query that returns multiple records?

    Trying to do something as data would be uploaded and edited in grid. At present I am using Ora_Hash.
    SELECT
            e.ROWID, e.Employee_Id,e.First_Name,e.Last_Name,e.Email,e.Phone_Number,e.Hire_Date,
            e.Job_Id,e.Salary,e.Manager_Id,e.Department_Id,
            owa_opt_lock.checksum('HR','EMPLOYEES', e.rowid) As HashForThisRow
    FROM EMPLOYEES e;
    Thx

    No you can't.
    owa_opt_lock.checksum is a function which is used for optimist locking. It locks the row(probably by using Select FOR Update mechanism) which you select and which you are trying to update. As a result, what you are eventually trying to do is that inside a Select query you are using a function that is locking the rows, which is not allowed. And thus your query will fail with the below mentioned error.
    ORA-14551: cannot perform a DML operation inside a query
    ORA-06512: at "SYS.DBMS_SQL", line 1575
    ORA-06512: at "SYS.OWA_OPT_LOCK", line 172
    14551. 00000 -  "cannot perform a DML operation inside a query "
    *Cause:    DML operation like insert, update, delete or select-for-update
               cannot be performed inside a query or under a PDML slave.
    *Action:   Ensure that the offending DML operation is not performed or
               use an autonomous transaction to perform the DML operation within
               the query or PDML slave.
    Thanks,
    Ishan

  • SQL Query to return multiple transactions in a 5 min. period

    I have been asked to write a query that scans a table of financial transactions looking for more than 1 transaction by the same person (EmplID for example) within a 5 minute period. I am not sure if this is possible with SQL. Here are the details:
    Table = MEALTRANSLEDGER
    Relevant Columns:
    "TRANDATE" DATE,
    "EMPLID" NUMBER(9,0)
    I need to select these columns when a particular EmplID has logged more than 1 transaction in a 5 minute period.
    I know I could do this with PL/SQL or Perl by stepping through the rows of the table and calculating date differences, but I would really like to know if SQL could do it.
    Thanks for the help.
    Version Info:
    SQL> select * from v$version where banner like 'Oracle%';
    BANNER
    Oracle Database 10g Release 10.2.0.4.0 - Production

    You can use something along these lines to determine the minutes difference between transactions...
    SQL> ed
    Wrote file afiedt.buf
      1  with t as (select 1 as emplid, to_date('01/01/2010 09:00:00', 'DD/MM/YYYY HH24:MI:SS') as trandate from dual union all
      2             select 1, to_date('01/01/2010 09:10:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      3             select 1, to_date('01/01/2010 09:20:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      4             select 1, to_date('01/01/2010 09:45:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      5             select 1, to_date('01/01/2010 09:51:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      6             select 2, to_date('01/01/2010 09:12:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      7             select 2, to_date('01/01/2010 09:18:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      8             select 2, to_date('01/01/2010 09:22:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      9             select 2, to_date('01/01/2010 09:30:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
    10             select 3, to_date('01/01/2010 09:05:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
    11             select 3, to_date('01/01/2010 10:10:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
    12             select 3, to_date('01/01/2010 11:15:00', 'DD/MM/YYYY HH24:MI:SS') from dual
    13            )
    14  --
    15  select emplid, trandate
    16        ,(trandate-lag(trandate) over (partition by emplid order by trandate)) * (24*60) as mins_diff
    17  from t
    18* order by emplid, trandate
    SQL> /
        EMPLID TRANDATE             MINS_DIFF
             1 01/01/2010 09:00:00
             1 01/01/2010 09:10:00         10
             1 01/01/2010 09:20:00         10
             1 01/01/2010 09:45:00         25
             1 01/01/2010 09:51:00          6
             2 01/01/2010 09:12:00
             2 01/01/2010 09:18:00          6
             2 01/01/2010 09:22:00          4
             2 01/01/2010 09:30:00          8
             3 01/01/2010 09:05:00
             3 01/01/2010 10:10:00         65
             3 01/01/2010 11:15:00         65
    12 rows selected.And then you can wrap that up to just highlight the problem ones...
    SQL> ed
    Wrote file afiedt.buf
      1  with t as (select 1 as emplid, to_date('01/01/2010 09:00:00', 'DD/MM/YYYY HH24:MI:SS') as trandate from dual union all
      2             select 1, to_date('01/01/2010 09:10:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      3             select 1, to_date('01/01/2010 09:20:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      4             select 1, to_date('01/01/2010 09:45:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      5             select 1, to_date('01/01/2010 09:51:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      6             select 2, to_date('01/01/2010 09:12:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      7             select 2, to_date('01/01/2010 09:18:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      8             select 2, to_date('01/01/2010 09:22:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
      9             select 2, to_date('01/01/2010 09:30:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
    10             select 3, to_date('01/01/2010 09:05:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
    11             select 3, to_date('01/01/2010 10:10:00', 'DD/MM/YYYY HH24:MI:SS') from dual union all
    12             select 3, to_date('01/01/2010 11:15:00', 'DD/MM/YYYY HH24:MI:SS') from dual
    13            )
    14  --
    15  select emplid, trandate
    16  from (
    17        select emplid, trandate
    18              ,(trandate-lag(trandate) over (partition by emplid order by trandate)) * (24*60) as mins_diff
    19        from t
    20       )
    21  where mins_diff <= 5
    22* order by emplid, trandate
    SQL> /
        EMPLID TRANDATE
             2 01/01/2010 09:22:00
    SQL>

  • UPDATE statement based on query and return multiple value

    Hi everybody,
    I have two tables: temp3 and temp
    One of them (temp3) should be updated based on the query where clause (id and flag columns).
    I run this query but it updates all of the records in the temp3. I want to update only records with 'UPDATED' flag.
    update temp3 t3
    set (id,name,address) = (select t.id, t.name, t.address from temp t, temp3 t3
    where t.id = t3.id and t.flag = 'UPDATED');
    Does any body know how I can do it?
    I appreciate your help
    Thx

    Hello
    Basically you're missing a where clause on your update statement to restrict rows in t3 to the ones that have a corresponding row in t1.
    SQL> select * from dt_test_t1;
            ID NAME                 ADDRESS              ROW_STATUS
             1 Joseph Bloggs        Some street          UPDATED
             1 Joe Bloggs           Old street           OLD
             2 Fredrick Bloggs      New street           UPDATED
             2 Fred Bloggs          Some street          OLD
             3 Robert Bloggs        Better street        UPDATED
             3 Bob Bloggs           Some street          OLD
           100 Barry Bethel         Some street          UPDATED
           200 Giles Brandreth      Some street          UPDATED
    8 rows selected.
    SQL> select * from dt_test_t3;
            ID NAME                 ADDRESS              ROW_STATUS
             1 Joe Bloggs           Old street
             2 Fred Bloggs          Some street
             3 Bob Bloggs           Some street
             4 Joe Smith            Some street
             5 John Doe             Some street
    --this update as it stands does not work as it updates rows to have
    --null name and address where there is not a proper matching row in
    --t1
    SQL> UPDATE
      2     dt_test_t3 t3
      3  SET
      4     (       t3.name,
      5             t3.address,
      6             t3.row_status
      7     ) = (SELECT
      8             t1.name,
      9             t1.address,
    10             t1.row_status
    11          FROM
    12             dt_test_t1 t1
    13          WHERE
    14             t1.id = t3.id
    15          AND
    16             t1.row_status = 'UPDATED'
    17         );
    5 rows updated.
    SQL> select * from dt_test_t3;
            ID NAME                 ADDRESS              ROW_STATUS
             1 Joseph Bloggs        Some street          UPDATED
             2 Fredrick Bloggs      New street           UPDATED
             3 Robert Bloggs        Better street        UPDATED
    4
    5
    SQL> rollback;
    Rollback complete.
    --Now add in the where clause to make sure we're only updating rows in
    --t3 that have a corresponding row in t1:
    SQL> UPDATE
      2     dt_test_t3 t3
      3  SET
      4     (       t3.name,
      5             t3.address,
      6             t3.row_status
      7     ) = (SELECT
      8             t1.name,
      9             t1.address,
    10             t1.row_status
    11          FROM
    12             dt_test_t1 t1
    13          WHERE
    14             t1.id = t3.id
    15          AND
    16             t1.row_status = 'UPDATED'
    17         )
    18  WHERE
    19     EXISTS( SELECT
    20                     NULL
    21             FROM
    22                     dt_test_t1 t1
    23             WHERE
    24                     t1.id = t3.id
    25             AND
    26                     t1.row_status = 'UPDATED'
    27             );
    3 rows updated.
    SQL> select * from dt_test_t3;
            ID NAME                 ADDRESS              ROW_STATUS
             1 Joseph Bloggs        Some street          UPDATED
             2 Fredrick Bloggs      New street           UPDATED
             3 Robert Bloggs        Better street        UPDATED
             4 Joe Smith            Some street
             5 John Doe             Some streetHTH
    David

  • XPath query error - xml extension in schema

    Hi,
    I am getting following error when i try to assign values to input xml payload before
    invoke process.
    "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.
    <selectionFailure>
    <part name="summary" >
    <summary>XPath query string returns multiple nodes. According to BPEL4WS spec 1.1 section 14.3, The assign activity part and query /child::parameter/child::param1 should not return multipe nodes. Please check the BPEL source at line number "40" and verify the part and xpath query /child::parameter/child::param1. </summary>
    </part>
    </selectionFailure>
    The generated XPath resolves to a single node only (tested using XMLSpy). The only reason i can think of is that the xml schema in wsdl is extending a base xml type to a new type.
    It works fine if the extending xml type is merged with it's base type, and used as one single complex type.
    ------------------WSDL START
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://justdoit.ws.sunflower2.pageone.com" targetNamespace="http://justdoit.ws.sunflower2.pageone.com">
         <types>
              <xs:schema targetNamespace="http://justdoit.ws.sunflower2.pageone.com">
                   <xs:complexType abstract="true" name="BaseObject">
                        <xs:sequence>
                             <xs:element name="param1" nillable="true" type="xs:string"/>
                             <xs:element name="param2" nillable="true" type="xs:string"/>
                        </xs:sequence>
                   </xs:complexType>
                   <xs:complexType name="FooBar">
                        <xs:complexContent>
                             <xs:extension base="tns:BaseObject">
                                  <xs:sequence>
                                       <xs:element name="param3" nillable="true" type="xs:string"/>
                                       <xs:element name="param4" nillable="true" type="xs:string"/>
                                       <xs:element name="param5" nillable="true" type="xs:string"/>
                                       <xs:element name="param6" nillable="true" type="xs:string"/>
                                  </xs:sequence>
                             </xs:extension>
                        </xs:complexContent>
                   </xs:complexType>
              </xs:schema>
         </types>
         <message name="justDoItRequest">
              <part name="parameter" type="tns:FooBar"/>
         </message>
         <message name="justDoItResponse">
              <part name="parameter" type="tns:FooBar"/>
         </message>
         <portType name="justDoItPort">
              <operation name="justDoIt">
                   <input message="tns:justDoItRequest"/>
                   <output message="tns:justDoItResponse"/>
              </operation>
         </portType>
         <binding name="justDoItBinding" type="tns:justDoItPort">
              <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="justDoIt">
                   <soap:operation soapAction="tns:justDoIt"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="justDoItService">
              <port name="NewPort" binding="tns:justDoItBinding">
                   <soap:address location="http://127.0.0.1:8080/axis/services/justDoIt"/>
              </port>
         </service>
    </definitions>
    ------------------WSDL END
    ------------------BPEL START
              <assign name="assign-1">
                   <copy>
                        <from variable="input" part="payload" query="/tns:justDoItRequest/tns:input1"></from>
                        <to variable="req" part="parameter" query="/parameter/param1"/>
                   </copy>
              </assign>
              <invoke name="invoke-1" partnerLink="justDoIt" portType="tns:justDoItPort" operation="justDoIt" inputVariable="req" outputVariable="res"/>
    ------------------BPEL END
    reg,
    Amitoj.

    I am also having the xml extension issue and since we are dealing with large WSDL files (exceed 40,000 lines) it would be ridiculous to move all extension classes to the base type (parent class). Has this bugged been looked at and when can it be resolved since it seems to be a major issue in JDeveloper.
    Chris

Maybe you are looking for

  • How is it possible for Adobe Support to be so bad ?

    I mean really ! For a multi billion dollar company, support is worse than Microsoft ! And that speaks heaps ! I had the worst customer experience throughout the day with people that have no grasp over the english language and moreso, no technical ski

  • Info needed on how to get list price for a given MATNR and pricing Conditio

    Hi All, Can some one help me in finding List price for a given MATNR and pricing condition type. Basically, i need info regarding the tables that i need to use for this purpose. Thanks in advance. Regards, Udaya. PS: All helpful answers will be rewar

  • Open a new window on clicking the CommandButton in JSF

    Hi, I have a page and two <h:form> in that page. The second <h:form> just has a date field and a Submit button. Selecting a date and clicking the CommandButton should open the report in a new window. If no reports found then a msg needs to be display

  • Error In Instance Tab of ESB console

    Hi all, After restarting the SOA server, when i tried opening the 'Instance' Tab i get the following error. An unhandled exception has been thrown in the ESB system. The exception reported is: "java.lang.NullPointerException at oracle.tip.esb.console

  • Xserve Raid - Devicer Removal Error ?!

    Hi ! Can anybody help me ? Whenever I copy some files from my Macintosh HD on my G5 to Xserve Raid 30 seconds after start copy process stops and I get an Device Removal error. I have traid everything and I can't get it right. BTW is my setup ok ? App