Using variables in DB Adapter's Execute Pure SQL option

Hi everyone,
Typically if i wanted to declare a variable in a SQL query in a DB Adapter I would use the # character, however, I have the need to reference the same variable multiple times in the query but for every parameter found in the query (regardless if it has the same name) a corresponding XML element is created in the resulting XSD. So, for example, if I have three #project_id variables in the query, there will be three project id elements in the XSD when I really only want one. Modifying the XSD to only define one doesn't work either, it will throw a runtime exception because it's looking for the other IN parameters. How can this be done?
I'm using JDeveloper 11.1.1.7.
Thanks,
Bill

Hi,
I don't think that is possible (although stand to be corrected). The best is to modify your query using JOINs in such a way that only one parameter is exposed or assign multiple parameters.
There's query-database function also described here that you may want to follow.
Regards,
Neeraj Sehgal

Similar Messages

  • Database Adapter Configuration Execute Pure SQL

    Hii
    I have following scenario in my Project.
    I have ERRORCODE Details Table in Database which has following columns.
    1)ERRORCODE VARCHAR2
    2)PRIORITY VARCHAR2
    3)QueueName Varchar2
    I have one web service which takes errorcode as input parameter of string type in which i have to pass values like 1,2,3.
    Web service treated these values as complete one string value but i want it should be treated like seperately.Beacuse i have to pass these values to the query.
    I have configured database adapter for the following query using Execute Pure SQL.
    SELECT DISTINCT QueueName FROM ErrorCodeDetails where priority= (select min (priority) from ErrorCodeDetails where ErrorCode In(#ERRORCODE))
    So can anyone please help me what changes i have to make in this query so the sql query treat the errorcode string value as three different value rather than one single value??
    Thanks in advance.
    Regards,
    Priyanka

    Change the query like this.
    SELECT DISTINCT QueueName FROM ErrorCodeDetails where priority= (select min (priority) from ErrorCodeDetails where ErrorCode In(select csv from xmltable(#ERRORCODE)))
    In case it is required to treat the individual comma separated values in #ERRORCODE as number use the to_number function.
    SELECT DISTINCT QueueName FROM ErrorCodeDetails where priority= (select min (priority) from ErrorCodeDetails where ErrorCode In(select to_number(csv) from xmltable(#ERRORCODE)))
    In case this helps , please mark the answer as correct/helpful.
    Regards.

  • DB Adapter Pure Sql Option urgent

    Hi All,
    I have query like this .
    select
    supp.segment1 supplier_number,
    supp.vendor_name supplier_name,
    ph.segment1 po_number,
    ph.org_id,
    ph.creation_date po_date,
    pl.line_num po_line_number,
    pl.unit_price,
    pl.quantity line_quantity,
    pl.line_type,
    pl.item_number,
    pl.item_description,
    pl.UNIT_MEAS_LOOKUP_CODE UOM,
    pll.shipment_num po_shipment_number,
    pll.shipment_type,
    pll.ship_to_organization_code,
    pll.ship_to_location_code,
    pll.quantity shipment_quantity,
    pll.QUANTITY_ACCEPTED shipment_quantity_accepted,
    pll.QUANTITY_BILLED shipment_quantity_billed,
    pll.QUANTITY_CANCELLED shipment_quantity_cancelled,
    pll.QUANTITY_RECEIVED shipment_quantity_received,
    pll.QUANTITY_REJECTED shipment_quantity_rejected,
    pll.need_by_date,
    nvl(pll.inspection_required_flag,'N'), -- if its Yes then ites 4 Way Matching
    nvl(pll.receipt_required_flag,'N'), -- If Its Yes then its 3 Way Matching
    decode(nvl(pll.inspection_required_flag,'N'),'Y','4 WAY MATCHING',
    decode(nvl(pll.receipt_required_flag,'N'),'Y','3 WAY MATCHING', '2 WAY MATCHING'))
    matching_type,
    pll.qty_rcv_tolerance,
    pll.qty_rcv_exception_code,
    pll.category item_category,
    decode(pll.match_option,'P','Purchase Order','Receipt') Invoice_matching_option,
    pll.AMOUNT_RECEIVED shipment_amount_received,
    pll.AMOUNT_BILLED shipment_amount_billed,
    pll.amount_cancelled shipment_amount_cancelled,
    pll.amount_accepted shipment_amount_accepted,
    pll.amount_rejected shipment_amount_rejected,
    pd.distribution_num po_distribution_number,
    pd.amount_billed dist_amount_billed,
    pd.destination_context dist_destination,
    pd.DESTINATION_SUBINVENTORY,
    pd.quantity_ordered dist_quantity_ordered,
    pd.quantity_delivered dist_quantity_delivered,
    pd.quantity_cancelled dist_quantity_cancelled,
    pd.quantity_billed dist_quantity_billed,
    pd.amount_ordered dist_amount_ordered,
    pd.amount_delivered dist_amount_delivered,
    pd.amount_cancelled dist_amount_cancelled
    from
    po_headers_v ph,
    po_lines_v pl,
    po_line_locations_v pll,
    po_distributions_v pd,
    ap_suppliers supp,
    ap_supplier_sites_all supp_site
    where
    ph.authorization_status = 'APPROVED' -- Po Must be Approved
    and ph.po_header_id = pl.po_header_id
    and ph.closed_code = 'OPEN' --PO is still Open
    and pl.po_line_id = pll.po_line_id
    and pll.line_location_id = pd.line_location_id
    and ph.vendor_id = supp.vendor_id
    and ph.vendor_site_id = supp_site.vendor_site_id
    and pl.cancel_flag = 'N' --PO Line is not Cancelled
    and pl.closed_flag = 'N' --PO Line is Still Open
    and pll.approved_flag = 'Y' --Shipment is Approved
    and nvl(pll.cancel_flag,'N') = 'N' --Shipment is not cancelled
    and pll.closed_code = 'OPEN' --Shipment is still Open
    Iam trying to use pure sql option , i have pasted the modified query in this way below >
    select
    supp.segment1 supplier_number,
    supp.vendor_name supplier_name,
    ph.segment1 po_number,
    ph.org_id,
    ph.creation_date po_date,
    pl.line_num po_line_number,
    pl.unit_price,
    pl.quantity line_quantity,
    pl.line_type,
    pl.item_number,
    pl.item_description,
    pl.UNIT_MEAS_LOOKUP_CODE UOM,
    pll.shipment_num po_shipment_number,
    pll.shipment_type,
    pll.ship_to_organization_code,
    pll.ship_to_location_code,
    pll.quantity shipment_quantity,
    pll.QUANTITY_ACCEPTED shipment_quantity_accepted,
    pll.QUANTITY_BILLED shipment_quantity_billed,
    pll.QUANTITY_CANCELLED shipment_quantity_cancelled,
    pll.QUANTITY_RECEIVED shipment_quantity_received,
    pll.QUANTITY_REJECTED shipment_quantity_rejected,
    pll.need_by_date,
    nvl(pll.inspection_required_flag,'N'), -- if its Yes then ites 4 Way Matching
    nvl(pll.receipt_required_flag,'N'), -- If Its Yes then its 3 Way Matching
    decode(nvl(pll.inspection_required_flag,'N'),'Y','4 WAY MATCHING',
    decode(nvl(pll.receipt_required_flag,'N'),'Y','3 WAY MATCHING', '2 WAY MATCHING'))
    matching_type,
    pll.qty_rcv_tolerance,
    pll.qty_rcv_exception_code,
    pll.category item_category,
    decode(pll.match_option,'P','Purchase Order','Receipt') Invoice_matching_option,
    pll.AMOUNT_RECEIVED shipment_amount_received,
    pll.AMOUNT_BILLED shipment_amount_billed,
    pll.amount_cancelled shipment_amount_cancelled,
    pll.amount_accepted shipment_amount_accepted,
    pll.amount_rejected shipment_amount_rejected,
    pd.distribution_num po_distribution_number,
    pd.amount_billed dist_amount_billed,
    pd.destination_context dist_destination,
    pd.DESTINATION_SUBINVENTORY,
    pd.quantity_ordered dist_quantity_ordered,
    pd.quantity_delivered dist_quantity_delivered,
    pd.quantity_cancelled dist_quantity_cancelled,
    pd.quantity_billed dist_quantity_billed,
    pd.amount_ordered dist_amount_ordered,
    pd.amount_delivered dist_amount_delivered,
    pd.amount_cancelled dist_amount_cancelled
    from
    po_headers_v ph,
    po_lines_v pl,
    po_line_locations_v pll,
    po_distributions_v pd,
    ap_suppliers supp,
    ap_supplier_sites_all supp_site
    where
    ph.authorization_status = 'APPROVED'
    and ph.po_header_id = ?
    and ph.closed_code = 'OPEN'
    and pl.po_line_id = ?
    and pll.line_location_id = ?
    and ph.vendor_id = ?
    and ph.vendor_site_id = ?
    and pl.cancel_flag = 'N'
    and pl.closed_flag = 'N'
    and pll.approved_flag = 'Y'
    and nvl(pll.cancel_flag,'N') = 'N'
    and pll.closed_code = 'OPEN'
    My Question is : The Pasted modified query is correct ???, and this type of below
    nvl(pll.inspection_required_flag,'N'), -- if its Yes then ites 4 Way Matching
    nvl(pll.receipt_required_flag,'N'), -- If Its Yes then its 3 Way Matching
    decode(nvl(pll.inspection_required_flag,'N')
    Is Allowed ???????
    Edited by: anantwag on Apr 11, 2011 3:01 AM

    yeah , i was getting some error for that "--" but then i changed the query and now it does not have "---"
    But i have a question here the xsd generated is like this ...
    and query contains nvl(pll.cancel_flag,'N') which in xsd looks like below.
    <xs:element name="nvl" type="xs:string" nillable="true"/>
    <xs:element name="nvl" type="xs:string" nillable="true"/>
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/DBSelect" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/DBSelect" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="DBSelectInput" type="DBSelectInput"/>
    <xs:complexType name="DBSelectInput">
    <xs:sequence>
    <xs:element name="arg1" type="xs:string" nillable="true"/>
    <xs:element name="arg2" type="xs:string" nillable="true"/>
    <xs:element name="arg3" type="xs:string" nillable="true"/>
    <xs:element name="arg4" type="xs:string" nillable="true"/>
    <xs:element name="arg5" type="xs:string" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="DBSelectOutputCollection" type="DBSelectOutputCollection"/>
    <xs:complexType name="DBSelectOutputCollection">
    <xs:sequence>
    <xs:element name="DBSelectOutput" type="DBSelectOutput" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DBSelectOutput">
    <xs:sequence>
    <xs:element name="supplier_number" type="xs:string" nillable="true"/>
    <xs:element name="supplier_name" type="xs:string" nillable="true"/>
    <xs:element name="po_number" type="xs:string" nillable="true"/>
    <xs:element name="ph_org_id" type="xs:string" nillable="true"/>
    <xs:element name="po_date" type="xs:string" nillable="true"/>
    <xs:element name="po_line_number" type="xs:string" nillable="true"/>
    <xs:element name="pl_unit_price" type="xs:string" nillable="true"/>
    <xs:element name="line_quantity" type="xs:string" nillable="true"/>
    <xs:element name="pl_line_type" type="xs:string" nillable="true"/>
    <xs:element name="pl_item_number" type="xs:string" nillable="true"/>
    <xs:element name="pl_item_description" type="xs:string" nillable="true"/>
    <xs:element name="UOM" type="xs:string" nillable="true"/>
    <xs:element name="po_shipment_number" type="xs:string" nillable="true"/>
    <xs:element name="pll_shipment_type" type="xs:string" nillable="true"/>
    <xs:element name="pll_ship_to_organization_code" type="xs:string" nillable="true"/>
    <xs:element name="pll_ship_to_location_code" type="xs:string" nillable="true"/>
    <xs:element name="shipment_quantity" type="xs:string" nillable="true"/>
    <xs:element name="shipment_quantity_accepted" type="xs:string" nillable="true"/>
    <xs:element name="shipment_quantity_billed" type="xs:string" nillable="true"/>
    <xs:element name="shipment_quantity_cancelled" type="xs:string" nillable="true"/>
    <xs:element name="shipment_quantity_received" type="xs:string" nillable="true"/>
    <xs:element name="shipment_quantity_rejected" type="xs:string" nillable="true"/>
    <xs:element name="pll_need_by_date" type="xs:string" nillable="true"/>
    <xs:element name="nvl" type="xs:string" nillable="true"/>
    <xs:element name="nvl" type="xs:string" nillable="true"/>
    <xs:element name="matching_type" type="xs:string" nillable="true"/>
    <xs:element name="pll_qty_rcv_tolerance" type="xs:string" nillable="true"/>
    <xs:element name="pll_qty_rcv_exception_code" type="xs:string" nillable="true"/>
    <xs:element name="item_category" type="xs:string" nillable="true"/>
    <xs:element name="Invoice_matching_option" type="xs:string" nillable="true"/>
    <xs:element name="shipment_amount_received" type="xs:string" nillable="true"/>
    <xs:element name="shipment_amount_billed" type="xs:string" nillable="true"/>
    <xs:element name="shipment_amount_cancelled" type="xs:string" nillable="true"/>
    <xs:element name="shipment_amount_accepted" type="xs:string" nillable="true"/>
    <xs:element name="shipment_amount_rejected" type="xs:string" nillable="true"/>
    <xs:element name="po_distribution_number" type="xs:string" nillable="true"/>
    <xs:element name="dist_amount_billed" type="xs:string" nillable="true"/>
    <xs:element name="dist_destination" type="xs:string" nillable="true"/>
    <xs:element name="pd_DESTINATION_SUBINVENTORY" type="xs:string" nillable="true"/>
    <xs:element name="dist_quantity_ordered" type="xs:string" nillable="true"/>
    <xs:element name="dist_quantity_delivered" type="xs:string" nillable="true"/>
    <xs:element name="dist_quantity_cancelled" type="xs:string" nillable="true"/>
    <xs:element name="dist_quantity_billed" type="xs:string" nillable="true"/>
    <xs:element name="dist_amount_ordered" type="xs:string" nillable="true"/>
    <xs:element name="dist_amount_delivered" type="xs:string" nillable="true"/>
    <xs:element name="ph" type="xs:string" nillable="true"/>
    <xs:element name="pl" type="xs:string" nillable="true"/>
    <xs:element name="pll" type="xs:string" nillable="true"/>
    <xs:element name="pd" type="xs:string" nillable="true"/>
    <xs:element name="supp" type="xs:string" nillable="true"/>
    <xs:element name="OPEN" type="xs:string" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    Please help me out as, if the same thing will not work then i have to wrap the same query in the stored Procedure.

  • How to operate multiple querys using DB Adapter and 'Execute Custom SQL'

    I have a requirment that I need to create database adapter in your BPEL process with 'Execute Custom SQL' to operate multiple query in DB in one atomic
    here are the details:
    inbound request:
    <ns1:Query_bpelProcessRequest>
    <ns1:input>
    <ns1:ItemDetail>
    <ns1:ItemID>1123DDDS</ns1:ItemID>
    </ns1:ItemDetail>
    <ns1:ItemDetail>
    <ns1:ItemID>1126EWWA</ns1:ItemID>
    </ns1:ItemDetail>
    <ns1:ItemDetail>
    <ns1:ItemID>11208FSAA</ns1:ItemID>
    </ns1:ItemDetail>
    </ns1:input>
    </ns1:Query_bpelProcessRequest>
    I use for-each fuction in XSLT to mapping the all ItemID value:
    <xsl:template match="/">
    <xsl:for-each select="/tns:Query_bpelProcessRequest/tns:input/tns:ItemDetail">
    <ns1:QueryFromDB_Input>
    <ns1:ItemID>
    <xsl:value-of select="tns:ItemID"/>
    </ns1:ItemID>
    </ns1:QueryFromDB_Input>
    </xsl:for-each>
    </xsl:template>
    and in DB Adapter I use the 'Execute Custom SQL' to query the CONTENT value according the ItemID value:
    select distinct CONTENT from agile.item where ITEM_NUMBER=’<ItemID>’
    However, in the result, It only query the first item value for <ns1:ItemID>1123DDDS</ns1:ItemID>
    <<QueryFromDB_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="QueryFromDB_Input_msg">
    <QueryFromDB_Input xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/QueryFromDB" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/QueryFromDB">
    <ns1:ItemID>1123DDDS</ns1:ItemID>
    </QueryFromDB_Input>
    </part></QueryFromDB_InputVariable>
    <QueryFromDB_OutputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="QueryFromDB_OutputCollection">
    <QueryFromDB_OutputCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/QueryFromDB">
    <QueryFromDB_Output>
    <ITEM_NUMBER>1123DDDS</ITEM_NUMBER>
    <CONTENT >SJIFESSFFJ</CONTENT >
    </QueryFromDB_Output>
    </QueryFromDB_OutputCollection>
    </part></QueryFromDB_OutputVariable>
    the other two querys are not operated.
    what can I do to operate multiple querys??
    Thanks

    Hi Rod,
    I are using while loop and assign array inputvalue to the inputvarable of DBadapter now, but actually it doesn't work.
    Throw expection
    <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 /client:ItemsQuery_bpelProcessRequest/client:input/client:inputDetail/client:ProductID["ItemIndex"] should not return multipe nodes.
    Please check the BPEL source at line number "89" and verify the part and xpath query /client:ItemsQuery_bpelProcessRequest/client:input/client:inputDetail/client:ProductID["ItemIndex"].
    Possible reasons behind this problems are: some xml elements has maxOccurs > 1 or the xml data is invalid according to XML Schema.
    To verify whether XML data received by a process is valid, user can turn on validateXML switch at the domain administration page.
    </summary>
    </part></selectionFailure>
    my inbound XSD:
    <element name="ItemsQuery_bpelProcessRequest">
    <complexType>
    <sequence>
    <element name="input" type="tns:inputType"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="inputType">
    <sequence>
    <element name="inputDetail" minOccurs="0" maxOccurs="unbounded">
    <complexType>
    <sequence>
    <element name="ProductID" type="string" minOccurs="0"/>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    <element name="ItemsQuery_bpelProcessResponse">
    <complexType>
    <sequence>
    <element name="result" type="tns:outputType"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="outputType">
    <sequence>
    <element name="ItemOutput" minOccurs="0" maxOccurs="unbounded">
    <complexType>
    <sequence>
    <element name="item_id" type="string" minOccurs="0"/>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    DB Adapter XSD:
    <xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/QueryItem" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/QueryItem" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="QueryItem_Input" type="QueryItem_Input"/>
    <xs:complexType name="QueryFrom_Input">
    <xs:sequence>
    <xs:element name="ProductID" type="xs:string" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="QueryItem_OutputCollection" type="QueryItem_OutputCollection"/>
    <xs:complexType name="QueryItem_OutputCollection">
    <xs:sequence>
    <xs:element name="QueryItem_Output" type="QueryItem_Output" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryItem_Output">
    <xs:sequence>
    <xs:element name="item_id" type="xs:string" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    the bpel assign:
    <assign name="Initial_Index">
    <copy>
    <from expression="0"/>
    <to variable="ItemIndex"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('ItemIndex')&lt;ora:countNodes('inputVariable','payload','/client:ItemsQuery_bpelProcessRequest/client:input/client:inputDetail/client:ProductID)">
    <sequence name="Sequence_1">
    <assign name="Assign_QueryInput">
    <copy>
    <from variable="inputVariable" part="payload"
    query='/client:ItemsQuery_bpelProcessRequest/client:input/client:inputDetail/client:ProductID{bpws:getVariableData('ItemIndex')}'/>
    <to variable="QueryItem_InputVariable"
    part="QueryItem_nput_msg"
    query="/ns2:QueryItem_Input/ns2:ProductID"/>
    </copy>
    </assign>
    <invoke name="Invoke_QueryDB" partnerLink="QueryItem"
    portType="ns1:QueryItem_ptt"
    operation="QueryItem_PSFT"
    inputVariable="QueryItem_InputVariable"
    outputVariable="QueryItem_OutputVariable"/>
    <assign name="Assign_Output">
    <copy>
    <from variable="QueryItem_OutputVariable"
    part="QueryItem_OutputCollection"
    query="/ns2:QueryItem_OutputCollection/ns2:QueryItem_Output/ns2:item_id"/>
    <to variable="outputVariable" part="payload"
    query='/client:ItemsQuery_bpelProcessResponse/client:result/client:ItemOutput/client:item_id{bpws:getVariableData('ItemIndex')}'/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('ItemIndex')+1"/>
    <to variable="ItemIndex"/>
    </copy>
    </assign>
    </sequence>
    </while>
    I use {} instead of  []  for array,  because [] seams not reveal in this message board
    seems I can't assign array values to the DB inputvalue, Are there any solutions for this ?
    I still haven't found any way for operating multiple querys using DB Adapter.
    Thanks
    Edited by: user1065212 on 07-Jan-2010 19:39
    Edited by: user1065212 on 07-Jan-2010 19:41
    Edited by: user1065212 on 07-Jan-2010 19:44
    Edited by: user1065212 on 07-Jan-2010 19:45

  • How to build dynamic query strings in the query using DB adapter 'Pure SQL'

    Dear Forum,
    I am building an application which will access DB to fetch some result set. The query involves retrieving data from multiple tables(nearly 10 tables). So I have created a DB adapter using 'execute pure sql' option. With this query works fine, but my inputs parameters will vary. So I need to make my query dynamic to append the query strings at runtime depending on the inputs.
    For example I have 3 input variables - input1,input2 and input3 (in my request xsd) which are used in the pure sql query. Now if I get a 4th input parameter input4 in the request, I need to append this to query string as 'AND input4=[some value]' at runtime. Otherwise my query should have only 3 parameters. Please suggest how this can be achieved.
    Regards,
    Satya.

    This is a strange requirement, depending on the columns you have and what are optional in them, one way is to have separate operations and each opeartion will have different inputs and for each operation , a different DB Adapter is called. But this way, it results in more number of operations for the service as well as more number of references in the composite. Even if you pass the column inputs to the SQL procedure, it will result in a large number of if-else cases..
    Thanks,
    N

  • Pure SQL and Border Use Cases?

    Hi Gurus
    I was developing a DB Adapter to select data from Shipping tables. I did it by polling as well as with Custom SQL. While using the custom SQL I got the following error in my domain.log
    (my query that I wrote) failes, Caused by java.sql.SQLException: Invalid column index.
    The Pure SQL option is for border use cases only and provides simple yet minimal functionality. Possibly try the "Perform an operation on a table" option instead.
    What is a border use case, how do I decide that. So BPEL support the custom sql option very loosely?
    Thx

    The thing is that XSLT often doesn't deliver the functionality required when it comes to times.
    You suggest appening "Z" to the time but this means that the time is now in UTC time. What if the system from where the date is being converted is running in NZ using local time? Other systems that recieve the date (and correctly handle the time zone) will now have a time that is out by a number of hours.
    You often can't ignore the time zone (drop the 'Z') as if you send the time to a system it has to either assume the time is local to it (which may not be the case... the other system coudl be in a different time zone) or assume the time is UTC (I think crossfire does this by default).
    Typically can't just append a time zone (e.g. +11:00) either as many places have daylight savings so the value to appended is variable (you then need some way of determining what the value is... either Java Embedding or a Service).
    As you mention it does depend on the use case but in many circumstances using Jaba Embedding, not as suggested above but with the appropriate Java.util.Calendar classes, is the best way to handle date and time in BPEL. Even still you need to ascertain the format of times external to the system and ensure you parse them correctly.
    ANd even if you do all this you can still run into problems. I've seen a real world example where two systems which both handled time zones correctly and had previously been working together for quite a while, satrted reporting different times. It turns out that only one of them had had the most recent Java Time Zone patches applied and there had been a change in the dates for daylight savings here (Australia). Be warned!

  • Execute custom SQL in DB Adpater errors out in Production - urgent please.

    Hi,
    I get this error when running the process in PROD at invoking delete operation that I'm doing by selecting the execute custom SQL option while defining the DB adapter. It worked fine in TEST environment but errors out in PROD env.
    Any suggestions on why? Its urgent.
    Thanks
    -Prapoorna
    The state of this instance is Faulted
    <messages><input><InvokeDelete_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="DeleteDataInput_msg"><DeleteDataInput xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/DeleteData"/>
    </part></InvokeDelete_InputVariable></input><fault><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>17410</code>
    </part><part name="summary"><summary>file:/prod/app/bpel/as/bpel/domains/verint/tmp/.bpel_SynchOTLLoad_1.0_0259c5f142631959ec0fb067d23fe98e.tmp/DeleteData.wsdl [ DeleteData_ptt::DeleteData(DeleteDataInput_msg) ] - WSIF JCA Execute of operation 'DeleteData' failed due to: Pure SQL Exception.
    Pure SQL Execute of delete from xxhxc_timeattend_to_otl where report_date >= TRUNC(ADD_MONTHS(sysdate, -1),'MM') failed. Caused by java.sql.SQLException: No more data to read from socket.
    ; nested exception is:
    ORABPEL-11633
    Pure SQL Exception.
    Pure SQL Execute of delete from xxhxc_timeattend_to_otl where report_date >= TRUNC(ADD_MONTHS(sysdate, -1),'MM') failed. Caused by java.sql.SQLException: No more data to read from socket.
    The Pure SQL option is for border use cases only and provides simple yet minimal functionality. Possibly try the "Perform an operation on a table" option instead.
    </summary>
    </part><part name="detail"><detail>No more data to read from socket</detail>
    </part></remoteFault></fault></messages>

    Looks like in production you have much more data than you do in your test environments.
    It could be something wrong with your rollback segments. Is there any other activity happening when this is running?
    What happens when you run this command inside SQLPlus?
    cheers
    James

  • Pure SQL to partition date-time occurrences into non-overlapping windows?

    i've a question that so far, i've never been able to solve via a pure SQL option.
    it's hard to explain in words, but it's something like this:
    given a set of date-time, i would like to partition the data into non-overlapping windows of 30 minutes each.
    the data is supposed to be partitioned into windows of 30 minutes, meaning when the data is within 30 minutes of the first occurrence, only the first occurrence will be returned. in the next second after the 30th minute, the record will be considered as the start of a new window and is also returned. so those data that occurs within the window period are suppressed. the first occurrence is not necessarily occurring on the 00th minute, so the window start will never be constant.
    run the below query to look at the dummy data.
    SELECT     'A' AS ID
              , TRUNC(SYSDATE) + 7 / 24 + 1 *(ROWNUM - 1) / 1440 AS datetime
          FROM DUAL
    CONNECT BY ROWNUM <= 50
    UNION ALL
    SELECT     'A' AS ID
              , TRUNC(SYSDATE) + 9 / 24 + 8 / 1440 + 1 *(ROWNUM - 1) / 1440 AS datetime
          FROM DUAL
    CONNECT BY ROWNUM <= 35
    UNION ALL
    SELECT     'B' AS ID
              , TRUNC(SYSDATE) + 7 / 24 + 5 *(ROWNUM - 1) / 1440 AS datetime
          FROM DUAL
    CONNECT BY ROWNUM <= 15this is supposed to be the output.
    ID     DATETIME
    A     5/19/2010 07:00:00
    A     5/19/2010 07:30:00
    A     5/19/2010 09:08:00
    A     5/19/2010 09:38:00
    B     5/19/2010 07:00:00
    B     5/19/2010 07:30:00
    B     5/19/2010 08:00:00so far, i'm using a PL/SQL to pipe the records. but i would like to know if this is achievable via SQL or not.
    i've tried looking at analytics, width_bucket, ntile and alll options i can think of, but i just can't solve this at all.

    hey Bob,
    your answer is most definitely correct and does what i want. i've verified it again my data set and it returns the results as required!
    you've definitely proven me wrong. i was always under the impression that this wasn't possible. thanks!
    just a small note:
    i need the windows to be binned by seconds, so have changed the numtodsinterval to raw numbers.
    WITH t AS
         (SELECT 'A' AS ID
                , TRUNC(SYSDATE) +(6.75 / 24) AS datetime
            FROM DUAL
          UNION ALL
          SELECT 'A' AS ID
                , TRUNC(SYSDATE) +(6.75 / 24) AS datetime
            FROM DUAL
          UNION ALL
          SELECT     'A' AS ID
                    , TRUNC(SYSDATE) + 7 / 24 + 1 *(ROWNUM - 1) / 1440 AS datetime
                FROM DUAL
          CONNECT BY ROWNUM <= 50
          UNION ALL
          SELECT     'A' AS ID
                    , TRUNC(SYSDATE) + 9 / 24 + 8 / 1440 + 1 *(ROWNUM - 1) / 1440 AS datetime
                FROM DUAL
          CONNECT BY ROWNUM <= 35
          UNION ALL
          SELECT     'B' AS ID
                    , TRUNC(SYSDATE) + 7 / 24 + 5 *(ROWNUM - 1) / 1440 AS datetime
                FROM DUAL
          CONNECT BY ROWNUM <= 15)
        ,a AS
         (SELECT ID
                ,datetime
                ,LAG(datetime) OVER(PARTITION BY ID ORDER BY datetime) AS prevtime
                ,LAST_VALUE(datetime) OVER(PARTITION BY ID ORDER BY datetime RANGE BETWEEN CURRENT ROW AND 30 / 1440 + 1 / 86400 FOLLOWING) AS interval_end
            FROM t)
        ,b AS
         (SELECT ID
                ,datetime
                ,LEAD(datetime) OVER(PARTITION BY ID ORDER BY datetime) AS nexttime
            FROM t)
        ,ab AS
         (SELECT a.ID
                ,a.datetime
                ,a.prevtime
                   ,a.interval_end
                   ,b.datetime as b_datetime
                ,b.nexttime
            FROM a JOIN b ON(a.ID = b.ID
                             AND a.interval_end = b.datetime)
    SELECT     ID
              ,datetime
          FROM ab
    START WITH prevtime IS NULL
    CONNECT BY ID = PRIOR ID
           AND datetime = PRIOR nexttime
      ORDER BY ID
              ,datetime;this most definitely proves that i'm still not sure of how to use hierarchy queries.
    Edited by: casey on May 20, 2010 11:20 AM

  • Error-Receiver File Adapter using Variable substitution when file is empty

    XI Experts,
    We are on PI 7.0, SP14.
    We are using variable subtitution to get the filename from source message. This works fine as long as we have data in the payload for filename element. But we have a scenario where we don't have to create file when certain condition does not exists in source message so in the message payload filename element will not exists in such condition and file will be empty and we should not create file.
    Parameter in the communication channel for Handling empty message is "Ignore".
    Does anyone knows how to handle this scneario. We don't want to default any file name in the message mapping if source file name element does not exists.
    We are following getting error in the Adapter engine.
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: file: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: file
    Thanks
    MP

    You can implement this by writing the module to throw an exception or whatever method you want to execute.
    If you don't want to receive an error message then module is suitable for you.
    Gaurav Jain

  • Error when using Variable Transport Binding in Sender Mail Adapter

    Hi,
    I am using the Sender Mail Adapter to receive an email, convert the attached tab delimited text file into xml and map it to an IDOC.
    I am using PayloadSwapBean and MessageTransformBean in order to do this, and this all works perfectly.
    I am now trying to access the Adapter Specific Message Attributes to retrieve the SHeaderFROM attribute from the message and map it to a field in the idoc.
    However when I check the "Variable Transport Binding" option in the Advanced tab of the mail adapter, the message no longer goes through to SXMB_MONI and I get the following error in the Java logs.
    Transmitting the message to endpoint http://sapserver:53500/sap/xi/engine?type=entry using connection AFW failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 500 : Error during parsing of SOAP header.
    Any ideas why this is happening?
    Thanks,
    Brad

    Hi Luciana,
    Honestly, I cant really remember how or if it was resolved and I was just helping out on the issue, but another consultant continued with it, so unfortunately I cant be any help on this.
    Good luck!
    Cheers,
    Brad

  • White lines generateds in a File Adapter when using variable substitution.

    Hi all,
    I have been a problem in File generated by XI, my File Adapter is using variable substitution with reference to a field of my message type. Because it, the files generated has white lines in top of file.
    What can I do to not apears these lines ?
    Thanks

    Regis,
    Try to give a more detailed description of your problem otherwise I don't know who's gonna answer...
    Alexx

  • Reciever File Adapter - Temp File Name Scheme using Variable Substitution

    How can I create a temporary file that uses variable substitution? 
    We are having a problem with files merging when we write files using the "Use Temporary File" setting on the FIle Adapter.  So two independent files are merging into a single file.  We are not using the "Append" setting.
    We would like to use a Temp File Name Scheme that would append the message id onto the temporary file name. 
    Using variable substitution we created a msgid variable.  When added to the temporary file name using %msgid% the temporary file name is created with %msgid% in the name instead of the actual message id.  We put the variable into the "File Name Scheme" as well and the end completed file used the message id in the name.
    Any Ideas?
    Thanks,
    Matt

    HI Matthew,
    Why are you adding the message id into the temporary file??
    I understand that you want the output of the filename to contain message id .. and hence you are using variable substitution for the same.
    Temporary file name will anyways get overwritten by the actual file name (here the actual filename will be using variable substituion).
    So i suggest to achieve your scenario you can add any name in the temporary file and maintain the desired filename you require as output in the variable subsititution.
    Temporary File Name option actually acts as a lock - unlock mechanism from PI side while the file is getting written to the file server so that while PI is writting the file no third party application batch program picks it up.
    I hope this helps.
    Cheers
    Dhwani

  • Blank Lines at end of file when using Variable Substitution in File Adapter

    Hi all,
    I'm using variable substitution in a File Adapter, it's refers an element of message, like:
    filename    payload:MESSAGE_INTERFACE,1,FILENAME,1
    The variable substitution is working right, but it's append a BLANK LINE at end of file.
    Anyone knows how to solve this problem ?
    Thanks in advance.

    Hi Regis,
    I suppose you're using content conversion?
    if so try adding
    <b>endSeparator</b> = '0'
    to your last element
    this will delete the default line break at the end
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

  • SAP PI: Using Variable Header  Binding in Receiver Mail Adapter

    Hello,
    I try to use Variable Header Bindings in the Receiver Mail Adapter. Therefore I wrote the following User-Defined-Function in a mapping:
    Java Function Start -
    DynamicConfiguration conf = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create(
        "http://sap.com/xi/XI/System/Mail",
        "XHeaderName1");
    DynamicConfigurationKey key2 = DynamicConfigurationKey.create(
        "http://sap.com/xi/XI/System/Mail",
        "XHeaderName2");
    DynamicConfigurationKey key3 = DynamicConfigurationKey.create(
        "http://sap.com/xi/XI/System/Mail",
        "XHeaderName3");
    conf.put(key1, new String("Test1"));
    conf.put(key2, new String("Test2"));
    conf.put(key3, new String("Test3"));
    Java Function End -
    As expected I see the Attributes and Parameters in the Dynamic Configuration in the SAP XI Monitor:
    Dynamic Configuration Informattion Start -
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Mapping der Request-Message
      -->
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/Mail" name="XHeaderName3">Test3</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/Mail" name="XHeaderName2">Test2</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/Mail" name="XHeaderName1">Test1</SAP:Record>
      </SAP:DynamicConfiguration>
    Dynamic Configuration Informattion End -
    Now I configure my Receiver eMail Communication Channel and set the Variable Header Fields as follows:
       Adapter Specific Attributes: Checked
       Variable Transport Binding: Checked
       Variable Header (XHeaderName1): TSender
       Variable Header (XHeaderName2): TReceiver
       Variable Header (XHeaderName3): TOther
    With this configuration I would have expected three new Header fields in the Header of the eMail, the reicever gets. But they are not there.
    When I set standard attributes like THeaderTO, THeaderSubject a.s.o this works fine and the values are also set accordingly. Where it the mistake here?
    The PI version we are working with is PI 7.0 SP10.
    Your help will be highly appreciated.
    Thank you,
    Steffen

    Hi Luciana,
    Honestly, I cant really remember how or if it was resolved and I was just helping out on the issue, but another consultant continued with it, so unfortunately I cant be any help on this.
    Good luck!
    Cheers,
    Brad

  • Using DB Adapter to execute a custom SQL sequence

    Hello everyone, First of all happy 2013
    I've done with Jdeveloper using DB Adapter to execute a custom SQL statement, has been very simple, then the code JCA integrate it into OSB OESP PS3, and have successfully deployed, then did a testing from the console of OSB
    "Before Configure a DataSource and a Connection Factory for Db Adapter"
    I have seen that I have a casting error, but do not understand why, is a single number which I hope to run the following code sequence:
    SELECT
    MYSEQUENCE.NEXTVAL@DBLINK_EXAMPLE
    FROM dual
    thanks in advance
    >>>>>THIS IS MY LOG:
    Request Document      
         <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Header      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         </soap:Header>
         <soapenv:Body>
         <sec:DB_ADAPTER_EXAMPLEInput      xmlns:sec="http://xmlns.oracle.com/pcbpel/adapter/db/DB_ADAPTER_EXAMPLE"/>
         </soapenv:Body>
         </soapenv:Envelope>
    Response Document      
    The call resulted in an error: Failed outgoing call JCA service with application error, excepción: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/PR_SISII/JCA/DB_ADAPTER_EXAMPLE [ DB_ADAPTER_EXAMPLE_ptt::DB_ADAPTER_EXAMPLE(DB_ADAPTER_EXAMPLEInput_msg,DB_ADAPTER_EXAMPLEOutputCollection) ] - WSIF JCA Execute of operation 'DB_ADAPTER_EXAMPLE' failed due to: Could not create / access the TopLink session.
    This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create / access the TopLink session.
    This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    You may need to configure the connection settings in the deployment descriptor (DbAdapter.rar # META-INF/weblogic-ra.xml) and restart the server. This exception is considered not recoverable, probably due to a modeling error.
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/PR_SISII/JCA/DB_ADAPTER_EXAMPLE [ DB_ADAPTER_EXAMPLE_ptt::DB_ADAPTER_EXAMPLE(DB_ADAPTER_EXAMPLEInput_msg,DB_ADAPTER_EXAMPLEOutputCollection) ] - WSIF JCA Execute of operation 'DB_ADAPTER_EXAMPLE' failed due to: No se ha podido crear/acceder a la sesión de TopLink.
    This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create / access the TopLink session. This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    You may need to configure the connection settings in the deployment descriptor (DbAdapter.rar # META-INF/weblogic-ra.xml) and restart the server. This exception is considered not recoverable, probably due to a modeling error.
    at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:155)
    at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
    at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
    at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:598)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
    at $Proxy140.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:603)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:538)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:558)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:426)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:380)
    at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:79)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:137)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:135)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:140)
    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(Unknown Source)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_1034_WLStub.invoke(Unknown Source)
    at com.bea.alsb.console.test.TestServiceClient.invoke(TestServiceClient.java:174)
    at com.bea.alsb.console.test.actions.DefaultRequestAction.invoke(DefaultRequestAction.java:117)
    at com.bea.alsb.console.test.actions.DefaultRequestAction.execute(DefaultRequestAction.java:70)
    at com.bea.alsb.console.test.actions.ServiceRequestAction.execute(ServiceRequestAction.java:143)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
    at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
    at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191)
    at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
    at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
    at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:262)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:134)
    at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:687)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142)
    at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(StrutsStubImpl.java:76)
    at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225)
    at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
    at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
    at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199)
    at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/PR_SISII/JCA/DB_ADAPTER_EXAMPLE [ DB_ADAPTER_EXAMPLE_ptt::DB_ADAPTER_EXAMPLE(DB_ADAPTER_EXAMPLEInput_msg,DB_ADAPTER_EXAMPLEOutputCollection) ] - WSIF JCA Execute of operation 'DB_ADAPTER_EXAMPLE' failed due to: Could not create / access the TopLink session.
    This session is used to connect to the data store.
    Caused by: java.lang.ClassCastException: can not be cast to oracle.tip.adapter.db.DBConnectionFactory javax.sql.DataSource.; nested exception is:
    BINDING.JCA-11622
    Could not create / access the TopLink session.
    This session is used to connect to the data store.
    Caused by: java.lang.ClassCastException: can not be cast to oracle.tip.adapter.db.DBConnectionFactory javax.sql.DataSource.
    You may need to configure the connection settings in the deployment descriptor (DbAdapter.rar # META-INF/weblogic-ra.xml) and restart the server. This exception is considered not recoverable, probably due to a modeling error.

    Caused by: java.lang.ClassCastException: can not be cast to oracle.tip.adapter.db.DBConnectionFactory javax.sql.DataSource.While creating the outbound connection pool in DBAdapter, make sure that you are providing the JNDI name of data-source (for example jdbc/aaaaa) in field XADataSourceName (if data-source is XA) or in field dataSourceName (if data-source is non-xa). It seems you are providing the JNDI of outbound connection pool (for example eis/DB/aaaaa) itself in the above settings.
    Regards,
    Anuj

Maybe you are looking for

  • Access portal system details in Web Dynpro ???

    Hello All, I have a requirement such that in my Web Dynpro application, I need to figure out that the backend R/3 it is trying to connect to, is it a unicode or a non unicode system. For this purpose, we maintain an additional alias name for the port

  • Form E-mail Submission

    Good evening to all, I need some help on a complex problem, to me at least. I will have a form that has a great deal of text boxes, radio buttons and check boxes. Only a few radio buttons and/or check boxes will be selected each time someone fills ou

  • Zoom in question

    Is there a way when you zoom in, to not have the screen move following the mouse? I zoom in on a game and I want it to just be still so I can play it.

  • Error when I try to render

    Hello, I just downloaded a template on the internet and I want to render it now, But when i try to render it I get the error: 2 footage files required to render composition "Template by IntroArtZ" are missing. How can I fix this?

  • Retrieve responsible resources for a role in cProjects

    Hey all, I would like to display a list of assigned/unassigned resources corresponding to a role for tasks grouped under individual projects. I am not sure how I can find a relationship between the roles and resources using the tables. It would be re