Placeholder for IN condition in database adapter

I'd like to pass a parameter to a database adapter which will modify the "in condition" portion in a select. For example:
select firstname
from xxx
where
lastname in (#arg1)
Is this the correct syntax? If so, what values will arg1 take? Something like this string (including quotes)?
'lname1','lname2','lname3'
Or is it something else?
So,
1. what is the syntax in the sql statement in the db adapter
2. what is the syntax of the data passed in to this placeholder?

Thanks for your response.
Actually, I'm trying to test this out via the web service tester in Enterprise Manager. When I insert the following into the tester's generated form field, execution of the sql fails, apparently for a missing value:
'lname1','lname2','lname3'
I'm not sure I understand your comment "while passing the values if it has varchar2 values appened it with single quotes and send into the adapter". Where would I have any access to a varchar2 in the adapter or the mediator that feeds it?

Similar Messages

  • Intermittence for execute Polling with DataBase Adapter in OSB11g

    Hello Guys,
    I'm having a problem running the polling DataBase Adapter OSB11g. The creation of the adapter was made in Jdeveloper 11.
    The problem is:
    Intermittence to run the polling DataBase. Sometimes it works, other time it does not work.
    Displays the following exception:
    *<Info> <JCA_FRAMEWORK_AND_ADAPTER> <BEA-000000> <<oracle.tip.adapter.db.InboundWork handleException> BINDING.JCA-11624*
    DBActivationSpec Polling Exception.
    *Query name: [BD_XPTO_NOTIFICA_XPTOSelect], Descriptor name: [BD_XPTO_NOTIFICA_PRICING.XPTO]. Polling the database for events failed on this iteration.*
    Caused by JTS transaction was marked rollback only.
    This exception is considered retriable, likely due to a communication failure.  Polling will be attempted again next polling interval.
    This is a BUG? Have Fix?
    Tks,
    Azevedo, Artur.

    It looks like a database issue or a XA configuration issue? What database you're polling? Oracle? Sybase? Check if your database is supported...
    Cheers,
    Vlad

  • Using for-each for input into a database adapter

    As input to a Web service I have an XSD that has parent elements and two unbounded child elements. I want to use XSLT to loop through the child elements to include them as comma separated strings for use in an IN clause in the query of the database adapter. I have the following XSLT in the input to database adapter XSL:
    <db:child_elements>
      <xsl:attribute name="xsi:nil">
        <xsl:value-of select="/inp1:path/inp1:to/inp1:child_elements/@xsi:nil"/>
      </xsl:attribute>
      <xsl:for-each select="/inp1:path/inp1:to/inp1:child_elements/inpl:child_elements">
        <xsl:value-of select="."/>
        <xsl:if test="position() != last()">
          <xsl:text>,</xsl:text>
        </xsl:if>
      </xsl:for-each>
    </db:child_elements>I am getting three error:
    1) Error: Invalid Usage of <for-each> Element
    2) Error: Invalid Usage of <if> Element
    3) Error: This node is already mapped, repeating nodes not supported : "/db:databaseAdapterInput/db:child_elements"
    Any idea of what the problem is here? Are for-each loops and if statements simply not allowed in Oracle SOA Suite? Thanks in advance!

    For SQL Server 2005+ you can use the OUTPUT clause. E.g.
    DECLARE @Source TABLE ( ID INT, Payload INT );
    DECLARE @Destination TABLE
    ID INT IDENTITY ,
    Payload INT
    DECLARE @IdentityValues TABLE ( ID INT );
    INSERT INTO @Source
    VALUES ( 1, 1 ),
    ( 2, 2 ),
    ( 3, 3 );
    INSERT INTO @Destination
    ( Payload )
    VALUES ( 0 );
    INSERT INTO @Destination
    ( Payload )
    OUTPUT INSERTED.ID
    INTO @IdentityValues
    SELECT S.Payload
    FROM @Source S;
    SELECT D.ID ,
    D.Payload
    FROM @Destination D;
    SELECT IV.ID
    FROM @IdentityValues IV;

  • Database Adapter-Insert

    Hi,
    I am new to BPEL. I am trying to learn through tutorials. I am working on Insert tutorial (Database Adapters).
    I was able to compile the project sucessfully in jdev and deploy to Bpel server.
    After giving the input and hitting on post xml message the follwing error comes up:
    file:/C:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_Insert_1.0_3955c8686706b0e75f228f767a18cf38.tmp/InsertService.wsdl [ InsertService_ptt::insert(MoviesCollection) ] - WSIF JCA Execute of operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [Insert.Movies]. [Caused by: JDBC 2.0 feature is not yet implemented]
    ; nested exception is:
         ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [Insert.Movies]. [Caused by: JDBC 2.0 feature is not yet implemented]
    Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: JDBC 2.0 feature is not yet implementedError Code: 0.
    Does anyone have idea about this error?
    My settings in oc4j_ra.xml are as below:
    <connector-factory location="eis/DB/BPELSamples" connector-name="Database Adapter">
              <config-property name="xADataSourceName" value=""/>
              <config-property name="dataSourceName" value=""/>
              <config-property name="platformClassName" value="oracle.toplink.internal.databaseaccess.OraclePlatform"/>
              <config-property name="usesNativeSequencing" value="true"/>
              <config-property name="sequencePreallocationSize" value="50"/>
              <config-property name="defaultNChar" value="false"/>
              <config-property name="usesBatchWriting" value="true"/>
              <config-property name="driverClassName" value="oracle.lite.poljdbc.POLJDBCDriver"/>
              <config-property name="connectionString" value="jdbc:polite4@localhost:1531:orabpel"/>
              <config-property name="userName" value="system"/>
              <config-property name="password" value="manager"/>
              <config-property name="minConnections" value="1"/>
              <config-property name="maxConnections" value="5"/>
              <config-property name="minReadConnections" value="1"/>
              <config-property name="maxReadConnections" value="5"/>
              <config-property name="usesExternalConnectionPooling" value="false"/>
              <config-property name="usesExternalTransactionController" value="false"/>
              <connection-pooling use="none">
              </connection-pooling>
              <security-config use="none">
              </security-config>
         </connector-factory>
    and datasources.xml is
    <connection-pool name="BPELPM_CONNECTION_POOL">
    <connection-factory factory-class="oracle.lite.poljdbc.POLJDBCDriver"
    user="system"
    password="manager"
    url="jdbc:polite4@localhost:1531:orabpel" />
    </connection-pool>
    <managed-data-source name="BPELServerDataSource"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELServerDataSource" tx-level="global"/>
    <managed-data-source name="BPELServerDataSourceWorkflow"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELServerDataSourceWorkflow" tx-level="local"/>
    <!--managed-data-source name="BPELSamplesDataSource"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELSamplesDataSource" tx-level="global" /-->
    I have a database connection called bpel samples in jdev. Can anyone help me in creating bpel process to insert data in a table using database adapters.
    I am not able to get any output for any of the database adapter tutorials. Any hints????
    Thanks in advance.
    Edited by: user3833651 on Apr 22, 2009 8:17 PM

    The database version is only important with the dehydration store. If you are using the adapters to select / delete / update / insert data into your application it comes down to the jdbc drivers. Basically if you are above 8i you should be fine.
    olite is a very basic database, and the jdbc drivers are flaky, it's also not based on the Oracle code, therefore is not upgradable if you want to increase performance. You would need to perform some manual steps to migrate to a standard database.
    If you are wanting to do basic tutorials and don't want to have a heavy database using all your resources, use oracle XE. No need to pact. If you have a oracle database installed somewhere use that.
    http://www.oracle.com/technology/software/products/database/xe/index.html
    cheers
    James

  • File to database adapter error

    I am trying to run the File2Database example shipped as part of database adapter samples.Though i have created the tables and modified oc4j-ra.xml as mentioned in readme file.I am getting merge error followed by table or view does not exist,but tables do exist under schema specified in oc4j-ra.xml.Do i need to configure anything else.Please let me know if anyone has faced similar problem.
    This is the log :
    =====================
    <2005-06-15 16:26:59,056> <INFO> <default.collaxa.cube.ws> <AdapterFramework::Outbound> Since unable to locate the JCA Resource Adapter deployed at 'eis/MyDBConnection', will then attempt to instantiate ManagedConnectionFactory oracle.tip.adapter.db.DBManagedConnectionFactory directly.
    <2005-06-15 16:27:08,738> <INFO> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.ox.TopLinkXMLProjectInitializer initialize> Initializing an existing toplink project for use by the database adapter.
    <2005-06-15 16:27:09,755> <ERROR> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.DBInteraction executeOutboundWrite> unable to execute the outbound merge operation on: File2Table.Purchaseorder
    <2005-06-15 16:27:09,817> <ERROR> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/D:/OraBPELPM/integration/jdev/jdev/myWork/File2Table/DBOutbound.wsdl [ DBOutbound_ptt::merge(PurchaseorderCollection) ] - Could not invoke operation 'merge' against the 'Database Adapter' due to:
    ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [File2Table.Purchaseorder].
    Caused by Local Exception Stack:
    Exception [TOPLINK-4002] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: ORA-00942: table or view does not exist
    Internal Exception: java.sql.SQLException: ORA-00942: table or view does not exist
    Error Code: 942
    at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:227)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:698)
    at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:506)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
    Regards
    Raju

    Hi Raju,
    Looking at the error your DBOutbound.wsdl has [location="eis/MyDBConnection"] although the sample shipped has [location="eis/DB/BPELSamples"]. So, I am guessing you have either modified the sample manually, or you may have rerun the db adapter wizard which could have caused this change. So, you could fix this in one of the following ways:
    1. Start with a fresh sample and follow the instructions to the dot
    2. Go ahead and define an entry in oc4j-ra.xml for eis/MyDBConnection with the appropriate connection parameters
    3. Currently, when the jndi name is not defined in the oc4j-ra.xml, the runtime tries to work with the design time connection information which is captured in the DBOutbound.wsdl. In your case, this doesn't seem to work for either of the following reasons: your runtime connection is different from design time connection, or else the design time connection info is not valid for the runtime assuming it is running on different m/c. I could pinpoint what is wrong if I had access to the DBOutbound.wsdl file.
    Couple of other best practices while we are on this issue:
    - the location attribute which ties the design time and runtime together follows a convention so that we don't have to make sure that it is unique across all of the various adapters: to help out on this front, we follow the convention of eis/<AdapterAbbrev>/<connectionName>. So, I'd change yours to eis/DB/MyDBConnection. By default the wizard generates locations using this convention although it is hand-editable.
    - from another error message below "file:/D:/OraBPELPM/integration/jdev/jdev/myWork/File2Table/DBOutbound.wsdl [" I get the feeling that you are copying the sample elsewhere. Is there a need to do that ? You could just add the jdev project (.jpr) for this sample to any existing jdev workspace and you should be able to deploy from there w/o making any changes. This approach would be preferable and would have helped you from running into the set of issues that you are seeing.
    Let me know if the above makes sense.
    Cheers,
    Shashi

  • Conditional where clauses in database adapter

    I am trying to write a query in a database adapter that allows for conditional where clauses. Specifically, I want to include or not include a where clause (and clause) if an input variable is empty or not. Can a prepared statement with lexical parameters be used in a database adapter? Or is there another way to do this?
    Thanks in advance.

    I am afraid that you can only bind parameters to the SQL, you can't bind the SQL itself to the SQL. We do have QueryByExample support, where based on what fields are set in an example object, it will construct a different SQL select.
    If you pass in
    <Address>
    <street/>
    <city>
    <state>CA</state>
    </Address>
    it will return all addresses in California. If you pass in:
    <Address>
    <street/>
    <city>Los Angeles</city>
    <state/>
    </Address>
    it will return all addresses in Los Angeles.
    Thanks
    Steve

  • Use of current time for polling Database Adapter query

    I am writing a simple BPEL process with a Polling Database Adapter and a Recieve. The idea is that we are polling an XE database for any entries in a TRIP table which have an expiration date/time field that has passed.
    The Adapter was build using JDeveloper 10.1.3.2 (with Oracle Application Server patched to 10.1.3.3.0) as a "Poll for New Changed Records in a Table" Operation type with a STATUS field (0 for live, 1 for expired) as the Logical Delete Field.
    I was unable to find a way to generate a SELECT query expression with the wizard that would allow me to use current/system time as an attribute, so I finished the wizard and edited the Toplink Descriptor to use a custom SQL expression for the query. This resulted in the following code in the toplink_mappings.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)"
    xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>ExpiredTripPoller</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>ExpiredTripPoller.Trip</opm:class>
    <opm:alias>Trip</opm:alias>
    <opm:primary-key>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy">
    <opm:queries>
    <opm:query name="ExpiredTripPoller" xsi:type="toplink:read-all-query">
    <toplink:timeout>0</toplink:timeout>
    <toplink:call xsi:type="toplink:sql-call">
    <toplink:sql>SELECT ID, LPN, START_TIME, EXPIRY_TIME, STATUS FROM TRIP WHERE ((STATUS = '0') AND (EXPIRY_TIME < SYSDATE)) ORDER BY EXPIRY_TIME ASC</toplink:sql>
    </toplink:call>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    <opm:query name="findAllTrip" xsi:type="toplink:read-all-query">
    <toplink:timeout>0</toplink:timeout>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    </opm:queries>
    <toplink:does-exist-query xsi:type="toplink:does-exist-query">
    <toplink:existence-check>check-database</toplink:existence-check>
    </toplink:does-exist-query>
    <toplink:read-all-query xsi:type="toplink:read-all-query">
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </toplink:read-all-query>
    </opm:querying>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>lpn</opm:attribute-name>
    <opm:field table="TRIP" name="LPN" xsi:type="opm:column"/>
    <opm:attribute-classification>java.lang.String</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>startTime</opm:attribute-name>
    <opm:field table="TRIP" name="START_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>expiryTime</opm:attribute-name>
    <opm:field table="TRIP" name="EXPIRY_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>status</opm:attribute-name>
    <opm:field table="TRIP" name="STATUS" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    <toplink:always-refresh>true</toplink:always-refresh>
    </toplink:caching>
    <toplink:remote-caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    </toplink:remote-caching>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="TRIP"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    </opm:class-mapping-descriptors>
    </toplink:object-persistence>
    To test I used the above custom SQL at the command line and it filtered the records by EXPIRY_TIME as expected.
    When deployed, the polling process updates the STATUS file dof table entries, but all entries with status 0 regardless of EXPIRY_DATE. My modification appears to be being ignored. I was unsure as to whether the QUERY was being determined in some other way so I modified the descriptor (with the toplink expression editor) to compare against a literal time value, producing the following modified toplink_mappings.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)"
    xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>ExpiredTripPoller</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>ExpiredTripPoller.Trip</opm:class>
    <opm:alias>Trip</opm:alias>
    <opm:primary-key>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy">
    <opm:queries>
    <opm:query name="ExpiredTripPoller" xsi:type="toplink:read-all-query">
    <opm:criteria operator="lessThan" xsi:type="toplink:relation-expression">
    <toplink:left name="expiryTime" xsi:type="toplink:query-key-expression">
    <toplink:base xsi:type="toplink:base-expression"/>
    </toplink:left>
    <toplink:right xsi:type="toplink:constant-expression">
    <toplink:value xsi:type="xsd:date">2007-07-30</toplink:value>
    </toplink:right>
    </opm:criteria>
    <toplink:timeout>0</toplink:timeout>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    <opm:query name="findAllTrip" xsi:type="toplink:read-all-query">
    <toplink:timeout>0</toplink:timeout>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    </opm:queries>
    <toplink:does-exist-query xsi:type="toplink:does-exist-query">
    <toplink:existence-check>check-database</toplink:existence-check>
    </toplink:does-exist-query>
    <toplink:read-all-query xsi:type="toplink:read-all-query">
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </toplink:read-all-query>
    </opm:querying>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>lpn</opm:attribute-name>
    <opm:field table="TRIP" name="LPN" xsi:type="opm:column"/>
    <opm:attribute-classification>java.lang.String</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>startTime</opm:attribute-name>
    <opm:field table="TRIP" name="START_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>expiryTime</opm:attribute-name>
    <opm:field table="TRIP" name="EXPIRY_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>status</opm:attribute-name>
    <opm:field table="TRIP" name="STATUS" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    <toplink:always-refresh>true</toplink:always-refresh>
    </toplink:caching>
    <toplink:remote-caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    </toplink:remote-caching>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="TRIP"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    </opm:class-mapping-descriptors>
    </toplink:object-persistence>
    On deployment, this version of the BPEL process behaved as expected - only modifying the records with EXPIRY_TIME less thatn the literal time specified. (Also, I can't really pass in the time as a parameter as this is a polling model).
    Can anyone shed any light on what is happening or suggest how I might go about polling in the desired way?
    Cheers

    Please take a look at this article which states SYSDATE is not supported in a
    where clause.
    http://www.oracle.com/technology/pub/articles/bpel_cookbook/qualcomm-bpel.html
    Excerpt from the article:
    Here are three important things you should do in implementing the above design:
    Have the status of the record being processed stored in the database. The status includes the process state, next process attempt time, and processing attempt count.
    Create an updatable view that exposes only records that are ready to be processed. A view is needed because the database adapter cannot handle a where clause that compares against SYSDATE.
    Design logic that determines if a process instance that has faulted should be retried and when the retry should occur. This information will be updated in the database by use of a stored procedure. This can also be done with an update partner link and additional logic in BPEL.
    mahalo,
    a iii

  • Dynamic JNDI name for database adapter in BPEL

    Hi All,
    I am having some major issues trying to make the JNDI location for the database adapter dynamic (10.1.3.4). I already went through the followin link, but that didnt work for me: http://www.oracle.com/technology/pub/articles/bpel_cookbook/carey.html
    The below example works, but only the first run. Second time around the first runs JNDI value gets retained and connects to that database.
    This is what worked atleast the first time.
    I parameterized the JNDI with a variable defined in the partnerlink definition in the bpel.xml
    In Bpel. xml
    <partnerLinkBinding name="updatetbl">
    <property name="wsdlLocation">updatetbl.wsdl</property>
    <property name="CONN">eis/DB/na</property>
    <property name="retryInterval">60</property>
    </partnerLinkBinding>
    In the updatetbl.wsdl file
    <service name="updatetbl">
    <port name="updatetbl_pt" binding="tns:updatetbl_binding">
    <jca:address location="$CONN"/>
    </port>
    </service>
    At run time I change the partnerlink CONN variable in embedded Java.
    try
    Element targetAdapterElement =(Element)getVariableData("Invoke_getFromTbl_OutputVariable","getFromTblOutputCollection","/ns2:getFromTblOutputCollection/ns2:getFromTblOutput/ns2:SRC_JNDI");
    getLocator().lookupProcess("JndiIssueTest").getDescriptor().getPartnerLinkBindings().getPartnerLinkBinding ("updatetbl").setPropertyValue ("CONN",targetAdapterElement.getTextContent());
    ("updatetbl").getPropertyValue ("CONN"));
    catch(Exception ex)
    addAuditTrailEntry("Error is " + ex);
    This works fine the first time, but the second time I run it to look at a different CONN value, it somehow still connects using the first runs value!
    If I redeploy or clear the WSDL cache, it works. But we plan to run it multiple times from several environment so manually or programatically clearing WSDL is not the right solution.
    Can someone tell me what is the standard process of doing this so it works everytime?
    Thanks,
    Shaf

    Shaf,
    Please refer the mail thread for details. If you want I can send you(send me your email id) the sample BPEL process which uses Dynamic JNDI.
    Re: How to externalize JNDI name (setting JNDI name dynamically)
    Thanks,
    Sen

  • Database Adapter not working properly for more input parameters in OSM

    Hi,
    We are using OSM 7.0.0.3 and using design studio for development.
    Recently we are facing issue with the database adapter.In Studio,we have options for configuring the JDBC adapter.
    we have custom table in the database which has four columns with it.we are suppose to retrieve this table data using database adpater.
    so,whats happening here is,when we are sending two parameters as input to database adapter,we are able to retrive the table data properly.
    but,
    when we are sending morethan two parameters as input adapter,it is not giving right results.
    so,
    is there any constarint on how many parameters to be send as inut to adapter???
    any opinoin on first look at the issue??i will share the sample code if needed.

    Hi Naidu,
    OSM 7.0.0.3 is a very old version and they are many fixes on top of it. So request you to please use any of the latest versions of OSM 7.0.1/7.0.2/7.0.3 and retest the issue. We are not giving any patches on top of OSM 7.0.0. You can also raise a service request for further investigation and analysis.
    Regards,
    JP

  • Where clause for polling database Adapter

    I am creating a database adapter that polls a table for documents that are more than a month old based on a last updated field. For My where clause in the select statement I would like to have something like:
    where last_updated_date < add_months(sysdate, -1)
    but the where clause wizard will only allow me to use field names or literals. Any suggestions?

    Hi Stephen,
    Have you explored the option of calling a Stored Procedure or function which will do the SQL query as specified by you?
    Regards,
    lakshmi

  • Urgent: "where" clause for polling database Adapter

    Hi
    I am creating a database Polling (logical delete OPEN to CLOSED) adapter that polls a table for records which have a "SCHEDULED" date field.
    The Polling Adapter should pick up those records where the status is OPEN and SCHEDULED<=SYSDATE.
    DB Adapter wizard does not allows this where clause(SCHEDULED<=SYSDATE) to be set; so i tried modifying the Toplink SQL with custom SQL. But it does not works. Please suggest a workaround.
    Please help.
    Thanks
    Debashis

    Hi
    Please refer ..\SOA_HOME\bpel\samples\tutorials\122.DBAdapter\advanced\polling\PollingPureSQLOtherTableInsert Readme.txt and Note 873991.1 How To Use Custom SQL To Poll Database Tables Via Database Adapter LogicalDeletePollingStrategy.
    This works.
    thanks
    --debashis                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Can I use polling frequency for Database Adapter

    I need to use Database Adapter that acts like FileAdapter. Can I set polling frequency for my Database Adapter, so that the adapter can query every 5 secs?

    You can use polling feature when you configure your DB adapter Operation Type as "Poll for New or Changed Records in Table"
    If you use Adapter configuration wizard it will promot for "Pollling Options" and Polling Frequency is the option which you can configure in seconds, mins or hrs

  • Database adapter MCF configuration for jDeveloper

    Hi All-
    Help me to understand the mcf configuration in database adapter wsdl.
    When we develop BPEL process, the database adapter wsdl file has mcf configuration mentioned in it from the connection we made in jDeveloper. wsdl file also has JNDI locaton which we actually need to define in application control of SOA suite which in runtime gets the database detail from application control of SOA suite, not from mcf details.
    It always recomended to remove the mcf, is it because if the JNDI mention is not defined in the SOA application control, it may look for the mcf configuration too and if found it will fire the database connection mentioned at design time.
    Thanks in advance.
    Regards,
    Sreejit

    Hi Sreejit,
    Please note that the .mcf properties has dependency on JDeveloper. As it is currently, the .mcf properties only have relevance on the platform on which the process was developed.
    The process can only be worked on by another developer on another platform if these properties remain in place. If deleted, the connection information can no longer be edited in the wizard, and so the connection is effectively hardcoded. This unnecessarily complicates the development process since it results in multiple versions of a single BPEL process as it moves throughout the
    development lifecycle and into Production, adding signficant busy work on top of the normal development activities. Moreover, these properties are a JDeveloper/Oracle convention and not part of the open standard WSDL specification.
    Hope this helps!
    Cheers
    Anirudh Pucha

  • Database adapter for performing sync read of N records at a time

    Would anyone have an example and/or documentation related to performing a select operation in a database adapter where the adapter can fetch N number of records at a time? The database adapter would not be an activation agent/point polling for changes to any records, but invoked in the middle of the process. I searched for this in the samples folder and online but found nothing.
    Any help would be appreciated.
    Thanks.

    Hi,
    Do you want to know the best way to integrate Oracle BPEL to OTM? Then it's simple webservice call from BPEL using http binding.
    If you want to connect to Apps inbound then you can either use DB adapter or JMS adapter or Apps adapter which ever best suites your business requirement.
    Rgds,
    Mandrita.

  • Database table for Pricing Condition

    Hi,
    Can some one pls help me in finding the database table where I can fetch all the Access Sequences ('A' tables) associated for a particular Pricing Condition.
    Regards,
    Pankaj.

    Hi,
    Goto T685 and fetch KOZGF for your condition type(KSCHL) and KVEWE = 'A'.
    Goto T682I and fetch KOTABNR vaues for all entries in above selected table based on KVEWE = 'A', KAPPL and KOZGF.
    Prefix 'A' to above selected KOTABNR values to get the 'A' tables.
    Hope this helps you!!!
    Regards,
    Ganga

Maybe you are looking for

  • Multi-Section Word Document Won't Save as Single pdf

    I'm using MS Word 2004 and have a document split into 3 sections (so to permit landscape printing of the middle section containg a bunch of big tables, portrait on the two others containg text mostly, before and after). When I try to create a pdf wit

  • Synonym USER_OBJECTS in MAXDB 7.7.06.09

    I've installed MAXDB on 7.7.06.09 on a Windows2003-server. Then i create a dba-user. In MaxDB 7.6 i use the synonym USER_OBJECTS in my sql-scripts for generating my database. In MAXDB 7.7.06.09 is that synonym not available. Does somebody know why? D

  • C3-01 Touch Screen not working

    The touch screen on my Nokia C3-01 has suddenly stopped working, making the phone totally unusable. I can receive calls using the keys but there doesn't seem to be any way of unlocking it so I can make calls.  Any suggestions welcome!  Many thanks

  • Edit .CSV file in StarBase

    Can I edit a .CSV file with StarBase? I've been able to open the file, but can't edit. I created a data entry form, but it opens in read only mode. I'm not all that familiar with databases, so please excuse my ignorance. Dave

  • Wirelessly networking Macbook Pro with Powerbook G4

    I have a Macbook Pro, and a Powerbook G4. Both running Tiger. Both connected fine to the internet via Dlink wireless router. But when I click in Macintosh HD -> Network, neither of them show the other in the list. I want to be able to move files betw