How to catch following error ---- JBO-25013: -----plz reply

can any one plz tell me how to catch and display this error.....
as an arror message box?
please reply as early as possible....
thanx
detail error page---
oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[06927 ].     at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelect(OracleSQLBuilderImpl.java:796)     at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:5585)     at oracle.jbo.server.EntityImpl.populate(EntityImpl.java:4712)     at oracle.jbo.server.EntityImpl.merge(EntityImpl.java:5058)     at oracle.jbo.server.EntityCache.add(EntityCache.java:565)     at oracle.jbo.server.ViewRowStorage.entityCacheAdd(ViewRowStorage.java:1762)     at oracle.jbo.server.ViewRowImpl.entityCacheAdd(ViewRowImpl.java:2151)     at oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1070)     at oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2943)     at oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2842)     at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)     at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)     at oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)     at oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)     at oracle.jbo.server.ViewRowSetIteratorImpl.doFetch(ViewRowSetIteratorImpl.java:2818)     at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2687)     at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2634)     at oracle.jbo.server.ViewRowSetIteratorImpl.getRowAtRangeIndex(ViewRowSetIteratorImpl.java:722)     at oracle.jbo.server.ViewRowSetImpl.getRowAtRangeIndex(ViewRowSetImpl.java:3672)     at oracle.jbo.server.ViewObjectImpl.getRowAtRangeIndex(ViewObjectImpl.java:6263)     at oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel._bringInToRange(FacesCtrlRangeBinding.java:541)     at oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel.setRowIndex(FacesCtrlRangeBinding.java:504)     at oracle.adf.view.faces.component.UIXCollection.setRowIndex(UIXCollection.java:378)     at oracle.adf.view.faces.component.UIXTable._processStamps(UIXTable.java:496)     at oracle.adf.view.faces.component.UIXTable.processFacetsAndChildren(UIXTable.java:377)     at oracle.adf.view.faces.component.UIXCollection.decodeChildrenImpl(UIXCollection.java:141)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:803)     at oracle.adf.view.faces.component.UIXCollection.processDecodes(UIXCollection.java:136)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:818)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:803)     at oracle.adf.view.faces.component.UIXComponentBase.processDecodes(UIXComponentBase.java:673)     at javax.faces.component.UIForm.processDecodes(UIForm.java:144)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:818)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:803)     at oracle.adf.view.faces.component.UIXComponentBase.processDecodes(UIXComponentBase.java:673)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:818)     at oracle.adf.view.faces.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:803)     at oracle.adf.view.faces.component.UIXComponentBase.processDecodes(UIXComponentBase.java:673)     at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)     at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:306)     at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)     at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)     at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)     at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)     at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)     at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)     at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)     at java.lang.Thread.run(Thread.java:595)

Hi,
have a look at SRDemo that you can download through JDeveloper (help--> check for updates) and see
SRDemoADFPhaseListener.java
and
SRDemoPageLifecycle.java
in the oracle.srdemo.view.frameworkExt package
Frank

Similar Messages

  • Need help getting around the following error: JBO-27101: Attempt to access dead entity in EO.

    Hi everyone,
    My logic in prepareForDML() updates some attributes (shown in the snippet below) based on whether an insert or update is taking place. But, when I delete a line, I get the following error: JBO-27101: Attempt to access dead entity in EO. So far, I have not been able to catch this error.
            if (operation == DML_INSERT) {
                setLineId((new SequenceImpl("eo_s",
                                            getDBTransaction()).getSequenceNumber()));
                setCreatedBy(createdBy);
                setCreationDate(currentDateAndTime);
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
            } else if (operation == DML_UPDATE) {
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
    Any advice would be appreciated. Thanks!
    James

    Hi Timo,
    Thanks for responding. Whenever I delete a line and commit, I get the error. And, since inserts and updates are all that I am interested in, I did not think that I needed deletion logic. The VO contains several EOs, but all are reference EOs that cannot be updated except for the main EO.
    Here is the entire prepareForDML() method:
        protected void prepareForDML(int operation, TransactionEvent e) {
            // BEGIN Initial Version
            // Using prepareForDML is a best practice (versus doDML).
            ApplicationModule am;
            boolean lineIsValid;
            byte entityState;
            byte postState;
            Date currentDateAndTime;
            Date weekEndingDate;
            Number createdBy;
            Number lastUpdatedBy;
            String amConfiguration;
            String amDefinition;
            String entityStateText;
            String operationText;
            String postStateText;
            ServicesAMImpl servicesAMImpl;
            Timestamp timeStamp;
            // amDefinition = "com.model.services.ServicesAM";
            // amConfiguration = "ServicesAMLocal";
            // am = Configuration.createRootApplicationModule(amDefinition, amConfiguration);
            createdBy = new Number(-1); // TODO fnd_profile.value('USERNAME')
            entityState = getEntityState();      
            entityStateText = null;
            operationText = null;
            postState = getPostState();
            postStateText = null;
            lastUpdatedBy =
                    new Number(-1); // TODO fnd_profile.value('USERNAME'); is there a last login id?
            // servicesAMImpl = (ServicesAMImpl)am;
            // lineIsValid = servicesAMImpl.callValidateLineProcedure(getBillable());
            timeStamp = new Timestamp(System.currentTimeMillis());
            currentDateAndTime = new Date(timeStamp);
            // TODO Should weekEndingDate be in the callValidateLineProcedure()?
            weekEndingDate =
                    commonCode.nextDay(getActivityDate(), Calendar.THURSDAY);
            setWeekEndingDate(weekEndingDate);
            // TODO See https://community.oracle.com/message/9542286?tstart=14.
            // if (entityState != Entity.STATUS_DELETED & entityState != Entity.STATUS_DEAD)...
            System.err.println("prepareForDML - getLineId: " + getLineId());
            switch (operation) {
            case DML_DELETE:
                operationText = "Delete";
                break;
            case DML_INSERT:
                operationText = "Insert";
                break;
            case DML_UPDATE:
                operationText = "Update";
                break;
            System.err.println("prepareForDML - operationText: " +
                               operationText); // TODO
            // System.out.println("prepareForDML - operationText: " + operationText); // TODO
            switch (entityState) {
            case Entity.STATUS_INITIALIZED:
                entityStateText = "Initialized";
                break;
                // Don't do anything.
            case Entity.STATUS_UNMODIFIED:
                entityStateText = "Un-Modified";
                break;
                // Don't do anything.
            case Entity.STATUS_DEAD:
                entityStateText = "Dead";
                break;
                // Don't do anything.
            case Entity.STATUS_DELETED:
                entityStateText = "Deleted";
                break;
                // entity.revert();
                // entity.refresh(Entity.REFRESH_CONTAINEES);
            case Entity.STATUS_MODIFIED:
                entityStateText = "Modified";
                break;
                // entity.refresh(Entity.REFRESH_UNDO_CHANGES);
            case Entity.STATUS_NEW:
                entityStateText = "New";
                break;
                // entity.refresh(Entity.REFRESH_FORGET_NEW_ROWS);
                // entity.refresh(Entity.REFRESH_REMOVE_NEW_ROWS);
            default:
                entityStateText = String.valueOf(entityState);
            System.err.println("prepareForDML - entityStateText: " +
                               entityStateText);
            switch (postState) {
            case Entity.STATUS_INITIALIZED:
                postStateText = "Initialized";
                break;
                // Don't do anything.
            case Entity.STATUS_UNMODIFIED:
                postStateText = "Un-Modified";
                break;
                // Don't do anything.
            case Entity.STATUS_DEAD:
                postStateText = "Dead";
                break;
                // Don't do anything.
            case Entity.STATUS_DELETED:
                postStateText = "Deleted";
                break;
                // entity.revert();
                // entity.refresh(Entity.REFRESH_CONTAINEES);
            case Entity.STATUS_MODIFIED:
                postStateText = "Modified";
                break;
                // entity.refresh(Entity.REFRESH_UNDO_CHANGES);
            case Entity.STATUS_NEW:
                postStateText = "New";
                break;
                // entity.refresh(Entity.REFRESH_FORGET_NEW_ROWS);
                // entity.refresh(Entity.REFRESH_REMOVE_NEW_ROWS);
            default:
                postStateText = String.valueOf(postState);
            System.err.println("prepareForDML - postStateText: " + postStateText);
            // DeadEntityAccessException
            if (operation == DML_INSERT) {
                setLineId((new SequenceImpl("eo_s",
                                            getDBTransaction()).getSequenceNumber()));
                setCreatedBy(createdBy);
                setCreationDate(currentDateAndTime);
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
            } else if (operation == DML_UPDATE) {
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
            // Configuration.releaseRootApplicationModule(am, true);
            // END Initial Version
            super.prepareForDML(operation, e);
    Here is the entire doDML() method:
        protected void doDML(int operation, TransactionEvent e) {
            // BEGIN Initial Version
            // This logic is for troubleshooting only.
            String operationText;
            operationText = null;
            switch (operation) {
            case DML_DELETE:
                operationText = "Delete";
                break;
            case DML_INSERT:
                operationText = "Insert";
                break;
            case DML_UPDATE:
                operationText = "Update";
                break;
            System.err.println("doDML - operationText: " + operationText); // TODO
            // System.out.println("doDML - operationText: " + operationText); // TODO
            // END Initial Version
            super.doDML(operation, e);
    James

  • How to catch the error occurred in Integration Process, and then save it?

    1. how to catch the error occurred in Integration Process, and then save the detailed error message to the file?
    2. there are fault message type for inbound message interface, how to use the fault message type in IR?
    Thanks,
    Michael
    Message was edited by: Spring Tang
    inital
    Message was edited by: Spring Tang
    detailed message output
    Message was edited by: Spring Tang
    fault message type

    Hi Spring,
    If u give an exception step along with your Transformation Step, whenever some error occurs in your message mapping, this exception block wil be triggered.
    You can configure your exception block to do all exception processing that you want. This exception handling is like any other java Exceptio n Handler. You can do anything that you want in your exception handler block on the basis of your requirements.
    <i>If an exception is triggered at runtime, the system first searches for the relevant exception handler in surrounding blocks. If it does not find the correct exception handler, it continues the search in the next block in the block hierarchy.
    When the system finds the correct system handler, it stops all active steps in the block in which the exception handler is defined and then continues processing in the exception handler branch. Once the exception handler has finished processing, the process is continued after the block.
    If the system fails to find an exception handler, it terminates the integration process with an error.</i>
    Regards,
    Bhavesh

  • TS3297 How is the following error corrected when trying to access the Itunes store - an unkown error occurred There was an error in the Itunes store. Please try later Ox80092013

    How can the following error incurred when trying to access the Itunes Store be corrected:  an unknown error occurred  There was an error in the store. Please try later 0x80092013

    Try here  >  http://support.apple.com/kb/TS3221
    And/or... see the  More Like This  section on the right.

  • How to catch BCD_OVERFLOW error when passing value to formal parameter?

    Hi,
    catching runtime error BCD_OVERFLOW exception is simple. However, it's not possible to catch this error directly, if it results from assigning too big value to the formal parameter.
    Let's assume simple code with local class lcl_calculator implementing functional method add with two input parameters i_op1 and i_op2 both of type i and result value r_result of type i as well.
    The following code dumps, without the exception being caught:
    DATA:
       lo_calculator TYPE REF TO lcl_calculator,
       l_result TYPE i.
    START-OF-SELECTION.
       TRY.
           CREATE OBJECT lo_calculator.
           l_result = lo_calculator->add(
             i_op1 = 10000000000
             i_op2 = 1 ).
           WRITE:/ l_result.
         CATCH cx_sy_conversion_overflow.
           WRITE:/ 'Error'.
       ENDTRY.
    To solve this, the workaround has to be implemented with checking the values being passed to the method before the actual call is made:
    DATA:
       lo_calculator TYPE REF TO lcl_calculator,
       l_result TYPE i,
       l_op1 TYPE i,
       l_op2 TYPE i.
    START-OF-SELECTION.
       TRY.
           l_op1 = 10000000000.
           l_op2 = 1.      
           CREATE OBJECT lo_calculator.
           l_result = lo_calculator->add(
             i_op1 = l_op1
             i_op2 = l_op2 ).
           WRITE:/ l_result.
         CATCH cx_sy_conversion_overflow.
           WRITE:/ 'Error'.
       ENDTRY.
    It's the same with the function module call, so it's general unit interface issue. Also, using the exception handling related to the CALL METHOD command does not help here as it's not wrong parameter TYPING which causes the error. It's the VALUE of correctly typed parameter that causes the error.
    The CATCH apparently reacts different ways when the assignment is made to the variable and to the formal parameter of the unit. Any idea how to solve the above without using that workaround?
    Thank you
    Michal

    What about using numeric?
    CLASS lcl_calculator DEFINITION.
       PUBLIC SECTION.
         METHODS add IMPORTING i_op1 TYPE numeric i_op2 TYPE numeric RETURNING value(r_sum) TYPE i
                      RAISING cx_sy_conversion_overflow.
    ENDCLASS.                    "lcl_calculator DEFINITION
    CLASS lcl_calculator IMPLEMENTATION.
       METHOD add.
         TRY.
             r_sum = i_op1 + i_op2.
           CATCH cx_sy_arithmetic_overflow.
             RAISE EXCEPTION TYPE cx_sy_conversion_overflow.
         ENDTRY.
       ENDMETHOD.                    "add
    ENDCLASS.                    "lcl_calculator IMPLEMENTATION
    DATA:
        lo_calculator TYPE REF TO lcl_calculator,
        l_result TYPE i.
    START-OF-SELECTION.
       TRY.
           CREATE OBJECT lo_calculator.
           l_result = lo_calculator->add(
             i_op1 = 10000000000
             i_op2 = 1 ).
           WRITE:/ l_result.
         CATCH cx_sy_conversion_overflow.
           WRITE:/ 'Error'.
       ENDTRY.

  • How to catch thrown error when implementing HttpSessionBindingListener?

    I would like to write code to implement the class HttpSessionBindingListener for using the valueBound and valueUnBound method.
    As I have put some codes for inserting data in database when the valueBound method is invoked, I would like to catch the SQLException error when insertion fails. However, when i try the following:
    public class SessionTracker implements HttpSessionBindingListener
    throws Exception{
    Compilation error like the following appears:
    Class SessionTracker should be declared abstract; it does not define method valueUnbound(javax.servlet.http.HttpSessionBindingEvent) in interface javax.servlet.http.HttpSessionBindingListener
    My question is: How can I throw caught error?
    Thanks for replying!

    May be i should clarify a little bit?
    My question is: What error would the implemented method throw?

  • How to catch the error if an RFC fails due to short dump

    Hi All,
      I was calling the RFC Function module in parallel processing depends on the number of work processors available. I am getting the return message from the Function module using the perform statement
       PERFORMING task_return ON END OF TASK
    But I am not able to catch the errors if the RFC has been terminated due to the dump or manually killing the RFC while running.
    I need how to handle the RFC if the call has been terminated due to the dump or system failure. Does the RFC return the sy-subrc at this time or can we able to catch the error in any other way.
    Thanks & regards,
    Vijay

    Hello Vijay,
    If you're calling RFC from outside SAP using the OCX-SAPFunctions-Library, then you can catch the dump or any other exception occuring in your SAP-Function.
    Assuming that, objRFCFunc is the RFC-Function you can get the Excepetion-Code through objRFCFunc.Exception.
    It returns a String. If the error was a dump, the String is "SYSTEM_FAILURE". If it is a "regular" Exception you'll get the Exceptioncode. E.g. "NO_DATA_FOUND".
    If you need any sample code e.g. VBA-code for use in Office-Applications, let me know.
    regards
    Sven

  • How to catch the error code thrown by Oracle client installation?

    Hi everyone,
    Recently, I'm writing a bat file to install Oracle 11g client for windows, I know the command line should be below, but how to find the error code it return? like the command line I want to run in Windows, the errorlevel will return 0 if the command line is pass, otherwise it will return no-zero:
    oui.exe -silent -waitforcompletion -nowait -force -responseFile ...\response\clientruntime.rsp
    BTW, I know I can find the error info under the path ...\Oracle\Inventory\logs, but I think it is better if you can tell me another way to catch the error in command line. I just wish that I can determine whether the Oracle provider installation is pass......
    Thanks
    Lindsay
    Edited by: lindsaywang on Oct 6, 2008 1:28 PM

    I got it.
    Thanks,
    TD

  • How to catch Posting error in File to IDoc Scenario?

    I have successfully completed File to IDoc Scenario. Now I am interested in catching posting error. i.e., if mapping goes well and when IDoc is being sent to Recipient system then if any posting error is encountered, then a mail should go to a recipient.
    Can anybody suggest the solution.
    Regards,
    Suraj Kumar

    Hi Suraj,
    this can be done by triggerring an alert to the recipient.chk out these links to trigger a alert
    /people/sap.user72/blog/2005/01/14/alert-management--improving-monitoring-of-your-landscape
    /people/sap.user72/blog/2005/01/14/alert-management--improving-monitoring-of-your-landscape
    regards
    jithesh

  • How received the following error message:  iTunes was not installed correctly. Please reinstall iTunes. Error 7 (Windows error 998).  I did what was requested and reinstalled iTunes, but still get this error message.  Help!

    My Toshiba laptop just recently started showing the the following error message when I try to open iTunes: " iTunes was not installed correctly. Please reinstall iTunes. Error 7 (Windows error 998)".  I did what was requested and reinstalled iTunes, but still get this error message.  Help!

    b noir I never got any message about an entry point
    Many thanks. If we're looking at a "naked" Error 7, I'd start with box two in the following user tip:
    Troubleshooting issues with iTunes for Windows updates

  • Basic error handling: how to catch all errors in a portion of code (and act accordingly)

    I have a portion of code in a VI that I know is likely to fail at some point (opening a file, then reading two arrays from it: the file can be absent, or contain the wrong data).
    I would like to be able to catch any errors that may occur during this procedure, and if such an error occurs launch a pre-defined action (return a default value, for instance).
    Is there a simple way to do this, in a way similar to the disabling of a portion of code with a Diagram Disable structure ?

    use the "bundle by name" function to set the individual elements of the error cluster to the values you want.
    CLA, LabVIEW Versions 2010-2013

  • Oracle Form 9i - How to catch for error code and error message?

    Hello:
    I'd like to catch for error code such as ORA-20001, ORA-28007 if the form is not success. I tried TOOL_ERR.CODE and TOOL_ERR.MESSAGE, but it returns 0 and no message.
    Thanks in advance,
    TD

    I got it.
    Thanks,
    TD

  • Dose any one know how fix the following error

    hi i just updated the softwear on my i pad and now it wont let me read any of my books
    it just keeps showing this error message ( this page contains the following errors: error on line 3 at column 1: Extra content at the end of the document error on line3 at column 1:encoding error Below is a rendering of the page up to the first error) can some one help !

    @easydoweb
    This resource has probably not been updated to take account of Belle http://www.nokia.com/gb-en/support/troubleshooting/?action=singleFAQ&caseid=FA134387_en_US but can't you get your network provider to resend "Settings" SMS?
    Happy to have helped forum with a Support Ratio = 42.5

  • How to catch date errors and continue processing in a PL/SQL procedure

    I'm updating a date field with dates constructed from day, month and year fields. The incoming data has many instances of day and month that are not valid dates, ex 11 31 2007. There is no 31st day in November.
    I would like to write a pl/sql script to scan the table containing these values and log the rows that produce conversion errors.
    I thought I could do this with exceptions but there are no exceptions that correspond to the ORA-01847 error for mismatched day and month.
    Here is what I tried (the print procedure is a local wrapper for DBMS_OUTPUT.put_line):
    PROCEDURE date_check IS
    start1 DATE ;
    BEGIN
    select to_date(nvl(yearcollected,'9999') ||'/'|| nvl(monthcollected,'01') ||'/'|| nvl(daycollected,'01'),'YYYY/MM/DD'))) into start1 from incoming_data where id=1 ;
         BEGIN
              update temp_test set test_date = start1 where id=1 ;
         EXCEPTION
              WHEN OTHERS THEN
              print('Date error message from exception block');
         END;
    print('Processing continues after handling date exception') ;
    END date_check ;
    Is there a way to catch this kind of error and continue processing after logging a message?
    -=beeky

    Hi, Beeky,
    There are lots of different error messages associated with bad dates. Rather than try to catch them all, I use a BEGIN ... EXCEPTION block that contains nothing but a TO_DATE call. This is one of the rare occassions when I think "EXCEPTION WHEN OTHERS" is okay,
    The following function comes from a package. If you want to make a stand-alone function, remember to say " *CREATE OR REPLACE* FUNCTION ...".
    --          **   t o _ d t   **
    --     to_dt attempts to convert in_txt (assumed to
    --          be in the format of in_fmt_txt) to a DATE.
    --     If the conversion works, to_dt returns the DATE.
    --     If the conversion fails for any reason, to_dt returns in_err_dt.
    FUNCTION     to_dt
    (     in_txt          IN     VARCHAR2                    -- to be converted
    ,     in_fmt_txt     IN     VARCHAR2     DEFAULT     'DD-MON-YYYY'     -- optional format
    ,     in_err_dt     IN     DATE          DEFAULT     NULL
    RETURN DATE
    DETERMINISTIC
    AS
    BEGIN
         -- Try to convert in_txt to a DATE.  If it works, fine.
         RETURN     TO_DATE (in_txt, in_fmt_txt);
    EXCEPTION     -- If TO_DATE caused an error, then this is not a valid DATE: return in_err_dt
         WHEN OTHERS
         THEN
              RETURN in_err_dt;
    END     to_dt
    ;

  • How to catch RFC errors in COM4ABAP destinations

    Hello all,
    I'm working on a project that uses COM4ABAP to call a custom COM object written in classic VB.  This maybe a generic RFC question so here goes.
    When I call a function like 'com_invoke' over in the COM4ABAP RFC destination, how can I catch errors that might occur?  I can't find a CATCH exception to latch on to.  Is there a way to keep ABAP from creating a dump?  I would much rather catch the issue, log it, and close things up gracefully.
    For example, if I call 'com_invoke' and give it a bad COM function name, I would like to catch that execption vs. having it dump.  Any clue how to do that?
    Thank you.
    Crew Reynolds
    Daydots
    R/3 4.6C

    Hello,
      Hope this example helps and isn't too late:
      CALL FUNCTION 'com_invoke' DESTINATION worker_dest
        EXPORTING
          %instid                 = instid
          %method                 = 'Initialize'
        EXCEPTIONS
          com4abap_invoke_failure = 1.
      IF sy-subrc = 1.
      handle the exception
      ENDIF.
      You can also use:
      COM4ABAP_BEGIN_SESSION_FAILURE for 'begin_com_session'.
      COM4ABAP_CREATE_INSTANCE_FAILURE for 'create_com_instance'.
      COM4ABAP_DELETE_INSTANCE_FAILURE for 'delete_com_instance'.

Maybe you are looking for

  • What's up when you drag and drop a table into a jsp page?

    Hi All, I was wondering what's happen in dragging and drop a table into a jsp page. This question because untill yesterday i had an application up and running, with a table displaying a number of rows of the database, and an action associated with an

  • Find Current Inbox Of Workflows

    A user has a report of workflows that are past due. I have been provided the Work Item ID, as well as the Object Key. How can I go about finding whose inbox these workflows are currently in? Thanks - points will be rewarded.

  • Upgrading from BI 3.1 to BI 3.5/BI 7.0

    Hi, We are upgrading from BI 3.1 to BI3.5/BI 7.0 I was asked to suggest the implications of 3.5 and 7.0 .Please suggest the after effects of this activity. Which one shud i suggest.Please help me out. Thanks&Regards, Praveen

  • Call external audio file into timeline

    I'm creating training programs that will be translated into many languages. I create the text in external XML files, and then I use dynamic text frames to call in the text. The translators need only translate the XML Files and Flash is automatically

  • Javac -- javax.servlet does not exist

    I have j2sdk1.4, j2re1.4 installed on rhat7.1 and CLASSPATH=/j2sdk1.4/lib/tools.jar PATH=/j2sdk1.4/bin when I run javac (or /j2sdk1.4/bin/./javac) test.java it issue: test.java: package javax.servlet does not exist import javax.servlet.*; any suggest