RollbackException hiding other exceptions in WL 5.1

Hi,
          over here we're using Javlin (www.exceloncorp.com) as data resource under
          Weblogic 5.1.0 (latest SP). One of the characteristics of Javlin is that it
          can throw a com.odi.jmtl.GlobalTransaction.AbortAndRetryException during
          commit. This exception means that the transaction should be retried.
          However, Weblogic 5.1 transforms this exception when it occurs into a
          javax.transaction.RollbackException. The only possibility I have found to
          test whether this exception actually occurred is by using the following
          hack:
          try {
          do_service_call();
          } catch (UnexpectedException e) {
          if (isJavlinRollbackException(e))
          retry;
          else throw e;
          private boolean isJavlinRollbackException(UnexpectedException e) {
          if (!(e.detail instanceof RollbackException))
          return false;
          String msg = e.detail.getMessage();
          return ((msg != null) &&
          (msg.indexOf("com.odi.jmtl.GlobalTransaction$AbortAndRetryException") >=
          0));
          Under Weblogic 4.5, there simply was no RollbackException and I could easily
          test as follows:
          try {
          do_call_to_bean();
          } catch (TransactionRolledbackException e) {
          if (e.detail instanceof
          com.odi.jmtl.GlobalTransaction.AbortAndRetryException) {
          ... retry ...
          I was wondering whether there is a more appropriate way to see whether the
          exception has occurred under WL 5.1. And if there is not, if this is a
          problem with Javlin or with Weblogic or with EJB.
          thanks,
          Bert
          

WebLogic has acknowledged that this is a bug and is supposedly fixed in 6.0.
          I've been trying to get them to give me a patch for this for 5.1 as this
          makes it really difficult to provide an adequate user-level error message in
          certain situations. It would add fuel to the fire if you would also file a
          bug report with BEA and request a patch..
          -brian
          "Bert" <[email protected]> wrote in message
          news:[email protected]...
          > Hi,
          >
          > over here we're using Javlin (www.exceloncorp.com) as data resource under
          > Weblogic 5.1.0 (latest SP). One of the characteristics of Javlin is that
          it
          > can throw a com.odi.jmtl.GlobalTransaction.AbortAndRetryException during
          > commit. This exception means that the transaction should be retried.
          >
          > However, Weblogic 5.1 transforms this exception when it occurs into a
          > javax.transaction.RollbackException. The only possibility I have found to
          > test whether this exception actually occurred is by using the following
          > hack:
          >
          >
          > try {
          > do_service_call();
          > } catch (UnexpectedException e) {
          > if (isJavlinRollbackException(e))
          > retry;
          > else throw e;
          > }
          >
          > private boolean isJavlinRollbackException(UnexpectedException e) {
          > if (!(e.detail instanceof RollbackException))
          > return false;
          > String msg = e.detail.getMessage();
          > return ((msg != null) &&
          > (msg.indexOf("com.odi.jmtl.GlobalTransaction$AbortAndRetryException") >=
          > 0));
          > }
          >
          > Under Weblogic 4.5, there simply was no RollbackException and I could
          easily
          > test as follows:
          >
          > try {
          > do_call_to_bean();
          > } catch (TransactionRolledbackException e) {
          > if (e.detail instanceof
          > com.odi.jmtl.GlobalTransaction.AbortAndRetryException) {
          > ... retry ...
          >
          >
          > I was wondering whether there is a more appropriate way to see whether the
          > exception has occurred under WL 5.1. And if there is not, if this is a
          > problem with Javlin or with Weblogic or with EJB.
          >
          > thanks,
          >
          > Bert
          >
          >
          

Similar Messages

  • 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.

  • Credit Memo Error AR-RAXTRX: TAXACT ERROR- Others Exception in Tax accounti

    Hi All,
    We are getting the following error when we interface Credit Memo record to AR using Auto Invoice
    Error Message: AR-RAXTRX: TAXACT ERROR- Others Exception in Tax accounting routine
    This is not the actual error
    Following is the setup
    Transaction Type for Credit Memo and Invoice ( Creation Sign: Allow any Sign )
    Now first create a Invoice with following line amounts ( Using Auto Invoice )
    Line 1 : 100
    Line 2 : 500
    Line 3 : - 300
    Now Create a Credit Memo using LIFO rule having following line amount
    Line 1 : -100
    Line 2 : -500
    Line 3 : 300
    On submitting the Auto Invoice import program, the Concurrent program error out.
    Following is the Snippet from CP
    AR-RAXTRX: TAXACT ERROR- Others Exception in Tax accounting routine
    Error calling raacae()
    Error calling raapic()
    Following the above example if we have a invoice
    Invoice Amount 300
    Line 1 : 300
    Line 2 : 200
    Line 3 : -200
    Now create a credit memo using LIFO rule using following line type
    Line 2: -200
    Line 3: 200
    The credit memo gets created but with no distribution on the credit memo.
    This lead me to think there is some issue with the distribution.
    Note we have no tax on the invoice neither we have any tax distribution records on the invoice.
    Any suggestion/advice/ solution on the above error. Btw on account Credit Memo works okay.
    Thanks.

    What is the complete error message? Please post it here.
    Please see if these docs help.
    Troubleshooting AutoInvoice for Oracle Receivables Release 11.5 Through 12 [ID 1075757.1]
    AutoInvoice Setup for Release 12: A Case Study Using a Simple Script [ID 1067402.1]
    If none of the above helps, please log a SR.
    Thanks,
    Hussein

  • Why  catch any other exception other than Exception ?

    Hi,
    I am under the following impression. Is my understanding correct?
    why do I need to catch any other exception other than Exception in the catch block.
    If I write code :
    try{
    //checked code
    }catch(Exception e){
    e.printStackTrace();
    e.getMessage();
    }the e.printStackTrace(); and e.getMessage(); will belt out the exact error message and the cause of it.
    Why then should I use any narrower excetpion than Exception (Like SQLException, in case of SQL code). ?

    You don't have to catch the specific exceptions. However, it makes the code clearer. If you have catch exception, then the next person to maintain that code, has to then study the try block to determine what, if anything, might be thrown in that block, in order to be able to effectively modify the code, whereas when you have catch CNF, then the next person to maintain the code knows, automatically, that that is the only possible exception (checked anyway) that should be thrown in that block.
    The other reason, is so that when varying (and especially unrelated, i.e. SQL and Parse) exceptions can be thrown, they can be handled differently.
    So, as a summary, it is either a matter of form, or a matter of completeness. But, yes, you can simply catch Exception, if you wish.
    Edit: The first point is also valid even when you are the only one who will ever see the code. I can't count the number of times where I have written something then had to revisit it years later, and thought to myself, WTF. (I have a tendency, if I don't "watch" myself to not comment my code enough, and, at the same time, tend to get a little more "clever" or "cryptic" than I absolutely have to.)

  • How do handle a rollbackException and other transaction exceptions

    Hello,
    I'm trying to do commit and rollbacks for my stateless session bean and I'm having a problem handling exceptions like javax.transaction.RollbackException. This causes me to be unable to complile my code. When I do put a catch in for the rollbackException it says it can't be reached. Below is the code:
    if (madeConnection != true)
    returnCode = 8;
    else
    UserTransaction ut = ejbContext.getUserTransaction();
    ut.begin();
    try{          
         statement = c.prepareCall("{call NBA907(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");                    
         java.lang.Integer dept = Integer.valueOf(department);
         short dpt = dept.shortValue();
         TrxNum = (short) recordId;
         //**** Input parameters ****
         statement.setString(1, AAA.toUpperCase());
         statement.setString(2, BBB);
         statement.setShort(3, CCC);
         statement.setString(4, DDD.toUpperCase());
         statement.setString(5, EEE);
         statement.setString(6, FFF);
         statement.setString(7, GGG);
         statement.setString(8, HHH);
         statement.setString(9, III);
         statement.setString(10, JJJ);
         statement.setString(11, KKK);
         statement.setString(12, LLL);
         statement.setShort(13, MMM);
         statement.setString(14, NNN);
         statement.setString(15, OOO);
         //**** Output parameters ****
         statement.registerOutParameter(16, Types.CHAR);
         statement.registerOutParameter(17, Types.SMALLINT);
         statement.registerOutParameter(18, Types.CHAR);
         rs = statement.executeQuery();
         sProcedureCode = statement.getString(16);
         sqlCode = statement.getShort(17);
         returnMessage = statement.getString(18);
         if (!(sProcedureCode.equals("01")))
         ut.setRollbackOnly();
         System.out.println ("***************************************");
         System.out.println("Method - updateRecord");
         system.out.println("SQL Code - " + sqlCode);
         System.out.println("SP Code - " + sProcedureCode);
         System.out.println("Message - " + returnMessage);
         System.out.println("*****************************************");
         if (sProcedureCode.equals("99"))
         returnCode = sqlCode;
         else     
              returnCode = Integer.parseInt(sProcedureCode);           
    catch(SystemException e) {
    System.out.println("SQLException caught: " + e.getMessage());
    catch(SQLException e) {
    System.out.println("SQLException caught: " + e.getMessage());
    finally {
    try {
              ut.commit();
              statement.close();
              c.close();
         catch (SQLException ignored) {}
    Any ideas?
    TIA,
    J.Clancey

    I got past the exception errors but the line
    UserTransaction ut = ejbContext.getUserTransaction();
    is returning a null. Below is the changes I made to get past that error.
    public int updateRecord(String User, String Password, int recordId, String department, String description, String classCatg, String coordinate, String startMonth, String startYear, String endMonth, String endYear, String POSeason, String merchType, String Chain)
              int returnCode = 0;
              String sProcedureCode = null;
              String returnMessage = null;
              short sqlCode = 0;
              String collectionId = "BA_ANBCS";
              CallableStatement statement= null;
              ResultSet rs = null;
              String tranType = "C";
              String tranNumber = null;      
              String storedProCode = null;
              short TrxNum = 0;
              boolean madeConnection = true;
              Context ctx = null;
              DataSource ds = null;
              Connection c = null;          
              java.util.Properties parms = new java.util.Properties();
              parms.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                   "com.ibm.websphere.naming.WsnInitialContextFactory");               
              try {
                   ctx = new InitialContext(parms);               
              catch (Exception e1)
                   System.out.println("Unable to get initial context");
                   System.out.println(e1);
              try
                   ds = (DataSource)ctx.lookup("jdbc/DB2T");
                   c = ds.getConnection(User, Password);
              catch (SQLException e) {
                   System.out.println("SQLException caught: " + e.getMessage());
                   madeConnection = false;
              catch (Exception e) {
                   e.printStackTrace();
                   madeConnection = false;
              if (madeConnection != true)
                   returnCode = 8;
              else
                   System.out.println("Made Else");
                   UserTransaction ut = ejbContext.getUserTransaction();
                   try{
                        System.out.println("Before Begin");
                        ut.begin();
                        System.out.println("After Begin");
                   statement = c.prepareCall("{call NBA907(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");                    
                        java.lang.Integer dept = Integer.valueOf(department);
                        short dpt = dept.shortValue();
                        TrxNum = (short) recordId;
                        //**** Input parameters ****
                        statement.setString(1, Chain.toUpperCase());
                        statement.setString(2, collectionId);
                        statement.setShort(3, dpt);
                        statement.setString(4, classCatg.toUpperCase());
                        statement.setString(5, merchType);
                        statement.setString(6, coordinate);
                        statement.setString(7, POSeason);
                        statement.setString(8, startMonth);
                        statement.setString(9, startYear);
                        statement.setString(10, endMonth);
                        statement.setString(11, endYear);
                        statement.setString(12, description);
                        statement.setShort(13, TrxNum);
                        statement.setString(14, tranType);
                        statement.setString(15, User);
                        //**** Output parameters ****
                        statement.registerOutParameter(16, Types.CHAR);
                        statement.registerOutParameter(17, Types.SMALLINT);
                        statement.registerOutParameter(18, Types.CHAR);
                        rs = statement.executeQuery();
                        sProcedureCode = statement.getString(16);
                        sqlCode = statement.getShort(17);
                        returnMessage = statement.getString(18);
                        System.out.println("Before SP Check");               
                        if (!(sProcedureCode.equals("01")))
                             //c.rollback();
                             ejbContext.setRollbackOnly();                         
                             System.out.println("***********************************************");
                             System.out.println("Method - updateRecord");
                             System.out.println("Stored Procedure - NBA 907");
                             System.out.println("Record Number - " + TrxNum);
                             System.out.println("Department - " + dpt);
                             System.out.println("Class Category - " + classCatg);
                             System.out.println("Merch Type - " + merchType);
                             System.out.println("coordinate - " + coordinate);
                             System.out.println("POSeason - " + POSeason);
                             System.out.println("Start Month - " + startMonth);
                             System.out.println("Start Year - " + startYear);
                             System.out.println("End Month - " + endMonth);
                             System.out.println("End Year - " + endYear);
                             System.out.println("Description - " + description);
                             System.out.println("Chain - " + Chain);
                             System.out.println("User Id - " + User);
                             System.out.println("SQL Code - " + sqlCode);
                             System.out.println("SP Code - " + sProcedureCode);
                             System.out.println("Message - " + returnMessage);
                             System.out.println("***********************************************");
                        ut.commit();     
                        if (sProcedureCode.equals("99"))
                             returnCode = sqlCode;
                        else     
                             returnCode = Integer.parseInt(sProcedureCode);                     
                   catch (SystemException sysex) {
                                  throw new EJBException
                                  ("Rollback failed: " + sysex.getMessage());
                   catch (RollbackException sysex) {
                                  throw new EJBException
                                  ("Rollback failed: " + sysex.getMessage());
                   catch (NotSupportedException sysex) {
                                  throw new EJBException
                                  ("Rollback failed: " + sysex.getMessage());
                   catch (HeuristicMixedException sysex) {
                                  throw new EJBException
                                  ("Rollback failed: " + sysex.getMessage());
                   catch (HeuristicRollbackException sysex) {
                                  throw new EJBException
                                  ("Rollback failed: " + sysex.getMessage());
                   catch(SQLException e) {
                        System.out.println("SQLException caught: " + e.getMessage());
                   try {
                                  ut.setRollbackOnly();
                             catch (SystemException sysex) {
                                  throw new EJBException
                                  ("Rollback failed: " + sysex.getMessage());
                   finally {
                        try {
                             statement.close();
                             c.close();
                        catch (SQLException ignored) {}
              return returnCode;
    I will also check page 396.
    Thanks vickyk.
    TIA for any help resolving this null problem.
    J.Clancey

  • How do I disable "Exceptions" button for "Block pop-up windows" in Content tab?. I am able to Disable other Exception buttons in this tab using about:config preference.

    Need a way to disable "Exception" button for "Block Pop-up windows" in Tools-> Options -> Content tab. I want to be able to do this for Locking Down Firefox preferences.
    == User Agent ==
    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)

    That button doesn't have a pref associated with it, so you can't disable that button with a pref on the about:config page or a lockPref call.
    That only leaves the choice to remove that button with code in userChrome.css
    <pre><nowiki>#popupPolicyButton {display:none!important;}</nowiki></pre>
    See http://kb.mozillazine.org/Editing_configuration#How_to_edit_configuration_files

  • Can retrieve value from one table, but not the other (exception thrown)

    Hi
    I hope some friendly soul can help me out here. I have a local Access database file. I am able to get a value from all tables except for one, which throws this error: "System.NullReferenceException:
    Object reference has not been specified to an object".
    The rather simple lines of code when working is this:
    Dim email As Object
    value = MyDataSet.Tables("Table")(0)(1).ToString
    Msgbox(email)
    However, when simply changing from "Table" to "AnotherTable", the exception is thrown. I
    have seriously no idea why. I've made sure the datatypes are the same and that the values are not NULL.
    What gives?

    Hello,
    Going with your last reply, you should be accessing data via the strong typed classes that get generated.
    Example using Microsoft Northwind database accessing the customers table in a MS-Access database. Note the check for Rows, we could even go farther if we are questioning issue with the data via try-catch statements writing errors to the IDE Output window.
    I would highly recommend never referencing rows without first checking if there are rows and secondly never reference columns by ordinal index, always use the column name. One example with ordinal positioning, suppose someone did SomeDataTable.Columns("SomeColName").SetOrdinal(3)
    and you expect the ordinal position to be 1 ? things will crash-n-burn. Food for thought :-)
    Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.CustomersTableAdapter.Fill(Me.MainDataSet.Customers)
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If MainDataSet.Customers.Rows IsNot Nothing Then
    Dim FirstCompanyName As String = MainDataSet.Customers.FirstOrDefault.CompanyName
    MessageBox.Show(FirstCompanyName)
    Else
    MessageBox.Show("No rows in customer table")
    End If
    End Sub
    End Class
    In this case we get the first record from below in Button1 Click
    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem.

  • Export only a single layer as image without hiding other layers?

    I know I can just make only one layer visible and then save as e.g. PNG. But my question is - do I have to make all other layers invisibile in order to save only my one single layer as image? Or is there a way to save only a single layer (or a few at once) without hiding the rest of them?

    What does export mean in your mind. Remember Photoshop is a document editor not a file editor it only save files from documents,  There is a way to toggle off visible layers but the one you Alt click on visibility icon. Perhaps the scriptlistiner can shed some light on that,  Photoshop will still have to process all layers and you need to toggle the visibility the second time. It sounded to me that you want to do something like Export Layers to Files that is why I suggested that you look at how Adobe programmers addressed the subject.

  • Wwsec_api.add_user_to_list gives OTHERS Exception

    when i try to add a few users to a list by using
    wwsec_api.add_user_to_list
    i am able to add a few users. for others i am getting an exception with SQLCODE=1 and SQLCODE=User Defined Exception
    this exception occurs only for a few users.

    Yes, you are experiencing an access violation.
    There are obvious security risks with allowing a non-owner to add
    users to a list. People could then add themselves to the
    privileged groups.

  • PS cs3 doesn't save files as JPG or others except PSD or PDF!!!

    Please, help! My PS cs3 provides saving files only as PDF or PSD files!!! How can I save them as JPG????

    I think you may have been mis-remembering Jennifer, unless you save for web, in which case it gets converted to 8-bit.
    As Freeagent said, check the colour mode settings.

  • Clean up main album by hiding other albums (as in previous versions)

    Had ALL versions
    of photshop album the elements so I know the program well. Running this on vista...8.0 uninstalled.
    8.0 allowed you to make albums with visible images in the album but invisible in the main thumbnail window. This sped up the thumbnail loading time. 9.0 seems to make the images invisible in both the new album as well as the main window. This doesn't make sense. Please allow for a cleaner main thumbnail view . If all the pics are always there it loads to slowly.

    This is the Photoshop forum - we don't deal with Album/Organizer at all.

  • IMS-exception type "Other errors" is not getting triggered

    Hi experts,
                     I am trying out some scenarios in IMS. I want to check exception type- "Other Errors" which is a most generic exception type. I have tried many options like- removed country from partner id address, tried posting invoice after removing account assignment category but for all these invoice triggers exception- duplicate invoice which i am unable to understand. can anybody please tell me what are the settings required for exception type- other errors?
    2. I even tried exception type "missing goods receipt". Excption type is getting triggered but after creation of confirmation- the status of the exception is not getting changed to clarified. Instead it gives an error- User is locked please try after some time.
    Please help
    Regards
    Kapil

    Hi Friend,
    Please read the possible exception types in IMS
    Have you set these exception in Settings for Invoice Monitor
    Purpose
    In the Settings for Invoice Monitor application, you can make settings directly on the user interface for every exception that you wish to adjust.
    Digital signature
    For each exception, you can define whether you want to use a digital signature.
    If you use a digital signature, the field Digital Signature is active on the Adobe PDF form and the processor of the form has to sign it before sending it back.
    The system then checks that the signature is valid.
    If the signature is invalid, or the processor does not sign the form, an error message is written to the log and the e-mail is closed.
    You can assign a digital signature to a vendor in two different ways.
    ·        The user assigns a partner certificate and sends it to the vendor.
    ·        The user uses the vendor’s signature certificate. This certificate has to be registered on the ADS server. For more information, see the SAP NetWeaver Configuration Guide Interactive Forms based on Adobe Software on the SAP Service Marketplace under service.sap.com/instguidesNW2004s.
    Additionally, you can make settings for the following exceptions:
       Invoice duplicate
    This exception is triggered if you try to post an invoice that has already been posted. The two invoices are compared using criteria that you have specified. In the settings, you can define whether a notification e-mail is automatically sent in the case of an invoice duplicate exception, and to whom this e-mail is sent. Furthermore, you can tailor the duplicate check to suit your requirements. The following criteria are available:
        Consider special characters in the vendor invoice number
         Check the number of items and purchase order number
         Additionally, you can define that the invoice is automatically deleted as soon as the vendor confirms that a duplicate invoice exists.
    ¡        Fields for duplicate check
    On this tab page, you can activate the fields that are relevant for the duplicate check. Furthermore, you can define a maximum variance for each field. In other words, you define whether the data in the fields should be an exact match, or whether small differences are acceptable.
    ¡        Exclude vendor values and or invoice values
    On this tab page, you can exclude certain vendors and/or invoice values from the duplicate check. If, for example, you always receive invoices from one vendor for the same amount, you can enter this here so as to prevent unnecessary checks.
    ¡        Group vendors
    On this tab page, you can group vendors that have several vendor numbers together in a data record to facilitate the duplicate check. Entries in this table cause an update in the TREX database which might lead to a short delay.
    Regardless of your settings, the system performs a standard duplicate check (for vendor invoice numbers or vendor numbers that match exactly, for a +/- 7 day period) to ensure that these duplicates are found. If this standard check is not successful, a further check is performed using the settings that you made.
    ·        Missing external information
    This exception is triggered if you try to post an invoice that contains incomplete or incorrect information. In the settings, you can define whether a notification e-mail is automatically sent in the case of an exception caused by missing external information, and to whom this e-mail is sent. Furthermore, you can define whether the e-mail contains a link to the SRM System, where the missing/incorrect information can be entered directly in an interactive form.
    ·        Missing internal information
    This exception is triggered if you try to post an invoice that contains incomplete or incorrect information. In the settings, you can define whether a notification e-mail is automatically sent in the case of an exception caused by missing internal information, and to whom this e-mail is sent. Furthermore, you can define whether the e-mail contains a link to the SRM System, where the missing/incorrect information can be entered directly in an interactive form.
    ·        Missing goods receipt
    If no digital signature is used, two additional fields are displayed in the PDF form. The processor has to enter his first and last name into these fields before he/she sends the e-mail back.
    In the settings, you can define whether a notification e-mail is automatically sent in the case of an exception caused by a missing goods receipt, and to whom this e-mail is sent. You can define how long the invoice should remain with status 'Waiting for Preceding Documents' before it receives the status 'To be Corrected Manually’. Furthermore, you can define how many days pass before an e-mail is sent to the goods recipient. When the goods recipient then confirms that no goods delivery has taken place, an e-mail is automatically sent to the vendor. If the goods receipt has already taken place, you can either define that the goods recipient confirms this automatically in an interactive form, or that the goods recipient uses a link in the e-mail to confirm the goods receipt in the SRM system.
    ·        Incorrect reference
    This exception is triggered if you try to post an invoice that refers to an incorrect reference. In the settings, you can define whether a notification e-mail is automatically sent in the case of an exception caused by an incorrect reference, and to whom this e-mail is sent. Furthermore, you can define whether the e-mail contains a link to the SRM System.
    ·        Approval overdue
    This exception is triggered if an invoice remains in approval status for longer than allowed. You can define how long an invoice can remain in approval status before the exception is triggered.
    ·        Other errors
    This exception is triggered if you try to post an invoice that contains errors. In the settings, you can define whether a notification e-mail is automatically sent in the case of an exception caused by other errors, and to whom this e-mail is sent. Furthermore, you can define whether the e-mail contains a link to the SRM System.
    Note that the invoice is checked in accordance with the vendor tolerance limits in the case of the following exceptions: If these are exceeded, an error message is output.
    ·        Price variance
    This exception is triggered if you try to post an invoice that contains price variance that exceeds the tolerance limit. In the settings, you can define whether a notification e-mail is automatically sent in the case of a price variance, and to whom this e-mail is sent. You can stipulate that the invoice is posted automatically if the price variance is approved on account of the e-mail. Furthermore, you can define whether the e-mail contains a link to the SRM System.
    ·        Quantity variance
    This exception is triggered if you try to post an invoice that contains quantity variance that exceeds the tolerance limit. In the settings, you can define whether a notification e-mail is automatically sent in the case of a quantity variance, and to whom this e-mail is sent. You can stipulate that the invoice is posted automatically if the quantity variance is approved on account of the e-mail. Furthermore, you can define whether the e-mail contains a link to the SRM System.
    ·        Tax variance
    This exception is triggered if you try to post an invoice that contains tax variance that exceeds the tolerance limit. In the settings, you can define whether a notification e-mail is automatically sent in the case of a tax variance, and to whom this e-mail is sent. You can stipulate that the invoice is posted automatically if the tax variance is approved on account of the e-mail. Furthermore, you can define whether the e-mail contains a link to the SRM system.
    In Invoice monito system pls check the what setting is done for Duplicate  invoice, Missing GR and other invoice.
    Based on these setting only system identifies what type of exception it is.
    In other errors you should mention in Settings for Invoice Monitor  what are the fileds your consider for other exception.
    Hope this information will help.
    Thanks & Best regards
    Girish

  • Runtime exception for other than programming error.

    In a conversation the question arose whether it could be a case of throwing a runtime exception for anything other than a bug. The tutorial on oracle site says "These Usually Indicate programming bugs" leading to think that can be used in situations in which there is no bug.
    Anyone have a practical example of a runtime exception when there is no bug?
    Thanks.

    937643 wrote:
    Ok. But. Do you think that in these cases the use of a runtime exception could be considered a bad practice?That's actually a matter of some debate.
    On the one hand, Java has defined two major kinds of exceptions since the very beginning (unchecked exceptions, which are RuntimeException, Error, and their descendants; and checked exceptions which are everything else). The intended use of those was that checked exceptions should be for things that can normally go wrong in the execution of a program, even without a bug or without a major internal JVM error, such as a failed attempt to persist something or a network connection dropping--stuff that a programmer might normally be expected to deal with; while unchecked exceptions were created for things that a programmer would not normally handle in his code (except possibly at major architectural boundaries), like buggy code or an internal JVM failure.
    With the rule about having to catch or declare checked exceptions, but not unchecked ones, that makes it easy for programmers so say, "Okay, I know exactly what can go wrong here that I might be expected to handle and I can therefore choose what to do with it; there will be no surprises. But I don't have to deal with problems that are outside my normal responsibility, like somebody passing me a null when they shouldn't have." It gives a programmer a nice bit of control, and the ability to know he hasn't missed something, kind of like the type safety provided by a strongly typed language.
    At least that's the theory.
    In practice, most checked exceptions either just get bubbled up to the next layer (via a throws clause), or caught wrapped in a fairly generic layer-appropriate exception and rethrown. There's not a whole lot of use made of what checked exceptions provide, and there's a lot of ugly boilerplate code that doesn't do anything useful for the app but is just there to satisfy the compiler.
    So, some people think that checked exceptions are useless, or mostly useless, and favor unchecked exceptions in most or all cases. I believe that's part of the philosophy of Spring, but I'm not totally sure.
    The idea is that since most of the time you can't do anything about exceptions that might be thrown to you, it's wasteful and pointless to have all that code to catch and rethrow. In this viewpoint, it would be better if, for example, not providing a throws clause at all meant that you could throw any exception. Any given code can still catch specific exceptions that it knows it can handle, but we don't have to write a bunch of code notating something that we're not really doing anything about.
    Personally, I used to be totally in the checked exception camp. However, all the pointless boilerplate is wearing me down. I'm still not completely convinced though, and here's why: If I'm calling a method, I'd like to at least be able to see what might go wrong, so that I can decide how to deal with it. If all exceptions were unchecked, and the throws clause were optional, a conscientious developer could still provide it, and list the unchecked exceptions his method might throw to me, and/or he could document them in the javadoc comments. But a lot of developers won't do that, or even if they start to, as their method evolves, without the compiler to enforce it, they won't keep it up to date.
    So there are advantages to both approaches. I personally would to know that the information will always be available to me, but for the small percentage of the time where I actually use it (like handle one specific exception one way and some other exception differently), I'm not sure if it's worth the overhead.

  • Exception Handling - WHEN OTHERS

    Good Day to All,
    When i am running a procedure in TOAD-Expert... it says below message.
    *'Avoid using a WHEN OTHERS clause in an exception section without any other specific handlers.'*
    PROCEDURE...
    IS
    BEGIN
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    -- Checking whether cursor is open
       IF cur%ISOPEN THEN
        CLOSE cur;
       END IF;
      UPDATE TABLE
      SET COL..
      WHERE ...
       COMMIT;
       RAISE;
    END procedure;

    The manner in which you are dealing with the exception is not wrong. Your handler does a couple of things:
    - rollbacks the existing transaction as failed
    - attempts resource protection (guard against resource leakage)
    - logs the error
    - re-raises the exception
    None of these are invalid actions when dealing with an exception.
    A suggestion though - move the UPDATE out of the exception and create a procedure that performs the logging for you (as an autonomous transaction). This way you have a reusable logging code unit that can be called from anywhere in your code.
    Resource protection for explicit cursors are also not that critical in PL/SQL - as cursor handles that go out of scope are automatically released. The exception being a ref cursor handle. Of course, you need to resource protect other handles (like socket and file handles). And seeing that PL/SQL does not offer resource protection blocks, the only alternative is to use the "+when OTHERS+" exception handler for that.

  • On my I pad I cannot get mail.screen says'the connection to the server failed'.no other problems except I cannot download new apps

    On my I pad cannot get mail. Screen says 'the connection to server failed.No problem with others except I cannot get new apps.

    Hi David,
    Based on your description of the issues, you may want to verify that you have an active network connection (either WiFi or cellular). You may find the following articles helpful:
    iOS: Troubleshooting Wi-Fi networks and connections
    http://support.apple.com/kb/TS1398
    iPhone: Troubleshooting a cellular data connection
    http://support.apple.com/kb/ts3780
    Regards,
    - Brenden

Maybe you are looking for

  • ADF JSF 10.13 how do you reference a binding from a command button?

    I have developed the following code as a model as I am trying to utilise ADF JSF without using a database. I have a collection called School. This has the appropriate operations that populate the school with a number of Child. A Child simply has a fi

  • My Powerbook is dying!

    I have been getting messages that my start up disk is full for the past few weeks. I have cleared up some files and I now have 3 GB space available. However, my computer started to act so weird today (eg. when I click on an icon it goes to a differen

  • Photos 2015

    I upgraded to Photos 2015. It creates a new library for pictures, duplicating the one from Iphoto. Is it safe to cancel the Iphoto library and Iphoto itself? In Photos I noticed that the videos (mpg files) that were working in Iphoto are not working

  • Filter tiffs by bit depth, color space

    A way to filter tiffs by 8 vs. 16bit and also color space? If not doable in PS another means of doing it. Thanks

  • How to create a .env after clone?

    Hi: I am doing a clone. The database clone is done. Now the apps tier. I copied files from prod to target. And now trying change APPS password. but got error. FNDCPASS: error while loading shared libraries:libclntsh.so.10.1: cannot open shared object