How to fail messsages when timeout exception is thrown in BPM?

Hi
In my BPM, if the time out exception is thrown in BPM, in SXMB_MONI, all the inbound messages' staus is 'processed sucessfully' ? How can I make the message fail?  With a red flag  or anything indicating exception?
In my design I used deadline branch to throw time out exception.And in the exception branch I used control step to cancel the process.

Hi,
In my design I used deadline branch to throw time out exception.And in the exception branch I used control step to cancel the process
If this is what you have designed then increasing the timeout using the above mentioned blogs doesn't seem to be logical:) (BPM will throw the error when the deadline is meet....can't understand how by increasing timeout will help you)....instead of increasing the timeout you can increase the time limit mentioned in the deadline branch itself to ensure that your message will be processed in that particular time limit.
Since you have reached the timeout it means that desired message processing has failed so better you raise an alert instead of going for a increase in timeout....increasing timeout decreases performance...
Regards,
Abhishek.

Similar Messages

  • How can the eclipse debugger break in the code when an exception is thrown

    Is there a way in eclipse to break into the bebugger when an exception is thrown in debug mode like Visual Studio 2003 or 2005?
    Thanks

    For 3.x, select "Add Java Exception Breakpoint" from the "Run" menu.
    Check "Caught" to break even if your code handles the exception, "Uncaught" to break when your code doesn't handle the exception.

  • How to get a 'when others' exception raised.

    the 'when others' exception is raised usualy after a error occurs, but when does this actually occur? could some1 give an example??
    usually some error occurs and then a inbuilt exception is raised. but 'others' exception never seems to take place?

    The OTHERS handler takes control when the exception is not handled by any previous handlers.
    Here, we'll try to divide by zero. The no_data_found handler does not handle this error so control passes to the OTHERS section:
    sql>declare
      2    n  number;
      3  begin
      4    n := 1/0;
      5  exception
      6    when no_data_found then
      7      dbms_output.put_line( 'no data found exception' );     
      8    when others then
      9      dbms_output.put_line( 'when others exception' );
    10  end;
    11  /
    when others exception
    PL/SQL procedure successfully completed.Now, we'll try an operation which will raise the no_data_found exception. Here the ndf handler does handle the error and control never passes to the OTHERS section:
    sql>declare
      2    n  number;
      3  begin
      4    select 0
      5      into n
      6      from dual
      7     where dummy is null;
      8  exception
      9    when no_data_found then
    10      dbms_output.put_line( 'no data found exception' );
    11    when others then
    12      dbms_output.put_line( 'when others exception' );
    13  end;
    14  /
    no data found exception
    PL/SQL procedure successfully completed.

  • Populating OUT parameters when TOO_MANY_ROWS exception is thrown

    When I was trying to write code to test out today's PL/SQL challenge quiz, the behavior appears to depend on the table being queried. I can't figure out what attribute of the table drives the behavior (or if there is a different explanation for the behavior).
    The quiz is testing what happens when a procedure does a SELECT INTO an OUT parameter and a TOO_MANY_ROWS exception is thrown. The intent is to show that even though the behavior is technically undefined, what actually happens is that the OUT parameter is populated with the first row that is selected (obviously, you would never write code that depends on this behavior-- this is solely an academic exercise). The demonstration code works as expected
    CREATE TABLE plch_emp ( emp_name VARCHAR2(100) );
    INSERT INTO plch_emp VALUES ('Jones');
    INSERT INTO plch_emp VALUES ('Smith');
    COMMIT;
    CREATE OR REPLACE PROCEDURE plch_get
      (out_name OUT plch_emp.emp_name%TYPE) IS
    BEGIN
      SELECT emp_name
      INTO out_name
      FROM plch_emp
      ORDER BY emp_name;
    EXCEPTION
      WHEN OTHERS THEN
        dbms_output.put_line('A:' || out_name);
    END;
    What will be displayed after executing the following block:
    DECLARE
      l_name plch_emp.emp_name%TYPE;
    BEGIN
      plch_get(l_name);
      dbms_output.put_line('B:' || l_name);
    END;
    /and outputs
    A:Jones
    B:JonesWhen I replicate the logic while hitting the EMP table, the PLCH_EMP table, and the newly created EMP2 table, however, I get different behavior for the EMP and EMP2 tables. The procedure that queries PLCH_EMP works as expected but the OUT parameter is NULL when either EMP or EMP2 are created. Any idea what causes the behavior to differ?
    select *
      from v$version;
    create table emp2
    as
    select *
      from emp;
    create or replace procedure p1( p_out out varchar2 )
    is
    begin
      select emp_name
        into p_out
        from plch_emp
       order by emp_name;
    exception
      when others then
        dbms_output.put_line( 'P1 A:' || p_out );
    end;
    create or replace procedure p2( p_out out varchar2 )
    is
    begin
      select ename
        into p_out
        from emp
       order by ename;
    exception
      when others then
        dbms_output.put_line( 'P2 A:' || p_out );
    end;
    create or replace procedure p3( p_out out varchar2 )
    is
    begin
      select ename
        into p_out
        from emp2
       order by ename;
    exception
      when others then
        dbms_output.put_line( 'P3 A:' || p_out );
    end;
    declare
      l_ename varchar2(100);
    begin
      p1( l_ename );
      dbms_output.put_line( 'P1 B:' || l_ename );
      p2( l_ename );
      dbms_output.put_line( 'P2 B:' || l_ename );
      p3( l_ename );
      dbms_output.put_line( 'P3 B:' || l_ename );
    end;
    SQL> select *
      2    from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL>
    SQL> create table emp2
      2  as
      3  select *
      4    from emp;
    Table created.
    SQL>
    SQL> create or replace procedure p1( p_out out varchar2 )
      2  is
      3  begin
      4    select emp_name
      5      into p_out
      6      from plch_emp
      7     order by emp_name;
      8  exception
      9    when others then
    10      dbms_output.put_line( 'P1 A:' || p_out );
    11  end;
    12  /
    Procedure created.
    SQL>
    SQL> create or replace procedure p2( p_out out varchar2 )
      2  is
      3  begin
      4    select ename
      5      into p_out
      6      from emp
      7     order by ename;
      8  exception
      9    when others then
    10      dbms_output.put_line( 'P2 A:' || p_out );
    11  end;
    12  /
    Procedure created.
    SQL>
    SQL> create or replace procedure p3( p_out out varchar2 )
      2  is
      3  begin
      4    select ename
      5      into p_out
      6      from emp2
      7     order by ename;
      8  exception
      9    when others then
    10      dbms_output.put_line( 'P3 A:' || p_out );
    11  end;
    12  /
    Procedure created.
    SQL>
    SQL> declare
      2    l_ename varchar2(100);
      3  begin
      4    p1( l_ename );
      5    dbms_output.put_line( 'P1 B:' || l_ename );
      6
      7    p2( l_ename );
      8    dbms_output.put_line( 'P2 B:' || l_ename );
      9
    10    p3( l_ename );
    11    dbms_output.put_line( 'P3 B:' || l_ename );
    12
    13  end;
    14  /
    P1 A:Jones
    P1 B:Jones
    P2 A:
    P2 B:
    P3 A:
    P3 B:
    PL/SQL procedure successfully completed.Justin

    Billy  Verreynne  wrote:
    So we can then reasonably assume that the test or environment itself somehow interferes with the results? After all, the very same cursor is executed and the same PL/SQL engine uses that cursor interface.Clearly, there is something in my environment that is wonky. It just bugs me that I can't figure out what that variable is.
    Your test was done as a single anonymous PL/SQL block. Which means each proc that was called referenced the same variable/memory - are there perhaps PL/SQL optimisation enabled for the database or session? Or any other settings that could influence the test? Have you tried calling the procedures directly from SQL*Plus using a bind var and not via an anon block and a local var in that block?I have. And the results were the same
    SQL> var ename varchar2(100);
    SQL> exec p1( :ename );
    P1 A:Jones
    PL/SQL procedure successfully completed.
    SQL> exec p2( :ename );
    P2 A:
    PL/SQL procedure successfully completed.
    SQL> exec p3( :ename );
    P3 A:
    PL/SQL procedure successfully completed.
    As a sanity test - what happens when proc P3 for example is changed to a catersian join/union of emp2 and plch_emp? Do the test results change? Or you can change it as follows:
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace procedure p5( p_out out varchar2 )
      2  is
      3  begin
      4    --// force a value into p_out using a successful fetch
      5    select emp_name
      6      into p_out
      7      from plch_emp
      8     where rownum = 1;
      9    --// force an error and determine if p_out was overwritten
    10    select ename
    11      into p_out
    12      from emp2
    13     order by ename;
    14  exception
    15    when others then
    16      dbms_output.put_line( 'P5:' || p_out );
    17* end;
    18  /
    Procedure created.
    SQL> exec p5( :ename );
    P5:Jones
    PL/SQL procedure successfully completed.
    Of course, you can also put this one down to using an operating system like Windows as a poor database server and not as a magnificent client gaming platform... Well, sure. But you can probably only play World of Warcraft so long before you need to write some PL/SQL.
    Justin

  • Detecting when exception was thrown using custom class loader

    Hello all,
    I would like to implement the solution described here - http://stackoverflow.com/questions/75218/how-can-i-detect-when-an-exceptions-been-thrown-globally-in-java - that uses custom class loader in order to detect when an Exeption thrown somewhere in the JVM hosting my app, please note that exceptions might be thrown from 3rd party jars the app is using. So, thanks to help I got from another post, I've managed to code the custom class loader. My question is how can the class loader wrap the original exception, as the methods in ClassLoader deals with classes, not instances. So where should I set the original exception?
    Thanks!
    Edited by: user9355666 on Sep 28, 2010 10:48 PM

    user9355666 wrote:
    I think I'm missing something fundumental, forgive me for being slow...
    This is what I did so far. For the exception wrapper I made a simple class extens Exception that recieve Exception in its ctor and store it. I also subclassed ClassLoader and override its loadClass(). I've registered it as the system classloader. My thinking was to check in that point that if the requested class is instance of Exception and if yes, returning my wrapper class wrapping this exception. But, since loadClass() return class, how can I set in the wrapper the original exception?
    In addition, let's say 2 different places in the code throws NPE, to my understanding the classloader will load NPE only once, so how throwing the NPE in the second time can be detected?you are missing a key point. you should creating a custom implementation of the NPE class which hooks into your detection code in its constructor. from that point forward, anytime any NPE (which is your custom class) is constructed, you can detect it.

  • Unable to read AsynchronousSocketChannel after getting timeout exception

    i am trying to read some data on the server using a AsynchronousSocketChannel .
    I have this scenario :
    1- Call channel.read : this will print "Received"
    2- Call channel.read : this should fail due to timeout exception.
    3- Call channel.read : I am sending data in this case but I got the exception "Reading not allowed due to timeout or cancellation"
    Below is the source code
    My environment is :
    OS : Windows 7
    JDK :
    Java(TM) SE Runtime Environment (build 1.7.0-b147)
    Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
    package com.qmic.asynchronous;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.net.InetAddress;
    import java.net.InetSocketAddress;
    import java.net.Socket;
    import java.nio.ByteBuffer;
    import java.nio.channels.AsynchronousChannelGroup;
    import java.nio.channels.AsynchronousServerSocketChannel;
    import java.nio.channels.AsynchronousSocketChannel;
    import java.nio.channels.CompletionHandler;
    import java.util.concurrent.ConcurrentLinkedQueue;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    import java.util.concurrent.TimeUnit;
    public class NIOChannel {
         public static void main(String[] args) {
              try{
                   MyAsynchronousTcpServer server = new MyAsynchronousTcpServer();
                   Thread serverThread = new Thread(server);
                   serverThread.start();
                   Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 9001, InetAddress.getByName("127.0.0.1"), 9003);
                   socket.setSoTimeout(30000);
                   socket.setKeepAlive(true);
                   if (socket.isConnected()){
                        PrintWriter dos = new PrintWriter(socket.getOutputStream());
                        InputStream input = socket.getInputStream();
                        byte[] buffer = new byte[1024];
                        // Data of the first call
                        dos.print("ABCDEFGH");
                        dos.flush();
                        byte[] data = new byte[50];
                        socket.getInputStream().read(data);
                        // Print the result from server, written in handler of first read operation.
                        System.out.println("Result is:" + new String(data));
                        if (data.length > 0){
                             Thread.sleep(10000); // Wait for 10 Seconds so the second read on the server will fail.
                        // Data of the third call
                        dos.print("ABCDEFGH");
                        dos.flush();
              }catch(Exception ex){
                   ex.printStackTrace();
         class MyAsynchronousTcpServer implements Runnable{
              final int SERVER_PORT = 9001;
              final String SERVER_IP = "127.0.0.1";
              private int THREAD_POOL_SIZE = 10;
              private int DEFAULT_THREAD_POOL_SIZE = 2;
              ConcurrentLinkedQueue<ListenHandler> handlers = new ConcurrentLinkedQueue<ListenHandler>();
              boolean shutDown = false;
              public void run(){
                   //create asynchronous server-socket channel bound to the default group
                   try {
                        // Create the ChannelGroup(thread pool).
                        ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE);
                        AsynchronousChannelGroup group = AsynchronousChannelGroup.withCachedThreadPool(executorService, DEFAULT_THREAD_POOL_SIZE);
                        AsynchronousServerSocketChannel asynchronousServerSocketChannel =
                             AsynchronousServerSocketChannel.open(group);
                        if (asynchronousServerSocketChannel.isOpen())
                             //bind to local address
                             asynchronousServerSocketChannel.bind(new InetSocketAddress(SERVER_IP, SERVER_PORT));
                             while(!shutDown){
                                  Future<AsynchronousSocketChannel> asynchronousSocketChannelFuture =asynchronousServerSocketChannel.accept();
                                  final AsynchronousSocketChannel channel = asynchronousSocketChannelFuture.get(); // Timeout can be specified in the get() function, thread is blocked here
                                  System.out.println("New channel created successfully");
                                  // First call, should print Result of call 1 is : 10 (size of ABCDEFGH)
                                  ByteBuffer buffer1 = ByteBuffer.allocateDirect(250);
                                  channel.read(buffer1, 5, TimeUnit.SECONDS, null, new CompletionHandler<Integer, Object>() {
                                       @Override
                                       public void completed(Integer result, Object attachment) {
                                            System.out.println("Result of call 1 is :" + result);
                                            ByteBuffer response = ByteBuffer.wrap("Received".getBytes());
                                            channel.write(response);
                                       @Override
                                       public void failed(Throwable exc, Object attachment) {
                                            exc.printStackTrace();
                                  Thread.sleep(3000);
                                  // Second read, should print error InterruptedByTimeoutException
                                  ByteBuffer buffer2 = ByteBuffer.allocateDirect(250);
                                  channel.read(buffer2, 5, TimeUnit.SECONDS, null, new CompletionHandler<Integer, Object>() {
                                       @Override
                                       public void completed(Integer result, Object attachment) {
                                            System.out.println("Result of call 2 is :" + result);
                                       @Override
                                       public void failed(Throwable exc, Object attachment) {
                                            exc.printStackTrace();
                                  Thread.sleep(9000);
                                  // Second read operation was failed, no try to read again . AN EXCEPTION IS THROWN HERE : Reading not allowed due to timeout or cancellation
                                  ByteBuffer buffer3 = ByteBuffer.allocateDirect(250);
                                  channel.read(buffer3, 5, TimeUnit.SECONDS, null, new CompletionHandler<Integer, Object>() {
                                       @Override
                                       public void completed(Integer result, Object attachment) {
                                            System.out.println("Result of call 3 is :" + result);
                                       @Override
                                       public void failed(Throwable exc, Object attachment) {
                                            exc.printStackTrace();
                        else
                             System.out.println("The asynchronous server-socket channel cannot be opened!");
                   catch (Exception ex)
                        ex.printStackTrace();
                        System.err.println(ex);
         }

    I'm having the same "Unable to read the SIM card" issue. My phone is less than two months old, the unable to read SIM card issue started about a week after I purchased the phone. That was followed by a host of erratic, sporadic issues to the phone becomes unusable and the only way to temporarily fix it is to remove the battery for a few seconds.  I've gone through the factory reset with Verizon reps where I purchased the phone from as well as with a Verizon online Chat representative. In a nutshell, I got a ticket to send the phone back to Samsung in Plano, Texas to get the phone fixed, I am going to do that today because this problem is ridiculous.

  • BPM finishes when reaching exception in loop block

    Hi everybody,
    we got a loop block in BMP. In the loop block we catch mapping errors by using an exception branch.
    What we can see is that when an exception is thrown the process steps into the exception branch an than is leaving the loop block!! So the remaining single messages are not processed!
    Is there a workaround?
    Regards Mario

    Hi Mario,
    Have you used the local correlation for block step.
    Can you please give steps you used in BPM, also try to see the below threads
    What is the use of block step in BPM? Please help!
    BPM ParforEach Loop
    BPM loop
    also,
    BPM Block step
    Using BPM (Blocks) when Incoming message has multilple rows
    Doubt in BPM
    BPM: Block Processing: ParForEach
    Regards
    Chilla

  • How to omit parameter values from exceptions thrown by the JDBC driver

    Is there a way to get the Oracle JDBC driver to omit the parameter values from the message when it throws an exception?
    We have an application that persists credit cards and when an exception is thrown by the driver, it's including the credit card number in the error message, which ultimately gets logged by the application. There are too many layers and locations, including OpenJPA, Spring, and our own application, where we'd have to massage the error data to remove that card number.
    For example, we get the following exception:
    Caused by: org.apache.renamed.openjpa.lib.jdbc.ReportingSQLException: ORA-20104: Permission denied
    ORA-06512: at "PROTEGRITY.PTY", line 57
    ORA-06512: at "PROTEGRITY.PTY", line 383
    ORA-06512: at "SUBSDSYS.TORDERPAYMENT_UPD", line 16
    ORA-04088: error during execution of trigger 'SUBSDSYS.TORDERPAYMENT_UPD'
    {prepstmnt 6603044
    UPDATE PAYMENT
         SET CARD_HOLDER_NAME = ?, CARD_TYPE = ?, EXPIRY_MONTH = ?, EXPIRY_YEAR = ?, GATEWAY = ?
         WHERE UIDPK = ?
    [params=(String) Test Test, (String) VISA, (String) 03, (String) 2012, (String) CREDITCARD, (long) 106901]} [code=20104, state=72000]
    at org.apache.renamed.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
    at org.apache.renamed.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(LoggingConnectionDecorator.java:57)
    The actual content of the message appears to come from the JDBC driver, not OpenJPA.
    This particular example doesn't show the card number, but only exposed that possibility as a risk.
    BTW: before you ask, for PCI compliance we're using a database layer service to encrypt the card numbers before they're stored in the table.
    Thanks much.

    [email protected] wrote:
    The actual content of the message appears to come from the JDBC driver, not OpenJPA.Wrong. This is a dump of parameters used to execute a query - and it comes from some upper layer, not the JDBC driver.
    I would start looking at the source code starting here:
    org.apache.renamed.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)

  • I failed to Confirm Security Exception for a site confirmed to be trusted, but apparently only supported by Internet Explorer, and am now barred from the site, so how do I access it?

    I have been successfully accessing a secure site using a Citrix plugin. The security certificate for the site was renewed on 17 September and is valid, but is apparently supported by Explorer. When I accessed it today, Firefox reported it as Insecure. I attempted to bypass the Firefox block, but must have failed to Confirm Security Exception, so that my access is now denied as I 'have said this is not a trusted site' (error 183). Is there any way I can now access the site.

    Thank you for your reply.
    My problem isn't removing my log-in name and password for a site.
    The problem is I already had the log-in name and password saved by FF, but I was required by the site to change the password. FF did not recognize that it had changed and refuses to prompt me to save the new password.
    After several attempts to force the prompt, I deleted the site from the Saved Password list, hoping that the next time I entered my log-in name and password on that site FF would ask if I wanted to save both. That did not happen even after exiting FF and relaunching it.
    So, right now FF will not save my log-in name and password for a site that it used track for me. Given the complexity of the new password, I really do not want to manually enter it every time I use the site.
    Regards.

  • Reading Exchange Online tenant version failed due to an exception when trying to install Exchange 2013 in a hybrid environment.

    We currently have an Exchange 2010 hybrid install and we have migrated all of our email accounts to Office 365.  Now, I want to do an on-premise install of Exchange 2013 to better manage the hybrid setup.  When I try to install Exchange 2013 it
    asks for my O365 credentials to do a hybrid check but always fails with the above message.  I've done quite a bit of searching but haven't come up with anything useful.
    Here is what appears in the exchange setup log:  
    [09/22/2014 15:48:27.0024] [0] Reading the Exchange Online tenant version information failed due to an exception. Please check the Exchange setup log for more information.
    [09/22/2014 15:48:27.0024] [0] Could not load type 'Microsoft.Exchange.Data.Directory.DirectoryBackendType' from assembly 'Microsoft.Exchange.Data.Directory, Version=15.0.0.0, Culture=neutral, 
    [09/22/2014 15:48:27.0024] [0] Could not load type 'Microsoft.Exchange.Data.Directory.DirectoryBackendType' from assembly 'Microsoft.Exchange.Data.Directory, Version=15.0.0.0, Culture=neutral, 
    [09/22/2014 15:48:27.0147] [0] Session=Tenant Total Cmdlet Time=1.6931035s
    [09/22/2014 15:48:27.0148] [0] Microsoft.Exchange.Management.Deployment.HybridConfigurationDetection.HybridConfigurationDetectionException: Reading the Exchange Online tenant version information failed due to an exception. Please check the Exchange setup log
    for more information. ---> System.TypeLoadException: Could not load type 'Microsoft.Exchange.Data.Directory.DirectoryBackendType' from assembly 'Microsoft.Exchange.Data.Directory, Version=15.0.0.0, Culture=neutral,

    Hi,
    I recommend you post this in
    office 365 forum also, as they should have more professional knowledge on hybrid deployments
    and you may get effective solution timely.
    In addition, I found a similar thread for you reference:
    http://community.office365.com/en-us/f/156/t/255739.aspx
    According to the reply of this thread, if you run the HCW (Hybrid Configuration Wizard) to deploy the Exchange Hybrid environment, there will generate an HCW log
    file for this deployment.
    Additional troubleshooting information is available in the Update-HybridConfiguration log file located at C:\Program Files\Microsoft\Exchange Server\V1*\Logging\Update-HybridConfiguration\HybridConfiguration****.log
    Best regards,
    Niko Cheng
    TechNet Community Support

  • How to avoid redialing failed calls when unlocking an iphone

    when using my iphone 4 with ios7 in my car via bluetooth, i have the issue that when a call drops for one or other reason; the iphone wants to recall that failed call when unlocking my iphone at arrival.
    This is new since i upgraded my phone to ios7. with earlier versions i never had this issue.
    it looks to me to a mistake in the software statemachine where missed calls are kept in a buffer, even when i redialed the person using my car kit just some minutes later.

    And the worst and most stupid thing happens when that person already called you back. And while talking with them again you take your phone and try to unlock it to go to home screen (for ex to reply to a message you just received), and it starts calling a person you speak right now)). And they are asking: we are talking already, how did you just call me????

  • Touch ID on my ip5s had broken. I added my fingerprints before then I deleted them and add new one. How I can fix that problem? P/s : Fail immediately when I click on Add fingerprints

    Touch ID on my ip5s had broken. I added my fingerprints before then I deleted them and add new one. How I can fix that problem? P/s : Fail immediately when I click on Add fingerprints.

    problem is "Failed. Sorry, the operation was not succesfull. ... " and now i can't use touch ID in my phone

  • Why is exception not thrown in AseCommand when "Truncation error occurred"?

    In the below SQL, data is written to SOURCE and from there to TARGET.
    The DECIMAL columns in TARGET are deliberately smaller than those in SOURCE (eg a DECIMAL (12, 2) column populated from a DECIMAL (19,11) source).
    When I run this in an Query tool (eg, SqlDbx) I get the messages:
    "Truncation error occurred
    Command has been aborted"
    But when I run this using the .net Client (supplied with the Developer Edition of ASE 16.0) no exception is thrown (the INSERT fails though).  The method is AseCommand.ExecuteNonQuery().
    Is this deliberate? 
    Is this believed to be correct?
    How can I tell that a truncation error has been raised?
    Thanks
    IF OBJECT_ID ('dbo.TARGET') IS NOT NULL
      DROP TABLE dbo.TARGET
    GO
    CREATE TABLE dbo.TARGET
      S_Name_NVARCHAR NVARCHAR (50) null,
        S_RedComponent_DEC_15_6 decimal(15, 6) NULL,
        S_BlueComponent_DEC_12_2 decimal(12, 2) NULL, 
        S_GreenComponent_DEC_18_10 decimal(18, 10) NULL
    GO
    IF OBJECT_ID ('dbo.SOURCE') IS NOT NULL
      DROP TABLE dbo.SOURCE
    GO
    CREATE TABLE dbo.SOURCE
      Name_NVARCHAR      NVARCHAR (2000) NULL,
      RedComponent_DEC   DECIMAL (19,11) NULL,
      GreenComponent_DEC DECIMAL (19,11) NULL,
      BlueComponent_DEC  DECIMAL (19,11) NULL
    GO
    INSERT INTO dbo.SOURCE (Name_NVARCHAR, RedComponent_DEC, GreenComponent_DEC, BlueComponent_DEC)
    VALUES ('Beige', 272.195, 272.195, 244.42)
    GO
    INSERT INTO dbo.SOURCE (Name_NVARCHAR, RedComponent_DEC, GreenComponent_DEC, BlueComponent_DEC)
    VALUES ('Bisque', 283.305, 253.308, 217.756)
    GO
    INSERT INTO dbo.SOURCE (Name_NVARCHAR, RedComponent_DEC, GreenComponent_DEC, BlueComponent_DEC)
    VALUES ('Black', 0, 0, 0)
    GO
    INSERT INTO dbo.SOURCE (Name_NVARCHAR, RedComponent_DEC, GreenComponent_DEC, BlueComponent_DEC)
    VALUES ('BlanchedAlmond', 283.305, 261.085, 227.755)
    GO
    --Is there data to migrate?
    SELECT LEFT( S.Name_NVARCHAR,8000),S.GreenComponent_DEC,S.GreenComponent_DEC,S.GreenComponent_DEC
    FROM (
    SELECT * FROM SOURCE
    ) S
    --Yes.migrate away!
    --Next line gives a truncation error occurred in Sybase (gives a truncation error occurred in a query tool
    --but fails silently in AseCommand.ExecuteNonQuery).
    INSERT dbo.TARGET (S_Name_NVARCHAR,S_RedComponent_DEC_15_6,S_BlueComponent_DEC_12_2,S_GreenComponent_DEC_18_10)
    SELECT LEFT( S.Name_NVARCHAR,8000),S.GreenComponent_DEC,S.GreenComponent_DEC,S.GreenComponent_DEC
    FROM (
    SELECT * FROM SOURCE
    ) S
    select * from dbo.TARGET

    Hi Dave,
    I am consulting internally on this. To my understanding, this behavior is based on the ASE severity level, as returned in the TDS_EED token. AseExceptions are thrown when severity level is 11 or higher.
    Our docs are not explanatory in this regard.  Once I get clarification we will provide something in the form of wiki or KBA or doc bug to further explain the detail.  Apologize for the delay and problems this caused. I guess since the command is aborted by ASE, therefore no insertion occurs, even though ASE indicates truncation occurs prior - makes this confusing.
    The message severity, etc is controlled by ASE and the client is just following suit according to the TDS spec. Its just lacking in the client docs. This can be remedied.
    ASE does provide the option to allow truncation and not abort.  It's a set command:
    Enter a query:
    1 > set arithabort numeric_truncation off
    Enter a query:
    1 > INSERT dbo.TARGET (S_Name_NVARCHAR,S_RedComponent_DEC_15_6,S_BlueComponent_DEC_12_2,S_GreenComponent_DEC_18_10) SELECT LEFT( S.Name_NVARCHAR,8000),S.GreenComponent_DEC,S.GreenComponent_DEC,S.GreenComponent_DEC FROM (SELECT * FROM SOURCE
    ) S
    4 rows Affected.
    Notice though ASE does NOT send truncation message. This is when it is well known and accepted to insert and truncate the numeric data.
    Cheers,
    -Paul

  • LDAP search API doesn't always return NamingException when timeout

    I am from My Oracle Support (MOS) (http://support.oracle.com) team. 
    In MOS we connect to corporation OID (external) to search for user by email, and search for user's groups.
    But sometimes, the OID search API simply return without any results, and doesn't throw any exception, but we know the user exist,  or user has group memberships.
    Here is the code snippet:
    1. Create connection
        env.put("com.sun.jndi.ldap.read.timeout", "3000");
        env.put("com.sun.jndi.ldap.connect.timeout", "3000");
        Context ctx = NamingManager.getInitialContext(env);
    2. search for user by email address
    try {
        idCtx.search(OidServiceConstants.SEARCH_BASE, searchFilter,  searchControls);
    catch (Exception e) {
    // handle exception and retry, etc.
    3.   get user's group membership
    PropertySetCollection propSetColl =
    Util.getGroupMembership(idCtx, userDn, new String[0],
    false, "uniquemember");
    In step #1, the timeout is set to 3s for both connection and read operations. but the problem is that in step #2 and #3,
    the API sometimes throw NamingException to indicate there is timeout, such as
    javax.naming.NamingException: LDAP response read timed out, timeout used:3000ms.; remaining name 'dc=oracle,dc=com'
    Sometimes it doesn't, but we have confirmed the times with backend OID team and know that it took 8s.
    So how to make the API throw exception reliably ?

    Hi, Navneet Nair
    did you set up an OSS Message for the Portal-User Problem, if so, can u tell me the result and/or how you fixed your logon trouble...
    in fact i found out, when i change the user as you describe above, i have the same problem. when then i log off again, and come back withe the just before logged in user, i get the correct result on the webdynpros. <b>So I have to log off twice to actually change</b> the corresponding result on the webdynpro - strange thing is, taht in fact on the Portal screen in the upper left corner each time, i swap users the correct username is displayed...
    we are running ep 6 patch level 10...
    thanks for a hint,
    mattthias
    Message was edited by: matthias kasig
    Message was edited by: matthias kasig

  • How to catch the user defined  exception in application service

    Hi All,
    How to catch the user defined  exception in application service  when it is throwed by the external service..
    Regards,
    Thirumurugan.

    Hi,
        Thanks for your reply,
            Actually I  am calling validate Login method of External service from the application service. When the login fails, my external service will throw user defined Exception.I want to catch the user defined Exception.
        But in the application service , validate Login method can catch  only Invocation Exception and Engine Exception.
       These two exception are present in the Application service remote interface.
      public com.sap.comptest.extsrv.accrjavawsvi__document.output.
    Ns1_validateLoginResponse validateLogin(com.sap.comptest.extsrv.accrjavawsvi__document.input.Ns1_validateLogin input) throws com.sap.caf.mp.base.exception.InvocationException, com.sap.caf.mp.base.exception.EngineException;
    User defined exception is not present there. When i include the webservice as external service in CAF, it suppossed to generate the java file for the custom exception of validate Login method and this generated file should be included in the application service remote interface..
    public com.sap.comptest.extsrv.accrjavawsvi__document.output.
    Ns1_validateLoginResponse validateLogin(com.sap.comptest.extsrv.accrjavawsvi__document.input.Ns1_validateLogin input) throws com.sap.caf.mp.base.exception.InvocationException, com.sap.caf.mp.base.exception.EngineException,
    (generated file name of user defined Excpetion.
      Then only  validate login method  of application service can catch  the user defined Exception which is thrown by the  external service.
    regards,
    Thirumurugan.p

Maybe you are looking for

  • Aperture and DNG.  Anyone else seeing this?

    I shoot a lot of RAW images and some of them on a camera that is not currently supported by Aperture (Panasonic DMC FZ8). When I convert those RAW images to DNG, Aperture displays them perfectly in the import preview. When I import them to a project,

  • "Content Editing" is not available when I go to the Tools sidebar--how can I access these features?

    "Content Editing" is not available when I go to the Tools sidebar--how can I access these features?  I'm using Acrobat X 10.1.7.  Thanks.

  • Weird chars at end of line in JTextArea

    I am getting these weird characters at the end of the line in JTextArea when I use setText. I am doing the foll: //Creation of JTextArea JPanel p2 = new JPanel(); // for JTextArea and video displayText = new JTextArea(15,30); JScrollPane scrollPane =

  • LENOVO, please "FIX" your fixes!

    Let me first say that the problem happened before and I spent over 2 hrs on the phone with tech support who eventually "fixed" it by downloading outdated version of SW. Today I noted  the same problem: Fn key on-screen display does not work: nothing

  • IQS9 Completes Quality Notifications without digital signature

    Hi all, When we complete quality notifications, the system requires the user to enter digital signature (username and password) in qm02. However when you select a list of notifications in IQS9, and then click on Edit from there, it brings the notific