Controlling the no. of retries for a synchronous database request

I have a synchronous send step in an Integration process to make a query to a database. I want the BPM to stop processing in case the synchronous request is not answered after 3 retries. Can the addition of a wait step in the Integration process help in this case, if it can where should it be added? Also can the JDBC comm channel parameter 'No. of retries of Database transaction on SQL error' help in this regard?
Edited by: diptee s on Jul 11, 2010 7:55 AM
Edited by: diptee s on Jul 11, 2010 8:09 AM

Thats riight. Also this will set the status of BPM to 'Error'
Now, in my system we have a background job which runs every 15 minutes and resarts all the BPMs which are in error at that moment.
This allows my BPM to resend the sync message and wait for a response when they are restarted.
What I want to be acheiving here is that my BPM shud stop after sending 3 such sync send i.e. 1 at the initial start and the other 2 after the BPM restart (due to the above mentioned background job).
I tried using a deadline branch for this; however whatever time i put in the dealine condition, the 1st BPM which starts never ends and some of the following BPMs wait after the sync send steps has been running for 6 minutes & 2 seconds some others never end like the first one.
Would you be able to explain the working of a deadline branch for a sync send request?
Note: I have also tried using a exception branch but this does not allow my BPM to be restrarted and hence send the sync request more than once, in case the first sync send does not receive a response within the HTTP timeout.
Edited by: diptee s on Aug 8, 2010 11:25 AM

Similar Messages

  • How to retrieve the Sapscript layout changes for a particular Transport request in development server after this Transport request so many requests created  ?

    Dear Abapers,
    I request the Abapers kindly reply for this blog
    I want to retrieve the sapscript layout changes for a particular transport request in development server after that many transport request created and moved to quality ? 
    I checked in SE03 transaction the transport request was there.  But I want to retrieve the existing transport request which is not moved to Quality?
    Is it possible to retrieve the existing transport request in development which is not moved to quality ?
    Like how we retrieving the programs using versions in development server,  In the same way I want to retrieve the sapscript layout in development server ?
    Thanks & Regards
    Muzeebur Rahiman.S

    Hi,
    There is no version management for SapScript or Smartforms .
    When you write "transport request in development which is not moved to quality" - was the transport ever released and exported from the development system? If yes, and if the "Transport files" are still available in "Transport directory" (or if the transport files were backed up and could be retrieved), the transport could be imported again. If the TR was not exported, you are out of luck, I believe...
    I would not recommend you do it on your own even if you happen to have enough authorizations (consult with Basis and/or Transport Admin, if you have one in your organization). I would not recommend that it's imported on a development system or QA system, even if the transport contains no other objects - only the SapScript form in question. Import it on a "sand-box" that gets overwritten by system copy from time to time... Once the transport is imported, you should have the old version of SapScript in that system and could analyse the changes and perform manual merge.
    cheers
    Jānis

  • How the transactional replication work for simple recovery database (looking for some internal concept)

    How the transactional replication work for simple recovery database (looking for some internal concept)
    Rahul

    There seems to be a new myth going around recently. I’ve had at least three people tell me, in the last month, that SQL’s transactional replication requires the database to be in full recovery.
    This is complete fabrication. Replication (SQL native replication, that is) can work with the databases in any of the recovery models.
    Transactional replication does involve the transaction log, as that’s where it picks up changes from. The log reader scans over the transaction log looking for log records marked for replication, copies those to the distribution database and then marks them
    as replicated. When the checkpoint (for simple recovery) or log backup (for full or bulk logged) occur, the log will only be truncated up to the oldest inactive, replicated transaction.
    Because transactional replication has its own way of ensuring log records aren’t discarded before been picked up by the log reader, there’s no requirement for a specific recovery model.
    Refer this link
    http://sqlinthewild.co.za/index.php/2008/12/05/a-new-sql-myth/
    --Prashanth

  • How to control the data to display for every users?

    Hello Experts,
    Im creating a module in ORACLE forms6i and I want to control all the data to display for every USERs. I have 1 Table and it has 5 columns.
    My module has 5 columns and 5 rows of records to display.
    Problems:
    For USER1, I want to display all DATA in column3 and column4 only and all remaining columns shoud be null.
    For USER2 , I want to dislplay all data in Column1 only and all remaining columns should be null.
    How can i control all the data to display for each columns? Can you help me please. Im using the Clear_Items but its not working only the first row are null but the remaining
    rows has its records.
    Thanks.
    Lala

    I understand that you want certain columns not to show at all on the canvas when a certain user opens the form. Then, in the when-new-form-instance trigger, you should set_item_property(x_item, visible, property_false) for each item you do not want to be dislayed, depending on the user.

  • Is there a way to control the number of concurrent SMTP connections on Database Mail?

    Las week Rackspace started controlling the number of concurrent SMTP connections and we are now getting the following message when we send as little as 15 messages at a time using Database Mail:
    Exception Message: Cannot send mails to mail server. (Service not available, closing transmission channel. The server response was: 4.7.0 smtp13.relay.dfw1a.emailsrvr.com Error: too many connections from IP xxx.xxx.xxx.xxx)
    We are using SQL Server 2005 and Windows 2003 and we have been doing this since 2006 with no problems
    Is there a way to control the number of concurrent SMTP connections used by Database Mail or the Database Mail external executable DatabaseMail90.exe?

    Hi rkohler,
    Usually, we can use the Database Mail Configuration Wizard or the Database Mail stored procedures to determine the server name and port number for the Simple Mail Transfer Protocol (SMTP) server . In the SMTP server points, we can set or increase the number
    of concurrent connections.
    There is similar issue about database email on SQL Server 2005, you can refer to the following post.
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/6bb7b600-f025-451b-898b-2caa29c10d4d/only-some-email-gets-sent-successfully-from-spsenddbmail-database-mail-on-sql-server-2005
    Thanks,
    Sofiya Li
    If you have any feedback on our support, please click here.
    Sofiya Li
    TechNet Community Support

  • To calculate the size of backup for a particular database in RMAN catalog

    Hi ALL,
    Could you please guide me how I can calculate the size of backup data for a particular database in Recovery Catalog, if I am using Tapes as my backup media for recovery catalog.
    Regards
    Harpreet Singh

    Hi,
    I am not Up to the mark of your question ..
    If you see the V$log you can get it.. Size of the redo logs can be determined either by examining the file system size or by reading the BYTES column on the V$LOG view. Then Check the number of redo Logs avaialble checked whether they are mirrored or etc., Combining the two figures we have a total redo log data at peak in one day. This is the amount of data that any backup facility or storage of Archive Redo Logs would have to take into account. This figure should be mitigated against the fact that manual switching of redo logs means that not all archived redo logs will be the full size.
    - Pavan Kumar N

  • How to control the RPM of motor for large rotating systems like rotary kilns?

    hi,i am working on the scale down model of rotary kiln.i want to know how can i control its RPM or speed ?

    NI provides various motion control solutions. Please refer to http://www.ni.com/motion/ for a starting point. Please feel free to post any specific question here.
    Thanks and best regards,
    Jochen Klier
    National Instruments

  • Can I control the amount of time for timed loop

    I was curious if it is possible to control how long each frame of the time loop takes or does it have to be constant for each section?

    You can change the period for the following iteration.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    change period.PNG ‏9 KB

  • How do I control the Quicktime Export settings for a project

    I want to make a printed photo album in iPhoto for my parents Diamond Wedding Anniversary and so have set up a project with the appropriate template. I now want to create a preview quicktime movie of the book so far in order to send it to my brother and sister. I chose file>export but I get no options for changing the transitions, music or timing of the movie.
    iPhoto help seems to imply that it will use the setting for the slide show but I have changed these with no effect. Am I out of luck and there is no option or have I missed something.
    Thanks
    Dave

    You're not able to set different transitions by that method. However, if you follow Old Toad's Tutorials #6 thru Step 5 you can create a slideshow in iPhoto with the transitions of your choice, music, etc. and use the Share->Send to iDVD menu option. You don't have to use iDVD after that as the exported movie will be saved in your Movies folder. From there, if you've got Quicktime Pro, you can open the movie in QT Player and export in any number of formats and sizes. It would depend on how you plan to deliver the movie as to what export option you would use.
    You could make an iWeb slideshow of the book like this demo page or create DVDs which can be played on TV sets by following Tutorial #6 thru to completion.
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto (iPhoto.Library for iPhoto 5 and earlier) database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger or later), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 6 and 7 libraries and Tiger and Leopard. Just put the application in the Dock and click on it whenever you want to backup the dB file. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.
    Note: There's now an Automator backup application for iPhoto 5 that will work with Tiger or Leopard.

  • Maximum retries for sending mail ( java mail api )

    Hi,
    How can I set the property "maximum retries for sending mail" for my smtp through java mail api ?
    Is there any property that I need to set in the Javamail session or any other way out ?
    Thanks.

    That's a server property. You would set that in your server configuration. JavaMail is for sending and receiving mail, not for controlling mail servers.

  • How to control the processing of the request?

    I have something like this:
    <h:inputText value="#{sessionController.currentRowData.settlementId}"/>
    <h:inputText value="#{sessionController.currentRowData.remark}"/>
    <h:inputText value="#{sessionController.currentRowData.fromDate}">
         <f:convertDateTime pattern="yyyy-MM-dd"/>
    </h:inputText>
    The currentRowData object is the currently selected row of a data model.
    Problem is, the model is updated with the value of the components whenever the form is submitted,
    and regardless of whether the value of the components has changed or not.
    (Actually, the behaviour depends on the type of the property, as ie. Date is treated differently from String or int.)
    This causes unwanted changes to the model, and, if a new row is selected, it will at once
    be updated with the values of the previous row (from the current state of the components).
    I want the above components to update the model only if the user wants to, ie. only if a
    specific command button is pressed.
    How to control this?
    Let a PhaseListener check the request, and do renderResponse on the FacesContext if
    the "selectRow" request is found in the request parameter map?
    This is not very elegant, and it does not seem to work either. If setting PhaseId to APPLY_REQUEST_VALUES, the action itself (selecting row)
    will not be executed, and if using UPDATE_MODEL_VALUES, the value of the components is set from the request (even if unchanged), and not updated according the the new data in the model (the rendered values does not reflect the values of the properties of the object the components are bound to)
    Another solution might be to let the "disabled"-attribute of the inputText tags be dependent on whether
    a specific "edit"-button has been pressed (disabled inputText tags are rendered correctly after a row change).
    But a better solution would to have the ability to control the behaviour, something like
    "for these components, no updating of state should be done unless the condition c is true"
    (I'm not sure what condition this could be, though).
    Whatever solution I may end up with, the real problem seems to be that the state (and hence the model)
    is updated from the request also in the case where the value in the request is the same as the current value of the component.
    Or maybe there is something I have missed here?
    erik

    This one is a tricky problem - a side-effect of JSF doing a lot of things automatically is that sometimes it does too much.
    I don't have a great solution, but here's a couple of ideas:
    (1) Try using multiple <h:form>s on your page (not nested one inside the other, but separate). Data will only get updated in the form that contains the button that got pressed.
    (2) Use an intermediate model layer, and discard updates as appropriate.
    Neither of these are beautiful solutions - the second is way ugly - but they might help. Long-range, I'd love to see something like "subforms" supported in JSF that can provide finer grained control over what gets processed (validations, model pushes, etc.) and what doesn't without resorting to the blunt hammer of multiple HTML forms.
    I'm a little confused about "the model is updated with the value of the components whenever the form is submitted, and regardless of whether the value of the components has changed or not.", because JSF is checking the old value and using ".equals()" to see if its changed. Note, however, that it's not caching the old value across the request, but simply going back to the model on the subsequent request, which may (or may not) explain the behavior you're seeing.
    -- Adam Winer (EG member)

  • How to control the number of instances of an object ?

    Hi all,
    Can anybody answer, How to control the number of instances of an object being created?
    suppose at any point of time, if i would like to have 5 instances at the maximum, how can i disable the further requests?
    Thanks in advance
    Pradi

    write a factory method that controls the number of instances for you:
    import java.util.List;
    import java.util.Arrays;
    public class Bar
       private static final int MAX_BARS = 5;
       private static int numBars = 0;
       private int id;
       public static void main(String [] args)
          try
             int numBars = ((args.length > 0) ? Integer.parseInt(args[0]) : MAX_BARS+1);
             Bar [] bars = new Bar[numBars];
             for (int i = 0; i < bars.length; ++i)
                bars[i] = Bar.create();
             System.out.println(Arrays.asList(bars));
          catch (Exception e)
             e.printStackTrace();
       private Bar() { this.id = numBars++; }
       public String toString() { return "I am bar number " + this.id; }
       public static Bar create()
          Bar nextBar = null;
          if (numBars < MAX_BARS)
             nextBar = new Bar();
          return nextBar;
    }%

  • How to control the  authorization of IM05 through  authorization object

    Now we want to control the  authorization of IM05 through  authorization object C_PRPS_USR, but C_PRPS_USR is not assigned to tcode im05.How can we assign authorization object C_PRPS_USR to tcode im05? OR do we have any other method to obtain the same result?

    write a factory method that controls the number of instances for you:
    import java.util.List;
    import java.util.Arrays;
    public class Bar
       private static final int MAX_BARS = 5;
       private static int numBars = 0;
       private int id;
       public static void main(String [] args)
          try
             int numBars = ((args.length > 0) ? Integer.parseInt(args[0]) : MAX_BARS+1);
             Bar [] bars = new Bar[numBars];
             for (int i = 0; i < bars.length; ++i)
                bars[i] = Bar.create();
             System.out.println(Arrays.asList(bars));
          catch (Exception e)
             e.printStackTrace();
       private Bar() { this.id = numBars++; }
       public String toString() { return "I am bar number " + this.id; }
       public static Bar create()
          Bar nextBar = null;
          if (numBars < MAX_BARS)
             nextBar = new Bar();
          return nextBar;
    }%

  • Which files are needed for connection to database in 11gR2?

    I'm confused about the following files:
    sqlnet.ora
    tnsnames.ora
    listener.ora
    host file
    If I understand correctly, sqlnet.ora and tnsnames.ora can exist in both client and Oracle database server and listener.ora should only exist in Oracle database server. I guess host file can exist in both client and Oracle database server.
    I'm trying to understand which of the files are needed to access Oracle 11gR2 database using different tools such as
    sqlplus, SQL Developer, and Database Control on Oracle database server or from a client machine.
    If I'm on an Oracle database server, which of the files are needed for accessing 11gR2 database on that server for the different tools?
    If I'm on a client machine, which of the files are needed for accessing 11gR2 database on an Oracle database server for the different tools?

    881656 wrote:
    I'm confused about the following files:
    sqlnet.ora
    tnsnames.ora
    listener.ora
    host file
    If I understand correctly, sqlnet.ora and tnsnames.ora can exist in both client and Oracle database server and listener.ora should only exist in Oracle database server. I guess host file can exist in both client and Oracle database server.
    I'm trying to understand which of the files are needed to access Oracle 11gR2 database using different tools such as
    sqlplus, SQL Developer, and Database Control on Oracle database server or from a client machine.
    If I'm on an Oracle database server, which of the files are needed for accessing 11gR2 database on that server for the different tools?
    If I'm on a client machine, which of the files are needed for accessing 11gR2 database on an Oracle database server for the different tools?sqlnet.ora is used to configure the actions of sqlnet on whatever machine. Some of the config parms available to it apply only to the server side, some apply only to the client side, some apply to both.
    tnsnames.ora is used by client processes to resolve a connect alias to a specicific host, port, and service. It is used ONLY by the client side of tns. You see it on host machines because those machines can also run client processes.
    host file. Oracle doesn't know what this file is. Oracle doesn't give a flying fig about this file. It is used by the standard network software in the OS to resolve a name to an IP address. The only reason you even see it discussed in the Oracle world is because Oracle TNS sits on top of the standard OSI network stack, and uses it. Thus, if your tnsnames file has an entry like:
    houston =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = vmlnx01)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = houston)
    #==========tns will never know or care where vmlnx01 is. The request will be packaged and sent to the standard network stack with a request to "route this package to vmlnx01, wherever that is.". The OS network stack will then resolve 'vmlnx01' to an ip address, by one of several possible methods. ONE of those methods is to look it up in the local hosts file.

  • Queue access method for In-memory databases

    Hi,
    I am trying to use the Queue access method for an in-memory database
    with no backing file. Here is the how I've created the environment and
    the database.
    int env_flags_create = DB_CREATE | DB_INIT_LOG | DB_INIT_LOCK |
    DB_INIT_MPOOL |DB_INIT_TXN |
    DB_SYSTEM_MEM | DB_RECOVER | DB_THREAD ;
    ret = env->set_shm_key(env, 17);
    ret = env->open(env, R_"in-mem-env", env_flags, 0644);
    int db_flags = DB_CREATE | DB_THREAD | DB_AUTO_COMMIT;
    DB_MPOOLFILE *mpf = subs_db->get_mpf(subs_db);
    mpf->set_flags(mpf, DB_MPOOL_NOFILE, 1);
    ret = queue_db->set_re_len(queue_db, 512);
    ret = queue_db->open(queue_db, NULL, NULL, "queue", DB_QUEUE,
    db_flags, 0644);
    My application has one reader threads and one writer thread. The
    writer write to the queue with the "DB_APPEND" flag and the reader
    consumes the queue using the "DB_CONSUME_WAIT" flag.
    After inserting a few thousand messages the database fails to insert
    any new records and starts returning the following error.
    "unable to allocate space from the buffer cache"
    From the db_stat -e output (attached below) I can see that none of
    the buffer cache pages are ever being freed up.
    149907 Requested pages found in the cache (99%)
    3 Requested pages not found in the cache
    2004 Pages created in the cache
    0 Pages read into the cache
    0 Pages written from the cache to the backing file
    0 Clean pages forced from the cache
    0 Dirty pages forced from the cache
    0 Dirty pages written by trickle-sync thread
    2004 Current total page count
    0 Current clean page count
    2004 Current dirty page count
    4099 Number of hash buckets used for page location
    153851 Total number of times hash chains searched for a page
    BDB reference manual (http://www.oracle.com/technology/documentation/
    berkeley-db/db/api_c/frame.html) says that the pages associated with a
    queue can only be reclaimed by setting a queue extent by using the
    "set_q_extentsize" method. When I try to use this method on my in-
    memory database I get the following error.
    " Extent size may not be specified for in-memory queue database"
    Does this mean that I can never use the queue access method for in-
    memory database? Because no matter how big of a shared memory pool I
    allocate to the in-memory database it will eventually get used up by
    the queue (if I'm inserting and consuming records) and there is no way
    to free up the pages associated with the deleted records.
    thx
    nina

    As far as I know you can choose any method as long as print setting are set to "send to spool"
    Regards
    Juan

Maybe you are looking for

  • Sale order report

    my client one report cloum are sale order docnumber, project code, project name, itemcode and purchase order number that is post against this sale order number wait for reply

  • Word macro from Forms

    How can I start a macro in Word from Forms with the DDE-package? For Excel I use this command ('update' is the macro-name): DDE.Execute(ConvID, [run "'test.xls!update"]', 10000); Does anybody know the right approach for a Word macro? Thanks. null

  • Keynote: where do trashed images and slides go

    I'm editing a keynote and need to reclaim some trashed slides/images/text. It's not in my trashcan, and KNote doesn't appear to have a dedicated trashcan, at least that I can find. Further, there's nothing in KNote help. Any ideas? Thanks in advance

  • Copying control: Delivery to Billing

    Hi, I´m having problems concerning copying control between deliveries and billing documents. I already maintained the proper copy data in Tcode VTFL either in header and item levels, but I´m still getting the error message "the document is not releva

  • Pfile problem

    Hi, I try to start my db with pfile , but i am getting error as LRM-00109:could not open parameter file 'parameter file path' ORA-01078:Failure in processing system parameters I check the path it is correct