Advice on Communication VI's - Polling for replies

Advice on Communication VI’s - Polling for replies
Hi all
I have been given the task of improving the performance my works communication vi’s. One of the main areas I have found that needs improving is how we implement a delay between a commands being transmitted and when we read back the data from the DUT. Currently we use the flowing steps:
  • Convert text string into Hex
  • Transmit Hex commands to DUT using appropriate protocol (TCP, USB)
  • Wait Xms
  • Read Reply
  • Check Reply is valid
The main issue we have is that we adjust the X ms delay to cover the slowest possible command the DUT supports (~2 sec), however most command will return in ~20 ms. I am planning to replace the “wait X ms” vi with a vi that will continuously reads/polls until it receives a valid reply. This way communication vi will only delay for the require amount of time. This is the area I could do with some advice. Should I continuously poll/read to detect if a reply has been received, or is there a better method of detecting arrive of a reply?
Any advice would be gratefully received
D.Barr

Hi 148,
I have attached an example vi. It does not run as is just an indication of what i think you need. I wanted to just post a pic of it to give you and idea but my browser kept on crashing and im too intoxicated to figure out why so you can view the example instead.
Would be an idea to run a seperate loop that constantly scans the tcp read vi. If you set it in standard mode, it will either update all read bytes once 'bytes to read' is complete or update with the bytes read once the vi times out. This can then update a functional global that acts as a data buffer and message parser. Your main loop can then poll this for any new input messages. I havent included the functional global just an example of what the dedicated loop should do.
Hope this points you in the right direction. Im off to bed, goodnight.
Lucither.
"Everything should be made as simple as possible but no simpler"
Attachments:
TCP buffer.vi ‏8 KB

Similar Messages

  • File adapter, trigger if no file is polled for pre-defined time

    Hi',
    I am polling for a file in a directory, my requirement is to notify by a email
    if no file is polled for 1 hour or so, i.e. if no file comes in that directory for
    long time.
    Is there a way we can achieve this, I tried using a pick activity instead of
    receive, however it does not allow on-alarm in this condition.
    Please advice.
    Thanks
    Yatan

    If you dont want to use database then you can do with your files as well, if at all you are archieving the files.
    Say as soon as i get the files in the folder the adapter will read its content and then move it to archive folder, then you can have a logic to list the file and get the timestamp of the latest file from archive and compare with current time stamp and that will trigger a mail.
    You can achive the above using API.
    Thanks,
    Vijay

  • Sender SFTP Adapter channel is not polling for files

    Hello All,
    Couple of SFTP sender adapter channel was failing in Developent system with u201Cdirectory listingu201D error.All SFTP sender channels stopped polling for the files in Developent system  . We were unable to find the reason for adapter failure, Hence we restarted the j2ee server and adapter started polling files. Later we are facing the same issue in Quality system. THe adapter cahnnel is not polling files in Quality system even.
    All lean tool adapters were showing the u201CHost key was not accepted erroru201D on 27th of Feb . As per the other channel trace, the time stamp of last successful polling and error time stamp of lean tool sender channels are exactly same
    Eventhough two communication channels access the same SFTP adapter, one communicationchannel is getting 'Host key was not accepted error' but in other communication channel, files are getting picked.
    Please let me know the solution if you have come accross this issue previously
    Regards,
    DilipKumar

    Hi Mike,
    Thanks for your reply.
    Its not a standard SFTP adapter rather its a C-BURGER SFTP adapter.
    Sorry I did not mention this in my previous post
    Regards,
    DilipKumar

  • SNMP polling for 5108 Chassis

    I'm attempting to set up SNMP statistics polling for the 5108 Chassis with 4 half width blade servers. I can get SNMP data from the 6120 Fabric Extender just fine such as IFs and such, but I don't see any OIDs corrisponding to the chassis.
    Is there a separate host I should poll for the chassis, or perhaps a different community name?
    I'm specifically looking to monitor power draw from the four Chassis PSUs, as well as the two FE PSUs.
    root@sj-mon:~# snmpwalk -v 2c -c public ucs1 .1.3.6.1.4.1.9.9.117.1.1.1
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.1.470 = INTEGER: 2
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.1.471 = INTEGER: 2
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.2.470 = STRING: "CentiAmps @ 12V"
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.2.471 = STRING: "CentiAmps @ 12V"
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.3.470 = INTEGER: 4538
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.3.471 = INTEGER: 4538
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.4.470 = INTEGER: 29
    SNMPv2-SMI::enterprises.9.9.117.1.1.1.1.4.471 = INTEGER: 29
    Here is all I've been able to pull for the FE PSUs, and the 4538 value doesn't seem to have any correlation to what's being shown in the UCS Manager under Statistics.
    Thanks!

    There are no stats for the chassis.
    You can only snmpget stats for the "NXOS" part of the Fabric Interconnect.
    You can get snmptraps for all of UCS (go a google for UCS-MIB, and there's a doc explaining this on cisco.com - do a google for site:cisco.com ucs documentation roadmap).
    At the end of the year I believe a full MIB will be available to do what you want.
    If you want stats, use the XMLAPI.
    Cheers
    Steve

  • How can i disable iphone 4s apple email, and substitute gmail app, which allows for replies, compose, send

    iphone4s built-in email is frustrating because it does not allow for replies to incoming mail; deletions and archiving, composing new mail, et al., as gmail does.. is it possible to disable or eliminate iphone email app and sub for gmail app, which i use regulary, just as i do on my laptop?
    if not, what alternative solutions exist?
    thanks very much.,

    In the native iOS app, if you set the default behavior to send a deleted message to Trash, you can still Archive it by moving it to "All Mail" in the same way you can move a message to any other folder.
    As for the GMail app, I don't see a need for it but I suppose it depends on what you want.  You can have multiple GMail accounts set up on your device with the iOS Mail app, but if you want a quick way to switch between accounts you can use the GMail app for a particular account and iOS Mail for another.  Beyond that I don't see any advantage to the GMail app, other than maybe a priority Inbox.  The iOS Mail app can do push notifications for GMail if you set it up as an Exchange account (see below), so they're equivalent in that regard.
    Since you're a GMail user, you might want to delete your GMail account in iOS settings and re-create it as an Exchange account.  That way you get push notifications, and your GMail contacts automatically remain synced between GMail and your device (over the air, no need to re-sync to iTunes).  To do this, read the article below:
    http://support.google.com/mobile/bin/answer.py?l=en&topic=14252&answer=138740
    One caveat though:  When you set GMail up as an Exchange account, the default behavior of deleting a message is Archive (even though the button will say Delete).  To change this default, the only way is to use your iPhone's Safari to navigate to m.google.com/sync after you set up your Exchange account on your iPhone.  There you can change the behavior to actually delete a message when you tap Delete. Other than that little task (a one-time thing) you'll be set.

  • Getting SocketException: Error in poll for fd: 'nn', revents 'nn+n'

              I'm running WL 5.1 SP9 on a HP9000 HPUX 11.0 with JRE 1.2.2-06 and I get the following:
              java.net.SocketException: Error in poll for fd: '21', revents: '25'
                   at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:304)
                   at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
              Any help appreciated.
              Please cc my email if possible
              Thanks
              Ricky
              

    Derrick,
    I believe that this is a spurious error caused by a HTTP client which
    doesn't close the socket cleanly. This exception should be squelched in
    newer versions of the product. Until you can upgrade I believe you can
    safely ignore this message.
    Regards,
    Adam
    "Derrick" <[email protected]> wrote in message
    news:3a7834ef$[email protected]..
    >
    I am running apps server 5.1 on LINUX kernal 2.2 and using the POSIXperformance pack
    that was listed in a thread on this newsgroup (libmuxer.so) and am gettingthe following
    error sporatically...
    Wed Jan 31 11:39:15 EST 2001:<E> <HTTP> Connection failure
    java.net.SocketException: Error in poll for fd: '30', revents: '24'
    atweblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:290)
    atweblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Has anyone seen this error and if so, does this perofrmance pack have knowissues
    with lost FDs? Should I run the app server without a performance pack ?
    thanks in advance for you help.

  • File Adapter going into infinite mode while polling for the file

    Hi,
    I am facing an issue while the file adapter is reading the data from the file.
    If the file from which it is reading has been deleted it keeps on polling for it infinite number of times and also doesn't pops out with any error message. Is there any method that after polling for some time period we can pop out a message that the particular file is not available and then the file adapter should stop polling for the file.Anyone has some ideas about this. Any pointers will be of great help.
    Thanks
    Vinay
    Message was edited by:
    soachd

    Hi soachd,
    As far as I understand polling is infinite process. You need to adopt this strategy if you are expecting some thing to happen all the time or may be when you want to be ready when ever an expected event happens. This provides a real time solution but with the downside of infinite execution.
    Hope it helps.
    Kalyan.

  • Weblogic 9.2 Error in poll for fd=60, revents=32

    hello,
    Glad to talk with you。
    When my web application running on weblogic 9.2,it often happens a problem, as follows:
    <2010-7-14 下午01时15分26秒 CST> <Error> <Kernel> <BEA-000802> <ExecuteRequest failed
    weblogic.utils.NestedError: Error adding FD to epoll.
    weblogic.utils.NestedError: Error adding FD to epoll
    at weblogic.socket.EPollSocketMuxer.read(EPollSocketMuxer.java:86)
    at weblogic.servlet.internal.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java:211)
    at weblogic.servlet.internal.VirtualConnection.requeue(VirtualConnection.java:323)
    at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1267)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1353)
    Truncated. see log file for complete stacktrace
    java.io.IOException: epoll_ctl failed: Bad file descriptor
    at jrockit.ext.epoll.EPoll.epollEnableOneshot(II)V(Unknown Source)
    at weblogic.socket.EPollSocketMuxer.read(EPollSocketMuxer.java:72)
    at weblogic.servlet.internal.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java:211)
    at weblogic.servlet.internal.VirtualConnection.requeue(VirtualConnection.java:323)
    at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1267)
    Truncated. see log file for complete stacktrace
    and another problem:
    <Error> <HTTP> <BEA-101083> <Connection failure.
    java.net.SocketException: Error in poll for fd=60, revents=32
    at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:133)
    at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    >
    thanks
    regards,
    lijun

    Hi,
    For WLS version 9.2 there is a Fix Available for the same issue : CR309671 Please contact Oracle support to get the Patch (CR309671).
    After BEA/Oracle integration the Patch Naming convention is changed so to get the TAR version of the Patch Number u need to contact Oracle Support.
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/ (WebLogic Wonders Are Here)

  • Polling for database updates fails to update sequence file/table

    I have a small system to poll for changes to a database table of student details. It consists of:
    Database adapter, which polls the database for changes, retreives a changed row, and passes the generated XML to -
    "receive" router service, which simply passes the retrieved database XML data to -
    "execute" router service, which transforms the XML and passes the new message to -
    File Adapter, which writes the transformed XML to a file.
    The problem is that the database polling is not updating the sequence recorder - I have tried using a sequence file which stores the personnumber, a sequence table which stores the personnumber and a sequence table which stores the last-updated timestamp. In all cases the database adapter successfully reads the sequence file/table and retreives the correct row, based on the sequence value ( I have tested this by manually changing the sequence value), the data is transformed and a correct xml file is created, but the system then fails to update the sequence file/table so that when the next polling time comes around the very same database row is extracted again and again and again.
    In the ESB control panel I have one error: "Response payload for operation "receive" is invalid!"
    The Trace is:
    oracle.tip.esb.server.common.exceptions.BusinessEventRejectionException: Response payload for operation "receive" is invalid! at oracle.tip.esb.server.service.EsbRouterSubscription.processEventResponse(Unknown Source) at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source) at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source) at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source) at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source) at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(Unknown Source) at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(Unknown Source) at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:281) at oracle.tip.adapter.db.InboundWork.onMessageImpl(InboundWork.java:1381) at oracle.tip.adapter.db.InboundWork.onMessage(InboundWork.java:1291) at oracle.tip.adapter.db.InboundWork.transactionalUnit(InboundWork.java:1262) at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:501) at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:401) at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43) at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242) at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215) at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:819) at java.lang.Thread.run(Thread.java:595)
    The payload is:
    <PersonCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/ISSSimIN">
    <Person>
    <name>Bob</name>
    <surname>Stupid</surname>
    <istatus>2</istatus>
    <active>Active</active>
    <personnumber>3001</personnumber>
    <role>Staff</role>
    <organization>TEX</organization>
    <updateTimestamp>2007-11-29T14:06:55.000+00:00</updateTimestamp>
    </Person>
    </PersonCollection>
    The payload above is the XML output from the Database adapter, the xsd for which was autogenerated by JDeveloper, so I don't understand how it can be invalid.
    I have only been working with ESB for 3 days, but half of that time has now been spent stuck on this issue. Anyone got any ideas??
    Richard

    You need to be careful. Submit and committing to the database are two different things.
    Submit on a page (and autoSubmit the property) are only posting the changes you typed into the field, back down to the application server. NOTHING is happening with the database at this point. So the applications's internal "cache" of records (using something like ADF BC) is holding the changes but the database doesn't know anything. So if you quit now, no changes will go to the database.
    These changes onlyget submitted down to the app server when you do some sort of action like press a button. Simply navigating fields will be doing nothing back to the app server. If you add autoSubmit then you will automatically submit the changes on that field down to the app server when you leave the field (but again, this is not touching the database)
    You have to explicitly add a COMMIT operation to save those changes to the database.
    Maybe if you try in a simple EMP example and send us your findings we can help direct you further.
    Regards
    Grant

  • Polling for files using SAP workflow

    Hi all. First of all, I am not sure if this is the correct forum for this question.. Please let me know if it needs to be moved.
    I need to know if it is possible to use SAP Workflow to keep looking (polling) for files in a certain directory? I know I can do this in XI, but need to know if the same capability is available within Workflow? If it is possible, can anyone tell me how / where to find the information on how to do it?
    Any help is greatly appreciated.
    Cheers,
    Thomas

    Hi- Both the ways are possible
    1. Extended Notification (you need to configure and schedule prog.) which will send email automatically to outlook (based on user's mail id in SU01D) whenever the approver receives new approval task and the email will have link to Approve/Reject (based on the underlying WF step). When approver clicks on the link, it will ask for user id/pwd and approver can take decision
    2. You can also send plain email notification in WF using mail step to outlook and based on the mail, approver can take action from inbox
    Vinoth

  • RMAN-10011: synchronization error while polling for rpc 8, action=startdefa

    Could anybody explain what is this error message caused by?
    TIA
    The entire spool below:
    051107064744: NetBackup RMAN Backup Started
    ORACLE_SID=db02
    backup_type=cold
    number_of_channels=2
    Started by: Oracle
    051107064745: Checking database status
    051107064745: Database status: OPEN
    051107064745: Getting database password
    051107064746: Checking database password
    051107064746: Database password: Valid
    051107064746: Checking Database mode
    051107064746: Database mode: NOARCHIVELOG
    051107064746: Shutdown no archive
    051107064838: RMAN BACKUP STARTED
    Recovery Manager: Release 10.1.0.4.0 - 64bit Production
    Copyright (c) 1995, 2004, Oracle. All rights reserved.
    connected to target database: db02 (DBID=3504436532)
    RMAN> connect catalog *
    2> run
    3> {
    4> sql 'alter session set sort_area_size=12582912';
    5> sql 'alter session set sort_area_retained_size=1048576';
    6> allocate channel t1 type 'SBT_TAPE' parms="ENV=(NB_ORA_POLICY=ORA_solcdi02, NB_ORA_SERV=sun4)"
    7> format 'df_%d_%p_%u_%t';
    8> set limit channel t1 maxopenfiles=1;
    9> allocate channel t2 type 'SBT_TAPE' parms="ENV=(NB_ORA_POLICY=ORA_solcdi02, NB_ORA_SERV=sun4)"
    10> format 'df_%d_%p_%u_%t';
    11> set limit channel t2 maxopenfiles=1;
    12> backup database filesperset=64
    13> include current controlfile;
    14> sql 'alter database open';
    15> release channel t1;
    16> release channel t2;
    17> }
    18>
    connected to recovery catalog database
    starting full resync of recovery catalog
    full resync complete
    sql statement: alter session set sort_area_size=12582912
    sql statement: alter session set sort_area_retained_size=1048576
    allocated channel: t1
    channel t1: sid=160 devtype=SBT_TAPE
    channel t1: VERITAS NetBackup for Oracle - Release 5.1 (2004122521)
    allocated channel: t2
    channel t2: sid=159 devtype=SBT_TAPE
    channel t2: VERITAS NetBackup for Oracle - Release 5.1 (2004122521)
    Starting backup at 11-MAY-07
    channel t1: starting full datafile backupset
    channel t1: specifying datafile(s) in backupset
    input datafile fno=00005 name=/oradata/10gid/u01/grid102/grid102/mgmt.dbf
    input datafile fno=00006 name=/oradata/10gid/u01/grid102/grid102/mgmt_ecm_depot1.dbf
    input datafile fno=00007 name=/oradata/10gid/u01/grid102/grid102/system02.dbf
    input datafile fno=00004 name=/oradata/10grid/u01/grid102/grid102/users01.dbf
    channel t1: starting piece 1 at 11-MAY-07
    channel t2: starting full datafile backupset
    channel t2: specifying datafile(s) in backupset
    input datafile fno=00008 name=/oradata/10ggrid/u01/grid102/grid102/mngmecm02.dbf
    input datafile fno=00001 name=/oradata/10ggrid/u01/grid102/grid102/system01.dbf
    input datafile fno=00002 name=/oradata/10ggrid/u01/grid102/grid102/undotbs01.dbf
    input datafile fno=00003 name=/oradata/10ggrid/u01/grid102/grid102/sysaux01.dbf
    channel t2: starting piece 1 at 11-MAY-07
    channel t2: finished piece 1 at 11-MAY-07
    piece handle=df_GRID102_1_19ihecmm_622277334 comment=API Version 2.0,MMS Version 5.0.0.0
    channel t2: backup set complete, elapsed time: 00:06:05
    channel t2: starting full datafile backupset
    channel t2: specifying datafile(s) in backupset
    including current controlfile in backupset
    channel t2: starting piece 1 at 11-MAY-07
    channel t2: finished piece 1 at 11-MAY-07
    piece handle=df_GRID102_1_1aihed24_622277700 comment=API Version 2.0,MMS Version 5.0.0.0
    channel t2: backup set complete, elapsed time: 00:00:35
    channel t1: finished piece 1 at 11-MAY-07
    piece handle=df_GRID102_1_18ihecmm_622277334 comment=API Version 2.0,MMS Version 5.0.0.0
    channel t1: backup set complete, elapsed time: 00:06:48
    Finished backup at 11-MAY-07
    Starting Control File and SPFILE Autobackup at 11-MAY-07
    piece handle=c-3404436532-20070511-00 comment=API Version 2.0,MMS Version 5.0.0.0
    Finished Control File and SPFILE Autobackup at 11-MAY-07
    sql statement: alter database open
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-10010: error while checking for RPC completion
    RMAN-10011: synchronization error while polling for rpc 8, action=startdefault
    Recovery Manager complete.
    051107065708: RMAN BACKUP FAILED, RMAN exit status=1
    051107065708: Cleaning log file (removing passwords)
    051107065709: Error Log Check
    051107065837: Rman Stat Generator
    051107065956: Backup Html Generator
    051107065956: NetBackup RMAN Backup Finished
    ######################################################

    Check on metalink:
    RMAN-10011: synchronization error while polling for rpc 3, action=startdefault
    Note:429572.1
    Werner

  • Polling for change in status in db

    Hello,
    In my current process I need to wait for the change in status (or a new record) in a database.
    A while loop, is making the process too large and is not probably the way to go.
    Can I achieve this using the db adapter, it has a poll for change but it does not have any parameters.
    The query generated is [SELECT ID, DEC_NO, PICK FROM POLL_TEST ORDER BY DEC_NO ASC]
    but what I need is [SELECT ID, DEC_NO, PICK FROM POLL_TEST where DEC_NO=#parameter from input]
    My flow is like this:-
    Step 1 - receive
    Step 2 - some other operations
    Step 3 - wait //my problem is here
    Step 4 - continue with process
    Any other way this can be achieved?
    Using Oracle SOA suite 10.1.3.1
    Thanks.
    Edited by: sashwat on Jan 6, 2009 9:32 AM

    Hey,
    Here is a short sample :
    CREATE OR REPLACE PACKAGE "TRAINING"."PCK_PARAM" as
    procedure p_set_param( p_val varchar2 );
    function f_get_param return varchar2;
    end;/
    CREATE OR REPLACE PACKAGE BODY "TRAINING"."PCK_PARAM" AS
    param VARCHAR2(100);
    procedure p_set_param( p_val varchar2 ) AS
    BEGIN
    param := p_val;
    END p_set_param;
    function f_get_param return varchar2 AS
    BEGIN
    RETURN param;
    END f_get_param;
    END PCK_PARAM;/
    create view vw_test as select ename from emp where ename = pck_param.f_get_param;/
    select * from vw_test => Returns nothing as the param is null/
    select * from emp/
    begin
    pck_param.p_set_param('KING');
    end;/
    select * from vw_test => Returns the row for ename = 'KING'/
    begin
    pck_param.p_set_param('XXXX');
    end;/
    You can in that way have a parametrised view so you can poll for change on it.
    Cheers,
    Arnaud

  • DBAdapter polling for new or changed records not issuing callback?

    I have a process which includes a partner link with a database adapter.
    The database adapter is to poll a table for new records using an external database server.
    I have no relationships setup, it's a single-table query.
    The adapter is configured to delete rows after they are read.
    I have the receive process of that partner link tied to a receive activity and its own input variable assigned.
    My process compiles and deploys successfully. When I initiate the process through the BPEL console, the instance of the process waits at the receive activity and nothing happens, even after I manually add records to the table being polled. (which do get deleted, apparently by the partner link.)
    I have other dbadapter partner links in the same process using the same connection that work fine, specifically using procedure execution and custom sql queries.
    I can't find any errors or warnings about this, and the interactions manager in the BPEL Console allows me to manually send a message to the instance, allowing it to continue.
    The application server is 10.1.3.1.0 and I am using JDeveloper 10.1.3.2.0.4066
    Message was edited by:
    Paul.Dunbar
    Follow-up:
    When I set activation logging to debug, I get the following in domain.log
    <2007-04-03 08:15:28,591> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2007-04-03 08:15:28,591> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> SELECT SOME_ID, SOME_VALUE FROM PAULD.SOME_TABLE ORDER BY SOME_ID ASC
    <2007-04-03 08:15:28,592> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    From looking at this it may be that the callback to the receive activity is not occurring?
    Message was edited by:
    Paul.Dunbar
    Second follow-up:
    I'm still having this issue but must give up on troubleshooting.
    Documentation on polling adapter says nothing about handling callbacks, I've been trying to use correlations here with no luck. I'm also not seeing any documentation about setting up correlations for use with the database adapter.
    now the issue I'm having is that the inbound database adapter is still polling my table and deleting records, even though I've undeployed my process.

    I did not. Currently the manual recovery area is empty. I've tried re-deploying my process and am now getting the following in my logs (all debugging on):
    <2007-04-05 08:01:36,671> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::acquire> Acquired read lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,671> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::release> Released lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,672> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::acquire> Acquired read lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,672> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::release> Released lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,678> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::getConnection> GOT CONNECTION 1 Autocommit = false
    <2007-04-05 08:01:36,681> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::closeConnection> CLOSE CONNECTION 0
    <2007-04-05 08:01:36,681> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::getConnection> GOT CONNECTION 1 Autocommit = false
    <2007-04-05 08:01:36,682> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::closeConnection> CLOSE CONNECTION 0
    <2007-04-05 08:01:36,686> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::acquire> Acquired read lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,687> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::release> Released lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,688> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::acquire> Acquired read lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,688> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::release> Released lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,688> <DEBUG> <default.collaxa.cube.engine.deployment> <LockManager::acquire> Acquired write lock for SendEventNotice-1.0
    <2007-04-05 08:01:36,688> <DEBUG> <default.collaxa.cube.engine.data> <BaseProcessPersistenceAdaptor::updateMetaData> Updating process metadata [ domain = default, process = SendEventNotice, revision = 1.0, state = 0, lifecycle = 0 ]
    <2007-04-05 08:01:36,688> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::getConnection> GOT TX CONNECTION 1 Autocommit = false
    <2007-04-05 08:01:36,691> <DEBUG> <default.collaxa.cube.engine.dispatch> <BaseDispatchSet::receive> Receiving message log process event message 61b55bd8c71ae1e3:-3d66bcb1:111c1b2d4aa:-7f9c for set system
    <2007-04-05 08:01:36,691> <DEBUG> <default.collaxa.cube.engine.dispatch> <Dispatcher::adjustThreadPool> Allocating 1 thread(s); pending threads: 1, active threads: 0, total: 84
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine.dispatch> <DispatcherBean::send> Sent message to queue
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class oracle.bpel.services.rules.DeploymentListener with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class com.collaxa.cube.engine.test.driver.deployment.BPELTestDeployer with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class oracle.bpel.services.workflow.task.PurgeTask with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.services> <oracle.bpel.services.workflow.task.PurgeTask::update(ICubeAspect> Called for aspect com.collaxa.cube.engine.observer.ProcessStateChangeAspect
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class oracle.tip.esb.configuration.deployment.bpel.BPELSvcDeploymentManager with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine.dispatch> <SystemDispatchSet::fetchScheduled> Fetched message log process event message 61b55bd8c71ae1e3:-3d66bcb1:111c1b2d4aa:-7f9c from system queue for processing
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine.dispatch> <LogProcessEventMessageHandler::handle> Processing log process event message 61b55bd8c71ae1e3:-3d66bcb1:111c1b2d4aa:-7f9c
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class com.collaxa.cube.engine.data.CubeInstanceCache with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class oracle.bpel.services.workflow.DeploymentListener with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.services> <oracle.bpel.services.workflow.DeploymentListener::update(ICubeAspect> Called for aspect com.collaxa.cube.engine.observer.ProcessStateChangeAspect
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.engine> <DomainObserverRegistry::notify> Notifying observer class com.collaxa.cube.engine.core.BaseCubeProcess$ActivationObserver with aspect class com.collaxa.cube.engine.observer.ProcessStateChangeAspect for domain default
    <2007-04-05 08:01:36,693> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::onStateChanged State is changed for process 'bpel://localhost/default/SendEventNotice~1.0/', state=ON
    <2007-04-05 08:01:36,693> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - endpointActivation for portType=initialCoordination_ptt, operation=receive
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Looking up jca:address...
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Looking up WSDL Service jca:address for portType=initialCoordination_ptt and operation=receive
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Locating Resource Adapter for jca:address.. {http://xmlns.oracle.com/pcbpel/wsdl/jca/}address: location='eis/DB/TST2' ManagedConnectionFactory='oracle.tip.adapter.db.DBManagedConnectionFactory' (properties: {Password=E466676A7A458FA6EBCFF72E13C04843, PlatformClassName=oracle.toplink.platform.database.oracle.Oracle10Platform, ConnectionString=jdbc:oracle:thin:@//lxdb2:1521/TST2, DriverClassName=oracle.jdbc.OracleDriver, UserName=SONRIS_DBA})
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Setting up Input Header Message QName: null
    <2007-04-05 08:01:36,693> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Setting up Input Header Part Name: null
    <2007-04-05 08:01:36,694> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::getConnection> GOT TX CONNECTION 2 Autocommit = false
    <2007-04-05 08:01:36,694> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Setting Adapter Name: Database Adapter
    <2007-04-05 08:01:36,694> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Determining Input and Output WSDL Message elements
    <2007-04-05 08:01:36,695> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Creating ActivationSpec...
    <2007-04-05 08:01:36,695> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Instantiating ActivationSpec oracle.tip.adapter.db.DBActivationSpec
    <2007-04-05 08:01:36,695> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Populating ActivationSpec oracle.tip.adapter.db.DBActivationSpec with properties: {MaxRaiseSize=1, MarkReadFieldName=DONE_READING, UseBatchDestroy=false, MarkUnreadValue=UNREAD, ReturnSingleResultSet=false, QueryName=initialCoordination, MarkReadValue=READ, MarkReservedValue=RESERVED, DescriptorName=initialCoordination.AnotherTable, NumberOfThreads=1, MappingsMetaDataURL=initialCoordination_toplink_mappings.xml, PollingStrategyName=LogicalDeletePollingStrategy, PollingInterval=5, SequencingFieldName=AN_ID, MaxTransactionSize=unlimited}
    <2007-04-05 08:01:36,697> <DEBUG> <default.collaxa.cube.engine.data> <ConnectionFactory::closeConnection> CLOSE TX CONNECTION 1
    <2007-04-05 08:01:36,700> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Preparing ActivationSpec for Translation Service
    <2007-04-05 08:01:36,701> <DEBUG> <default.collaxa.cube.engine.dispatch> <BaseDispatchSet::acknowledge> Acknowledged message log process event message 61b55bd8c71ae1e3:-3d66bcb1:111c1b2d4aa:-7f9c
    <2007-04-05 08:01:36,705> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Preparing ActivationSpec for Connection Factory and Properties
    <2007-04-05 08:01:36,705> <DEBUG> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Invoking endpointActivation() on Resource Adapter
    <2007-04-05 08:01:36,708> <INFO> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.DBResourceAdapter endpointActivation> Activating: oracle.tip.adapter.db.DBActivationSpec@4e7ed
    <2007-04-05 08:01:36,710> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2007-04-05 08:01:36,713> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2007-04-05 08:01:36,715> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.DBEndpoint start> About to schedule the inbound polling thread with the work manager. ActivationSpec: oracle.tip.adapter.db.DBActivationSpec@4e7ed
    <2007-04-05 08:01:36,716> <INFO> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.DBEndpoint start> Kicked off 1 threads.
    <2007-04-05 08:01:36,717> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2007-04-05 08:01:36,719> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2007-04-05 08:01:36,721> <DEBUG> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.TopLinkLogger log> rollback transaction
    <2007-04-05 08:01:36,722> <ERROR> <default.collaxa.cube.activation> <Database Adapter::Inbound> <oracle.tip.adapter.db.InboundWork handleException> Non retriable exception during polling of the database ORABPEL-11624
    DBActivationSpec Polling Exception.
    Query name: [initialCoordination], Descriptor name: [initialCoordination.AnotherTable]. Polling the database for events failed on this iteration.
    If the cause is something like a database being down successful polling will resume once conditions change. Caused by Exception [TOPLINK-6024] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException
    Exception Description: Modify queries require an object to modify.
    Query: UpdateObjectQuery(null).
    <2007-04-05 08:01:36,722> <FATAL> <default.collaxa.cube.activation> <AdapterFramework::Inbound> [initialCoordination_ptt::receive(AnotherTableCollection)]Resource Adapter requested Process shutdown!
    <2007-04-05 08:01:36,723> <FATAL> <default.collaxa.cube.activation> <AdapterFramework::Inbound>
    ORABPEL-11624
    DBActivationSpec Polling Exception.
    Query name: [initialCoordination], Descriptor name: [initialCoordination.AnotherTable]. Polling the database for events failed on this iteration.
    If the cause is something like a database being down successful polling will resume once conditions change. Caused by Exception [TOPLINK-6024] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException
    Exception Description: Modify queries require an object to modify.
    Query: UpdateObjectQuery(null).
    As reflected in the log messages, the process is automatically turned off. Turning it back on is ineffective, the server turns it back off with the same exception.
    This is a separate issue, but I'm not seeing much reason for this to be happening either. I've scrapped the process and started over, using my own BPEL process that simulates what I would expect that the dbadapter is supposed to do when it's configured to poll for records.

  • DB Adapter: Polling For New Records returns the First record multiple Times

    I Polling for New or Chnaged Records against DB2 on iSeries. The DB Adapter returns the first record from the Table multiple Times. If the Table has 5 records it displays the first record 5 times. I am using BPEL 10.1.3.1 Can anyone help me with this.

    Hi there,
    please check out the DBAdapter trouble-shooting guide:
    http://download-east.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/app_trblshoot.htm#CIHFEHFA
    I am copying an entry from there into here:
    A.1.21 Some Queried Rows Appear Twice or Not at All in the Query Result
    Problem
    When you execute a query, you may get the correct number of rows, but some rows appear multiple times and others do not appear at all.
    This behavior is typically because the primary key is configured incorrectly. If the database adapter reads two different rows that it thinks are the same (for example, the same primary key), then it writes both rows into the same instance and the first row's values are overwritten by the second row's values.
    Solution
    Open Application Sources > TopLink > TopLink Mappings. In the Structure window, double-click PHONES. On the first page, you should see Primary Keys. Make sure that the correct columns are selected to make a unique constraint.
    Save and then edit the database partner link.
    Click Next to the end, and then click Finish and Close.
    Open your toplink_mappings.xml file. For the PHONES descriptor, you should see something like this:
    <primary-key-fields>
    <field>PHONES.ID1</field>
    <field>PHONES.ID2</field>
    </primary-key-fields>
    Thanks
    Steve

  • DB Adapter infinite polling for the db

    Hi all Oracles
    I am facing a mazing pb. A BS publish all what is in the DB but, sometime with a duplication,X3,X4,, and so one)
    Any idea

    Hi,
    Thank's for the reply, so:
    1)DbAdapter:
    -Exposed service
    -Poll for new changes
    -Delete field
    -Other options: by default
    2)Proxy
    -From the DB adapter
    -purge the db, and delete fields
    -publish into a BS
    -log the field when it's written in the queue
    3)BS
    -Write straightforward all the outbounds in the queue.
    Thanks

Maybe you are looking for

  • WBS Element in AR

    Hi experts, Our client's free goods management utilizes Catalyst WBS control budget. Once the sales/mktg promotion activity is set up and place limited budget on WBS, it's been noted that WBS budget cannot control free goods if it is consumed as sale

  • How to modify PDF print template in Portal..

    Hi,    we are running BI and Portal (NW 7.0, SP14).     In the portal we enables the BI queries printing in PDF, but as far we use standard web template.     Now i copied the web template and want to add new Fields to the PDF document, such as like Q

  • Unable to reverse Depreciation

    Hi,     We have created one asset in the year 2008, Month -- Sept. Our fiscal year starts and ends from Oct-Sept. So for this asset the first Acquistion was done on Sept 2008 which was the last period of our 2008. After this the depreication being po

  • Text styling htmlText

    Hi all, i'm developping with Flex 2, i would use the Component Text, which accepts HTML. I have no problem with applying "font color", but i would like to apply a span class with a css file. After searching, i've seen some solutions for TextArea but

  • CS3 to CS4 Export Issues

    Hi All, I recently upgraded to PP CS4 and I after some initial quirks it seems to be running fine.  I just setup my first project and the source video files are 800x600 and I am choosing a custom format for output (same 800x600). What is really getti