Error Handling for ORA-02291

Dear all,
please help me, what exception name i must use
(like "NO_DATA_FOUND" or "DUP_VAL_ON_INDEX") for error handling
(exception) for ORA-02291 : integrity constraint(....) violated -
parent key not found.
Thank you.
Regards
Teguh Santoso

Find out the error no. Oracle returns for this error & in the
front-end (Ex:Forms) create a Pragma Exception error handler &
give ur user defined error message when the user encounters
it....
Hope this suffices.
Santhosh

Similar Messages

  • Error handler for ORA-29283 - not working

    I am running Oracle 9.2.0.4 on HP-UX.
    I have a stored procedure which reads a text file. I have set up an execption for error code ORA-29283 (invalid file operation). When I test my procedure (by not having the file to read) my exception handler is bypassed for a general exception error and my procedure terminates.
    here's parts of my code:
    Declare
    file_not_found EXCEPTION;
    PRAGMA EXCEPTION_INIT (file_not_found, -29283);
    BEGIN
    nochourly_file := UTIL_FILE.fopen('/mydirectory','myfile.txt','R');
    Loop
    begin
    UTL_FILE.get_line(nochourly_file, sbuffer);
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    GOTO end_of_file;
    WHEN file_not_found
    THEN
    DBMS_OUTPUT.put_line ('Invalid File Operation - file not found');
    skip_last_hour_processed;
    GOTO end_of_file;
    WHEN OTHERS
    THEN
    err_num := SQLCODE;
    err_msg := SUBSTR (SQLERRM, 1, 100);
    DBMS_OUTPUT.put_line ('Error ' || TO_CHAR (err_num));
    DBMS_OUTPUT.put_line (err_msg);
    DBMS_OUTPUT.put_line (sbuffer);
    RAISE;
    EXIT;
    END;
    ===============
    When this fails I expect to see the message
    "Invalid file operation - file not found"
    which indicates my exception handler was processed.
    Instead I see:
    SQL> @$HOME/newhourly_dly
    Begin processing at 20060627154321
    nlasthourprocessed:20060627100000
    Last Hour Processed is 20060627100000
    BEGIN noc_hourly_daily_load; END;
    ERROR at line 1:
    ORA-29283: invalid file operation
    ORA-06512: at "SYS.UTL_FILE", line 449
    ORA-29283: invalid file operation
    ORA-06512: at "HNS.NOC_HOURLY_DAILY_LOAD", line 374
    ORA-06512: at line 1
    Elapsed: 00:00:00.05
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Can you explain:
    1) what generated the error message since
    a. it wasn't my exception handler and
    b. it wasn't the "WHEN OTHERS"
    2) Why isn't my error handler working?
    Please advise.
    Thank you

    Hello
    Not sure why your exception is being ignored but usually, to be able to handle the UTL_FILE exceptions, you need to explicitly code for each exception declared in the UTL_FILE package i.e.
    EXCEPTION
          WHEN utl_file.invalid_path THEN
                 --Do something
          WHEN utl_file.invalid_mode THEN
                 --Do something
          WHEN utl_file.invalid_filehandle THEN
                 --Do something
          WHEN utl_file.invalid_operation THEN
                 --Do something
          WHEN utl_file.read_error THEN
                 --Do something
          WHEN utl_file.write_error THEN
                 --Do something
          WHEN utl_file.internal_error THEN
                 --Do something
    END;HTH
    David

  • 3.2 to 4.1 Upgrade - Error Handling for Unavailable Database Links

    Hi,
    I'm having a 3.2 -> 4.1 upgrade issue related to error handling for failed database links.
    I have a conditional Exists button on a page that has a SQL query to linked tables. However, for the 10 minutes every day where the target of the database link is getting a cold backup, the query fails. In the old 3.2 apex I simply got an error inside the region where the button is located but otherwise the page was still visible:
    "Invalid exists/not exists condition: ORA-02068: following severe error from MYDBLINK ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist"
    However, in apex 4.1.0.00.32 I get the following unhandled error, and clicking "OK" takes me to the edit page when logged in as developer.
    i.e., the page can't be run at all while the database links are failing in this one region.
    Error Error processing condition.
    ORA-12518: TNS:listener could not hand off client connection
    Technical Info (only visible for developers):
    is_internal_error: true
    apex_error_code: APEX.CONDITION.UNHANDLED_ERROR
    ora_sqlcode: -12518
    ora_sqlerrm: ORA-12518: TNS:listener could not hand off client connection
    component.type: APEX_APPLICATION_PAGE_REGIONS
    component.id: 4
    component.name: Current Alerts
    error_backtrace:
    ORA-06512: at "SYS.WWV_DBMS_SQL", line 1041
    ORA-06512: at "APEX_040100.WWV_FLOW_DYNAMIC_EXEC", line 687
    ORA-06512: at "APEX_040100.WWV_FLOW_CONDITIONS", line 272
    General users see this:
    Error Error processing condition.
    ORA-01034: ORACLE not available ORA-02063: preceding line from MYDBLINK
    clicking "OK" takes user to another page, not sure how apex decides which, but not a concern at the moment.
    I've done a search and read the page http://www.inside-oracle-apex.com/apex-4-1-error-handling-improvements-part-1/ but the new apex error handling isn't clear to me, and I don't know if the apex_error_handling_example provided on that page would be applicable to this situation.

    Thanks Patrick.
    The PL/SQL Function Body returning boolean condition with:
    begin
        for l_check in (
          SELECT 1
           FROM myview@MYDBLINK
          WHERE ... ) loop
            return true;
        end loop;
        return false;
    exception when others then
        sys.htp.p('Invalid exists/not exists condition: ' || sys.htf.escape_sc(sqlerrm));
        return false;
    end; Resulted in a similar issue:
    Error Error processing condition.
    ORA-04052: error occurred when looking up remote object MYLINKUSER.myview@MYDBLINK
    ORA-00604: error occurred at recursive SQL level 3
    ORA-01033: ORACLE initialization or shutdown in progress
    ORA-02063: preceding line from MYDBLINK
      Technical Info (only visible for developers)
    is_internal_error: true
    apex_error_code: APEX.CONDITION.UNHANDLED_ERROR
    ora_sqlcode: -4052
    ora_sqlerrm: ORA-04052: error occurred when looking up remote object MYLINKUSER.myview@MYDBLINK
    ORA-00604: error occurred at recursive SQL level 3
    ORA-01033: ORACLE initialization or shutdown in progress
    ORA-02063: preceding line from MYDBLINK
    component.type: APEX_APPLICATION_PAGE_REGIONS
    component.id: 4
    component.name: Current Alerts
    error_backtrace:
    ORA-06512: at "SYS.WWV_DBMS_SQL", line 904
    ORA-06512: at "APEX_040100.WWV_FLOW_DYNAMIC_EXEC", line 588
    ORA-06512: at "APEX_040100.WWV_FLOW_CONDITIONS", line 148However, I created a view with the same query:
    CREATE OR REPLACE VIEW v_localview (ALERT_1)
    AS
    SELECT 1
      FROM myview@MYDBLINK ...then change the condition to look at the local view:
    begin
        for l_check in (
          select alert_1 from v_localview ) loop
            return true;
        end loop;
        return false;
    exception when others then
        sys.htp.p('Invalid exists/not exists condition: ' || sys.htf.escape_sc(sqlerrm));
        return false;
    end;As a view is simply a query I'm surprised this should make any difference but it now looks similar to the 3.2 error, inside the region, when the linked database gets its morning cold backup, and this is fine:
    Invalid exists/not exists condition: ORA-12518: TNS:listener could not hand off client connection

  • Error handling for work item

    Dear All,
         When I trigger my workflow from SWUE,the workflow containers must be populated with agent name.But it is populated only with 'US'.Please suggest.
         On the other hand, when I trigger my workflow from ME21N,the workflow goes into error.The error statement is "Exception occurred - Error handling for work item 000000954797".What is the problem?
        Please suggest the solution for which I will be grateful.
    Thanks and regards,
    S.Suresh

    Dear ,
    I use bus2012 as BOR and event as created.
    When I create purchase order from ME21N,bus2012 is not triggering.Instead FREBUS2012 gets triggered which is a subtype of bus2012.
    At SWETYPV,event linkage is activated only for BUS2012 and there is no entry at SWETYPV for FREBUS2012.
    Though I configured the workflow with start events:BUS2012->created,why FREBUS2012 should trigger my workflow which is not seen in SWETYPV?How to override it?Please suggest.
    There is no start conditions for my workflow.Whenever purchase order is created,this workflow should trigger.
    So,the parameters passed between even to workflow are 
    &_EVT_OBJECT&    ->        &BUS2012&
    &_EVT_CREATOR&   ->     & WFINITIATOR&
    Thanks and regards,
    S.Suresh

  • Error handling for a save button

    hi. how do i get error handling say in a button, and then to give an error to the user, without crashing the whole application. can any one point me to any articles, tried searching , and not finding wxactly what i am looking for. thanks.
    http://startrekcafe.stevesdomain.net http://groups.yahoo.com/groups/JawsOz

    hi. maybe i did not make my self clear. okay, here's how this button works, you have a open dialog button, and a open dialog box, you click the file, and it loads in the data grid. now you click on the save button, and a message says file was saved, need
    try / catch code, to catch this, if the file was not saved, or other errors, then a error friendly message, any code for this. read the article, but need a specific error handler for the save button, like i had for the open dialog file dialog box. any suggestions,
    or links, to look at sample code. thanks.
    http://startrekcafe.stevesdomain.net http://groups.yahoo.com/groups/JawsOz

  • Error handling for RGB values

    Hi
    I am having problems doing error handling for RGB values. I have a Java applet with 3 JTextFields whose values are parsed as int variables and stored as ints. If a value is entered that is not a value between 0 and 255 is entered, the appropriate field/s should be set to an empty string.
    The problem I am having is that I am using try/catch block to try to parse as an int but then it breaks out of execution completely.
    I hope this makes sense and that someone can help.
    Thanks!

    this is because your code is probably inside one giant try catch block, what you need to do is have small ones in places where you do the parsing.
    post code and i can show you how to modify it

  • Option for error handling for DTP, ' no updata, no reporting" and "deactiva

    Hello Gurus,
         option for error handling for DTP, ' no updata, no reporting" and "deactivated" , please give some explanation and instance for them?
    Many Thanks,

    On the Update tab page, specify how you want the system to respond to data records with errors:
                                a.      No update, no reporting (default)
    If errors occur, the system terminates the update of the entire data package. The request is not released for reporting. However, the system continues to check the records.
                                b.      Update valid records, no reporting (request red)
    This option allows you to update valid data. This data is only released for reporting after the administrator checks the incorrect records that have not been updated and manually releases the request by setting the overall status on the Status tab page in the monitor (QM action).
                                c.      Update valid records, reporting possible
    Valid records can be reported immediately. Automatic follow-up actions, such as adjusting the aggregates, are also carried out.
    http://help.sap.com/saphelp_smehp1/helpdata/en/42/fbd598481e1a61e10000000a422035/content.htm
    Hope it helps.
    rgds, Ghuru

  • Error Handling for Outbound IDOC - COSMAS (Cost Center Master)

    Hi,
    I need to trigger a mail to SAP inbox whenever a outbound idoc fails for any reason.
    I know how to do it for inbound or outbound transaction data, but not sure how to do error handling for outbound master data.
    Could one of you help me understand the same.
    Thanks in Advance,
    Vinoth

    Hey Vinoth,
    Do you want decide the recipient of the mail dynamically? am asking because if you give the USER NAME in the partner profile and when ever a IDOC fails a mail will automatically reach the user inbox automatically
    let me know if i answered ur question.
    Thanks,
    Santhosh

  • Latest Error Handling for Dynamic Actions

    Is there any documentation on the Latest Error Handling for Dynamic Actions?

    BillC,
    Interesting that I was looking around for the same thing after seeing a Foreign Key violation in my application.
    I found this article by Patrick Wolf:
    APEX 4.1 – Error Handling Improvements – Part 1
    http://www.inside-oracle-apex.com/apex-4-1-error-handling-improvements-part-1/
    I believe you need to be on 4.1 or later though.
    Thanks,
    Joe

  • Error handling function: ORA-20001: get_dbms_sql_cursor error:ORA-00942: table or view does not exist  is not trapped. Why?

    Why APEX 4.1 Error handling function does not trap  the error of missing table?
    Say, I create simple application with single IR report page and I also assign standard simple error handling function.
    Function works perfectly, except but this case:
    If I just drop a table used by report page and then refresh the page I am getting usual APEX error message:
    ORA-20001: get_dbms_sql_cursor error ORA-00942: table or view does not exist
    and error handling function is not invoked at all.
    Is this a feature or a bug?

    Hi,
    Check the corrections given in the note 990764:
    Reason and Prerequisites
    Up to now, using a characteristic with its own master data read class as the InfoProvider was not supported. This is now released but it is not available for all modelings. Using the attributes in the query is not supported for characteristics that have their own master data read class. Using the attributes in the query causes a termination. The following errors may occur in this case:
    ORA-00942: table or view does not exist
    Fehler in CL_SQL_RESULT_SET  Include NEXT_PACKAGE
    RAISE_READ_ERROR in CL_RSDRV_VPROV_BASE
    Solution
    SAP NetWeaver 2004s BI
               Import Support Package 11 for SAP NetWeaver 2004s BI (BI Patch 11 or SAPKW70011) into your BI system. The Support Package is available once Note 0914305 "SAPBINews BI 7.0 Support Package 11", which describes this Support Package in more detail, has been released for customers.
    In urgent cases you can implement the correction instructions.
    The correction instructions contain the tightened inspection for characteristics.
    Regards,
    Anil Kumar Sharma .P

  • Oracle errors frm-40508 &ora-02291

    hello
    i m having a problem
    i have two tables for my project with one of em master and the other a detail one
    i m using developer 2000 for frontend
    when i try inserting data in the forms developed i encounter an error frm-40508 which says "unable to insert record" the corresponding ora error is ora-02291 which says "integrity constraint violated - parent key not found"
    i have a primary key in my master table which is used to connect it to details table through foreign key.feilds for the primary key in master and foreign key in details are same
    i dont have any such problem if i input data through sql command insert
    plz suggest me some solution to this problem
    thnx
    nipun

    Hi,
    Just try watching is therer ar no unique indexes on that table where u are doing an insert. another reason might be the composite primary key or the combination that might be confusing you.
    U can try out adding an exception block to the trigger and try raise when-dup-val-on-index exception
    Thanks,
    Vishal

  • Error handling for importing a file

    Hi, I have only been doing java for 1 semester, and have got terribly stuck on my final assg. I have to import a txt file, and catch any exceptions. I know I am not using the correct method to read the file, but am not sure what the alternatives are. I am getting a compile time..illegal character msg for my Mydata.txt file. Here is my code.
    PS I do have a CatalogueItem class and a bit more to the main class, I have not attached it as I do not want this to be too long.
    /The program reads 10 sets of catalogue data from the Mydata.txt file
    //it prompts the user to use one of the 5 menu options displayed on the screen
    //depending on which option is selected the program displays the data
    //back on the screen.
    import java.awt.*;
    import java.lang.*;
    import java .io.*;
    import java.util.StringTokenizer;
    import java.text.NumberFormat;
    import java.util.Locale;
    //set up a class to call on the constructors from the catalogueitem class
    public class Myassg5
         private static final int MAX = 10; //sets the length to 10(for most exp products)
         private static CatalogueItem[] prodlist; //sets array for product list
         NumberFormat cash = NumberFormat.getCurrencyInstance(new Locale("en","AU"));
         public static void main(String[] args) throws IOException
         CatalogueItem prodlist = new CatalogueItem[10];//sets the length to 10
         {//create Buffered FileStream and initialise to zero
         //use bufferedReader to read in data my Mydata.txt file.
         BufferedReader inFile = null;
         BufferedReader inFile = new BufferedReader(new FileReader(C:\Mydata.txt);
         //print a msg stating the file is loading
         System.out.println("Loading file data from Mydata.txt...10 item(s) OK");
         //initialise the array elments to zero
         for( int a = 0; a < prodlist.length; a++)
         prodlist[a] = 0;
         //if incorrect command lines were passed in display
         //usage msg and quit program
         if(prodlist.length != 1)
              System.out.println("Usage: java assg <Mydata.txt>");
              System.exit(0);
         try
              inFile = new BufferedReader(new FileReader(args[0]));
         //display the error and quit if the file is not found
         catch(FileNotFoundException e)
              System.err.println("File not found--program will terminate");
              System.exit(1);
         //display error msg and quit if there is a problem
         //when opening the file
         catch(IOException e)
              System.err.println("Error opening file--program will terminate")
              System.exit(1);
         //repeat this error handling process as often as neccessary
         boolean go = true;
         while (go)
         //get a line of data from the file
         boolean valid = false;
         CatalogueItem prodlist =-1;
         while(!valid)
         //read the line of text from the file
         String temp = null;
         try
              temp = inFile.readLine();
         //display error msg and quit if there is a problem
         //reading from the file
         catch (IOException e)
              System.err.println("error reading from the file--program will terminate");
         System.exit(1);
         //if the string is null the EOF has been reached
         if(temp ==null)
              valid = true;
              go = false;
         //close the file stream
         try
              inFile.close();
         //display error if there was a problem closing the file
         catch (IOException e)
              System.err.println("error closing data file")
         

    I think the problem is the "\M" in "C:\Mydata.txt". It is trying to make that into an escape character. Use "C:\\Mydata.txt" or "C:/Mydata.txt" instead.
    The logic here is odd. You open a BufferedReader for Mydata.txt, then you trash it without closing it and create another BufferedReader for whatever command line argument the user passes in. Which reader do you want to keep?

  • Error handling for distributed cache synchronization

    Hello,
    Can somebody explain to me how the error handling works for the distributed cache synchronization ?
    Say I have four nodes of a weblogic cluster and 4 different sessions on each one of those nodes.
    On Node A an update happens on object B. This update is going to be propogated to all the other nodes B, C, D. But for some reason the connection between node A and node B is lost.
    In the following xml
    <cache-synchronization-manager>
    <clustering-service>...</clustering-service>
    <should-remove-connection-on-error>true</should-remove-connection-on-error>
    If I set this to true does this mean that the Toplink will stop sending updates from node A to node B ? I presume all of this is transparent. In order to handle any errors I do not have to write any code to capture this kind of error .
    Is that correct ?
    Aswin.

    This "should-remove-connection-on-error" option mainly applies to RMI or RMI_IIOP cache synchronization. If you use JMS for cache synchronization, then connectivity and error handling is provided by the JMS service.
    For RMI, when this is set to true (which is the default) if a communication exception occurs in sending the cache synchronization to a server, that server will be removed and no longer synchronized with. The assumption is that the server has gone down, and when it comes back up it will rejoin the cluster and reconnect to this server and resume synchronization. Since it will have an empty cache when it starts back up, it will not have missed anything.
    You do not have to perform any error handling, however if you wish to handle cache synchronization errors you can use a TopLink Session ExceptionHandler. Any cache synchronization errors will be sent to the session's exception handler and allow it to handle the error or be notified of the error. Any errors will also be logged to the TopLink session's log.

  • Error handling for master data with direct update

    Hi guys,
    For master data with flexible update, error handling can be defined in InfoPackege, and if the load is performed via PSA there are several options - clear so far. But what about direct update...
    But my specific question is: If an erroneous record (e.g invalid characters) occur in a master data load using direct update, this will set the request to red. But what does this mean in terms of what happens to the other records of the request (which are correct) are they written to the master data tables, so that they can be present once the masterdata is activated, or are nothing written to masterdata tables if a single record is erroneous???
    Many thanks,
    / Christian

    Hi Christian -
    Difference between flexible upload & Direct upload is that direct upload does not have Update Rules, direct upload will have PSA as usual & you can do testing in PSA.
    second part when you load master data - if error occurs all the records for that request no will be status error so activation will not have any impact on it i.e. no new records from failed load will be available.
    hope it helps
    regards
    Vikash

  • Error Handling for BAPI MB_COUNT_POST_WITHOUT_INV_DOC for MI10 Transaction

    Hi,
    Can any one suggest me, how to handle the errors for the BAPI MB_COUNT_POST_WITHOUT_INV_DOC, because this bapi does not have any return table for errors handling? And also suggest any other BAPI which fits for MI10 transaction.
    <removed by moderator>
    Thanks&Regards,
    Damuan.
    Edited by: Thomas Zloch on Feb 2, 2012

    Hi Dear,
    Your answer is very helpful, thanks..!!
    But when  i am testing with the EIKPF structure, neither error is populating in EIKPF  nor the records are  posting in MI10. Could you please guess what would be the problem?
    Below are the fields that i am passing through this BAPI
    1)Document date 2)count date 3)plant 4)storage location 5)item number 6)material code 7) entry quantity
    Thanks&Regards,
    Damuan.

Maybe you are looking for