Handling Oracle error messages

I'm hoping this is a simple question.
I have an updatable report I'm using to collect data. It's pretty vanilla - I just used the default templates. I have a unique index constraint on the form's underlying table. When I violate the constraint and attempt to save a row, I get redirected to what looks to be a default error page that isn't very user friendly.
Can someone tell me how I can specify a different error message depending on the error number Oracle returns?
Thanks for any info.

The whole problem is divided in two parts: Exception is defined or not, I'll show you haow to handle exception that do not exist and want to trap them.
I saw that there is no named exception for ORA error "-00054", which is raised when record is locked. So I define my exception as:
busy_resource EXCEPTION;
  PRAGMA EXCEPTION_INIT(busy_resource, -00054);Now to handle this exception in the Appex process looks like:
begin
  ...your code ...
  :PXX_msg := 'OK!';
exception
  when busy_resource THEN
    :PXX_msg := 'Record is locked. Try later';
  when others then
    :PXX_msg := 'Unknown error!;
end;where "PXX_msg" is hidden item acesable on the page, XX represent page number.
And in "Process Error Message" part of process don't put anything because all errors are handled and error will never happened. If you want that part put in excepttion part "RAISE;" command so erro will be raised!!!
And in "Process Success Message" of the same process put also:
"&PXX_msg."
So you can see the result in much pleasent way!
You have the same variable as result and now all to do is imagine exceptions that could happened. For the first time allways try to put some logging in "WHEN OTHERS THEN" part top collect as much as possible errors that could happened.
Hope this helps!

Similar Messages

  • Error Handling and Error Messages

    I already posted this in the java programming forum, but I dont think the people responded understand patterns, or what I was asking. Here is my original post, for reference I am not asking how to catch and exception, or how to display an error, I am asking about the pattern implementation.
    I am currently in the process of creating my Exception model for my program, and I have a question about error messages. I was reading the book "Effective Java Programming" which deals with patterns and it states that an exception should state the error and report information on all relavent states. For instance If you have a class the modeled some sort of memory array, and an access was requested to a block of memory outside the array you should throw an ArrayIndexOutOfBoundsException("Index:" + index + ", start:" + 0 + ",end:" + Array.length) or if you made your own MemoryAddressOutOfBoundsException(same as above) which when printed should read
    ArrayIndexOutOfBoundsException: Index:-1, start:0, end:0
    stack trace
    The pertinate information is the index, start index, and end index.
    The book CLEARLY states as an industry design pattern that exceptions weather checked or unchecked should not contain user error messages. For instance with the above example one might be tempted to use this as the exception message: "The memory addres index is not a valid memory address." This is clearly a user error message.
    So heres my situation. In a gui environment (command line console not visible) how do you generated a user error message, letting the user know that an internal exception has occured.
    In my previous implementation of my project, I used the exception message the user error message and just reported the message on a dialog. I have heard of people using error catalogs, which centrallizes all the error messages into a single class or file.
    I was wondering if and Error catalog was a good approach, how I might go about implementing one, and if not how do you the community handle user error messages.

    class MyAppErrors {
       public static final int FILE_NOT_FOUND = 0;
       public static final int DIR_NOT_FOUND = 1;
       public stat final String[] errMsgs = {
          "The file was not found.",
          "The directory was not found.",
       public String getErrMsg( int n ) { return errMsgs[n]; }
    [\code]
    And a nicer version would allow the calling code to pass in a substring so you could say "The file 'somename.ext' was not found."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to Handle the error message?

    Hi,
    Can any one help me in handling the error messages in application,
    In my application, I am having 2 buttons, one is display button, and the other is reset button. When we enter wrong inputs, it prompts an error message and again we I click on reset button the application goes back to its normal stage i.e. the error message will be disappears. These things will happen in the same page. I have tryed to know the any Id/Name of error message.
    So please help to handle error and skip that error then continue execute raming code.
    Thanks
    Buntty

    A few problems with this question that need clarification:
    You're using a GUI, but we have no way of knowing which one -- Swing? AWT? SWT? other?
    You ask how to fix your program flow and logic but don't show us the current state. Most of us can't read minds so a bit of code would be nice here.
    You mention "Page". What context is this in?
    A great resource that has helped me and will probably help you is an article entitled [How To Ask Questions The Smart Way|http://www.catb.org/~esr/faqs/smart-questions.html] . It will tell you how to formulate your questions so that the folks here will be better able to answer them. Good luck.

  • Handling Multiple Error Messages through EXIT_SAPMM06E_012 for ME28

    Dear Team,
                           After Executing ME28, system will give List of PO's that are to be Released . User will select Multiple  PO's and
    Press Release button in Application toolbar. once it is relased, User will press save Icon for all released PO's. 
    Once Save icon is presed, I need to  do  Validation for Multiple PO's in the user Exit EXIT_SAPMM06E_012 and capture my
    ErrorMessages for all Released PO's for which Validation fails.
    Here in the given user Exit, one PO will be processed at a time as PO is defined as Import Parameter but it will handle all PO's
    and give the output in status bar saying 'Relased Saved' for all PO's which succesfully gonethrough.
    once we execute ME28, system is showing list output with PO's to be Released(As system is handling with Write statments). In this case, we dont have scenario of PBO and PAI Modules( where user can correct error if any validation fails) like we have for ME22,etc.
    I have Written simpel Error Message in the  User Exit.
    once i tried to trigger my user exit  by Releasing and Saving with One PO, Error Message is displayed ( as information Message
    appears) and if i Press Exit button in Error Message, it is coming out of Transaction.
    Is there any Possibilty to Handle Multiple Error Messages ( in my case for  Valdiation Failed Po's)  in ME28 ,after Releasing and Saving , and also user should not come out of Transaction once  Error Messages are Displayed.
    Thanks and Regards
    Suresh

    Hi Suresh,
    there is a tekpo table to handle all po items. you can put it in loop and do validations.
    if any errors through, there may be a ex_messages table of type bapiret2.
    or
    try like this:  MESSAGE E368(00) WITH TEXT-001 TEXT-002.
    thanks
    srinu
    Edited by: srinu rao on Sep 22, 2009 3:43 AM

  • Oracle error message code 1401 op 4, ORA-01401: inserted value too large fo

    Hi All
    I got this error when I try to run convert tables on our application server. Anyone know why? I am using Oracle 9i
    Here is the error message:
    Checking Table WORK_INSTRUCTION
    Table not in database
    Conversion Method - Create Table
    Creating Table WORK_INSTRUCTION
    Unable to create database table 'WORK_INSTRUCTION'
    Oracle error message code 1401 op 4, ORA-01401: inserted value too large for column
    WORK_INSTRUCTION definition as followings:
    table work_instruction;
    field identity
         used_for unique_key
         datatype identity;
    { APR 31/3/03 - Bug Nr WI4}
    field wi_admin
    {         links_to personnel . identity;}
    {         links_to location . identity;}
         links_to lab_section . identity;
    { ARP 31/3/03 - Bug Nr WI5 }
    field wi_title
    {         datatype text(20);   }
         datatype text(100);
    field version
              datatype text ( 4 );
    field wi_status
         datatype identity
         prompt_type choose
         choose_type WI_STATUS
         default 'I ' ;
    field wi_type
         datatype identity
         prompt_type choose
         choose_type WI_TYPE
         default '0 ';
    field sterlab_status
         datatype identity
         prompt_type choose
         choose_type STER_STAT
         default '0 ';
    field used_in_lims
         datatype boolean
         true_word 'Yes'
         false_word 'No'
         default 'No' ;
    { ARP WI16 28/5/03 - Extend from 10 to 45 }
    field method
         datatype text(45);
    field ref_method
         datatype text(100);
    field delegate
         links_to personnel . identity;
    field date_expire
         datatype date;
    field date_draft
         datatype date;
    field double_method
         datatype boolean
         true_word 'Yes'
         false_word 'No'
         default 'No' ;
    field technique
         datatype identity
         prompt_type choose
         choose_type TECHNIQUE
         default '0 ';
    field date_distribute
         datatype date;
    field report_date
         datatype date;
    field group_autho
         datatype text ( 16 );
    field astm_volume
         datatype text ( 6 );
    field date_non_active
         datatype date;
    field translated_in
         datatype text(10);
    { ARP WI16 28/5/03 - Extend from 60 to 2000 }
    field comments
         datatype text(2000);
    field doc_path
         datatype text ( 300 )
         prompt_type user_defined
         library 'TEST_SOP_FILE'
         routine 'file_browse';
    field modified_on
         datatype date
         used_for modified_on ;
    field modified_by
         links_to personnel.identity
         used_for modified_by;
    field modifiable
         datatype boolean
         used_for modifiable;
    field removeflag datatype boolean
         used_for remove_flag;
    { MOD TDR - 10/04/03 - Link to livelink document }
    field livelink_url
    datatype text ( 300 ) ;
    Thanks
    Li

    Verbatim from the manual:
    ORA-01401:     inserted value too large for column
    Cause:     The value entered is larger than the maximum width defined for the column.
    Action:     Enter a value smaller than the column width or use the MODIFY option with ALTER TABLE to expand the column width.You should find which value is bein attempted to be inserted into a column with a capacity shorter than the value length.
    ~ Madrid.

  • Oracle error message code 1653 op 4, ORA-01653: unable to extend table

    Hi
    Our application use Oracle 9i as database. I modified one of tables and try to convert it from this application, then I got an Oralce 1653 error as followings:
    Creating Table SAMPLE_T
    Copying data from SAMPLE to SAMPLE_T
    Unable to move data from table 'SAMPLE' to table 'SAMPLE_T'
    Oracle error message code 1653 op 4, ORA-01653: unable to extend table SAND.SAMPLE_T by 1024 in tablespace SAMPLE_RESULT
    I suspect the tablespace SAMPLE_RESULT is not big enough and also can not extended automatically, but not sure if it is right or there maybe other reasons behind this error.
    Any idea?
    Thanks
    Li

    Lets try .....
    SQL> select tablespace_name,sum(bytes)/1024 from dba_free_space where tablespace_name='USERS' group by tablespace_name;
    TABLESPACE_NAME                SUM(BYTES)/1024
    USERS                                      384
    SQL> alter database datafile 'C:\ORACLE\ORADATA\MYDB\USERS01.DBF' autoextend off;
    SQL> alter table scott.emp allocate extent;
    Table altered.
    SQL> /
    alter table scott.emp allocate extent
    ERROR at line 1:
    ORA-01653: unable to extend table SCOTT.EMP by 128 in tablespace USERSI believe you must add more space to tablespace SAMPLE_RESULT or set the autoextend on for associated datafiles.
    Hope it help ..
    Bhupinder

  • Oracle error message categorization

    Good morning,
    Do you know any document / url classifying ORACLE ERROR messages by category (for exemple connexion issue / memory issue / datafile issue etc)?
    The purpose is to grop log file and generate a call in case of specific Oracle error.
    In case of connexion issue - user not allowed to connect on a schema - I should raise a call
    In case of autoextend issue, I should raise a call.
    Thank you.

    arrgh,
    I found this doco but I was hoping something else exist
    Thanks
    --Simon                                                                                                                                                                           

  • Handle Oracle Error from Oracle Forms

    Actually I have a form with all types of validation and Id will be auto-generated by forms.
    Now if any oracle error occures after pre-insert, auto-generated number will generate but record is not saving.
    I want to handle this oracle error in my form and nullify the auto-generated ID forcefully.
    Edited by: Sudipto Nag on Sep 16, 2008 12:07 PM

    The way we handle database error generally is this:
    You should in any case have a NOT NULL constraint on the database column. In the ON-ERROR trigger, we then check for the dbms_error_code value to see, what error message the database returned, after checking for Forms returning the general trigger exception 40735. For example, to trap a NOT NULL constraint voilation, you would do something like this.
    if error_code= 40735 then --Forms error code = "Trigger raised unhandled exception".         
      if dbms_error_code in (-1400, -1407) then --mandatory not null column missing     
        --do something, like alerting the user
      elsif dbms_error_code in (<other DBMS error codes goes here>) then
        --do something else
      end if;
    end if;I believe this is what you are looking for. Hope it helps.
    Regards,
    Jacob

  • Capturing Oracle Error Messages

    Hi when developing some applications, I come across some error messages that I would like to make custom error messages.
    for example: ORA-00001: unique constraint (CREATE_USER.IC_ITEM_GENDERS_PK) violated
    Is there a way to capture this message and then make a user friendly message. Any info. would be great.
    Thanks

    If you write your own after-submit processes, you can write an appropriate exception handler, something like
    begin
    exception when dup_val_on_index -- ORA-0001
    then :P1_ERROR := 'Nice error message';
    end;Then show some "Error" HTML region with &P1_ERROR. conditional upon P1_ERROR being not null.
    AFAIK, there is no way to do this when the error is raised by the wizard-generated automatic DML or MRU processes. For that, you could try to put your error checking code in a Validation (and specify your nice error message). If the validation fails, the after-submit processes are not fired so the "ugly" error messages will not be seen by the user.
    Hope this helps.

  • Lookup of Oracle Error Message at application level

    Hi
    I'm writing a c# application that connects to an oracle database. My application queries a table containing a column with oracle error codes BUT NO ERROR MESSAGES. The application must show these error descriptions to the user. As I cannot expect the user to know errorcodes, the application should be able to translate it into the error message
    e.g.: instead of showing "ORA-13349" I'd like to show a textbox "polygon boundary crosses itself".
    Question: is the mapping <error_code, error_message> accessible to an application? How ?
    Thank you,
    Marco
    ps: it's not possible to change the stored procedure! I've to solve it at the application level

    You can use the function: standard.sqlerrm and pass as parameter the number of the error.
    http://www.tunzi.ch/page.php?name=errm
    Bye, Aron

  • Oracle Error Messages....

    Just trying to confirm something I suspect to be true. If Oracle encounters an error when your client machine cannot find the database specified in the tnsnames.ora file would you receive one or both of the following error messages?
    ORA-12198: TNS: could not find path to destination
    ORA-12203: TNS: unable to connect to destination
    I suspect this would be an either or situation but am unable to confirm it through technet.

    Here's what I found in the docs:
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
    TNS-12198 TNS:could not find path to destination
    Cause: Could not navigate a path through Interchanges to the destination. This error occurs if an invalid community is in the address string, or the address includes a protocol that is not available or the TNSNAV.ORA file does not have a correct CMANAGER address specified or the Interchange is down.
    Action: Assure that Interchanges necessary to get to the desired destination are up and have available capacity for an additional connection. Also check that the correct community and protocol have been specified in the CMANAGER address used.
    <HR></BLOCKQUOTE>
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
    TNS-12203 TNS:unable to connect to destination
    Cause: Invalid TNS address supplied or destination is not listening. This error can also occur because of underlying network transport problems.
    Action: Verify that the service name you entered on the command line was correct. Ensure that the listener is running at the remote node and that the ADDRESS parameters specified in TNSNAMES.ORA are correct. Finally, check that all Interchanges needed to make the connection are up and running.
    <HR></BLOCKQUOTE>
    Regards,
    -rh
    null

  • ORACLE Error Message - ORA-25254

    I need help correcting this error message while starting dbconsole.
    ORA-25254: time-out in LISTEN while waiting for a message
    Cause: The specified wait time has elapsed and there were no messages for any of the agents in the agent-list.
    Action: Try the LISTEN call with an appropriate time-out.

    I still cannot resolve this error. Does anyone knows how to fix it?

  • Oracle error message at sql prompt

    Dear,
    what is the command that is used to display the error message and action at the sql command prompt.....
    Thanks and regards
    Vijay

    I thought OERR tool is missing or not installed with my Oracle9i version in
    WindowsXP likewise I'm unable to use TKPROF utility also which is not
    been provided in Oracle9i-R1.
    I presumed OERR and TKPROF utilities are not provided in 9i for Windows,
    until you clarified that OERR executes under Unix only.
    Thanks Pierre,

  • Oracle Error Message - what does the below mean?

    Can anyone tell me what error message "AVAILABLE.multi_select_procedure raised unhandled exception (WHEN-CHECKBOX-CHANGED) means?

    If you have the space available on your hard drive and don't aready have a backup copy of the library make a temporary, backup copy (select the library and type Command+D) and apply the two fixes below in order as needed:
    Fix #1
    Launch iPhoto with the Command+Option keys held down and rebuild the library.
    Select the options identified in the screenshot. 
    Fix #2
    Using iPhoto Library Manager  to Rebuild Your iPhoto Library
    Download iPhoto Library Manager and launch.
    Click on the Add Library button, navigate to your Home/Pictures folder and select your iPhoto Library folder.
    Now that the library is listed in the left hand pane of iPLM, click on your library and go to the File ➙ Rebuild Library menu option
    In the next  window name the new library and select the location you want it to be placed.
    Click on the Create button.
    Note: This creates a new library based on the LIbraryData.xml file in the library and will recover Events, Albums, keywords, titles and comments but not books, calendars or slideshows. The original library will be left untouched for further attempts at fixing the problem or in case the rebuilt library is not satisfactory.
    OT

  • Display Oracle error message

    Hi!
    I am new with the Forms Developer. My question is: how can I display the error message givan back by the database server. The SQLERRM contains no value.
    Thanks,
    Zoltan

    It seems it is adding some system level error.Of course it does, for you raise that error with the line
    raise srw.program_abort;Instead of that line, let the function return FALSE

Maybe you are looking for