Centralized error handling class

Hello Gurus!!!
I have developed coding for transaction fb03 in module pool program using OO concepts.
               Now I want to enhance my coding using centralized error handling class.
ie. the errors are not shown immediately but a class captures those errors and then they are sent to the calling class which displays those errors).
Kindly suggest your answers.
Thanks in advance,
Sachin

Dear Uwe,
I have implemented validation class which displays all the error messages through message class inside which I displayed error messages.
                The code is as follows :-
CLASS z_validation DEFINITION.
  PUBLIC SECTION.
    METHODS: check_company_code,
             check_docnr,
             check_fiscal_year.
ENDCLASS.                    "Z_Validation DEFINITION
      CLASS Z_Validation IMPLEMENTATION
CLASS z_validation IMPLEMENTATION.
  METHOD: check_company_code.
  if txt_codco = ' ' and txt_docno = ' ' and  txt_fisyr = ' '.
      MESSAGE i006.
  endif.
    IF txt_codco = ' '.
      MESSAGE i002.
      LEAVE TO SCREEN 0100.
    ELSE.
      SELECT t001~bukrs INTO CORRESPONDING FIELDS OF TABLE it_doc FROM t001
       WHERE t001~bukrs = txt_codco..
      IF sy-subrc NE 0.
        MESSAGE i000.
        LEAVE TO SCREEN 0100.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "Check_Company_Code
  METHOD: check_docnr.
    IF txt_docno = ' '.
      MESSAGE i003.
      LEAVE TO SCREEN 0100.
    ELSE.
      SELECT  belnr
       INTO CORRESPONDING FIELDS OF TABLE it_doc FROM bkpf
       WHERE bkpfbukrs = txt_codco AND bkpfbelnr = txt_docno.
      IF sy-subrc NE 0.
        MESSAGE i005.
        LEAVE TO SCREEN 0100.
      ENDIF.
    ENDIF.
  ENDMETHOD .                    "Check_Docnr
  METHOD: check_fiscal_year.
    IF txt_fisyr = ' '.
      MESSAGE i004.
      LEAVE TO SCREEN 0100.
    ELSE.
      SELECT gjahr
      INTO CORRESPONDING FIELDS OF TABLE it_doc FROM bkpf
      WHERE bkpfbukrs = txt_codco AND bkpfbelnr = txt_docno AND bkpf~gjahr = txt_fisyr.
      IF sy-subrc NE 0.
        MESSAGE i001.
        LEAVE TO SCREEN 0100.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "Check_Fiscal_Year
ENDCLASS.                    "Z_Validation IMPLEMENTATION
MODULE user_command_0100 INPUT.
  DATA: obj1 TYPE REF TO z_validation,
          obj2 TYPE REF TO z_data_processing,
          obj3 TYPE REF TO z_screen.
  CREATE OBJECT: obj1, obj2, obj3.
  CASE sy-ucomm.
    WHEN 'SEARCH'.
      CALL METHOD: obj1->check_company_code.
      CALL METHOD: obj1->check_docnr.
      CALL METHOD: obj1->check_fiscal_year.
      LEAVE TO SCREEN 0200.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
Please suggest your answer.
Thanks in advance,
Sachin

Similar Messages

  • JDev 11.1.1.2.0 - Error while providing Error Handler Class in Databindings

    I get this exception as soon as I provide a reference to ErrorHandlerClass in DataBindings.cpx
    Error 500--Internal Server Error
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.InstantiationException, msg=empexceptions.model.EmpDCErrorHandler
         at oracle.jbo.common.JBOClass.newInstance(JBOClass.java:253)
         at oracle.jbo.uicli.mom.JUApplicationDefImpl.initializeBindingContext(JUApplicationDefImpl.java:1242)
         at oracle.jbo.uicli.mom.JUApplicationDefImpl.populateContext(JUApplicationDefImpl.java:1215)
         at oracle.jbo.uicli.mom.JUMetaObjectManager.loadCpx(JUMetaObjectManager.java:713)
         at oracle.adf.model.BindingRequestHandler.initializeBindingContext(BindingRequestHandler.java:399)
         at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:182)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:189)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.InstantiationException: empexceptions.model.EmpDCErrorHandler
         at java.lang.Class.newInstance0(Class.java:340)
         at java.lang.Class.newInstance(Class.java:308)
         at oracle.jbo.common.JBOClass.newInstance(JBOClass.java:245)
         ... 34 more
    DataBindings.cpx looks like this
    <?xml version="1.0" encoding="UTF-8" ?>
    <Application xmlns="http://xmlns.oracle.com/adfm/application"
                 version="11.1.1.55.36" id="DataBindings" SeparateXMLFiles="false"
                 Package="empexceptions.view" ClientType="Generic"
                ErrorHandlerClass="empexceptions.model.EmpDCErrorHandler">and my error handler class looks like this
    package empexceptions.model;
    import oracle.adf.model.binding.DCBindingContainer;
    import oracle.adf.model.binding.DCErrorHandlerImpl;
    public class EmpDCErrorHandler extends DCErrorHandlerImpl {
        public EmpDCErrorHandler(boolean b) {
            super(false);
        @Override
        public void reportException(DCBindingContainer dCBindingContainer,
                                    Exception exception) {
            super.reportException(dCBindingContainer, exception);
    }Am I doing anything wrong here?

    hi Harry
    See "28.10 Customizing Error Handling"
    at http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/web_adv.htm#ADFFD1398
    that says "... The exception error handler must have a default constructor, as shown in Example 28-27. ...".
    success
    Jan Vervecken

  • Error in custom error handler class

    Hiii...
    i got some error s when i create error handler class
    i use the following code for creating that class
    package view.controller.fwkext;
    import java.util.ArrayList;
    import java.util.List;
    import oracle.adf.model.binding.DCBindingContainer;
    import oracle.adf.model.binding.DCErrorHandlerImpl;
    import oracle.jbo.CSMessageBundle;
    import oracle.jbo.DMLConstraintException;
    import oracle.jbo.JboException;
    public class CustomErrorHandler extends DCErrorHandlerImpl {
    List<ExceptionMapper> exceptionMapperList = new
    ArrayList<ExceptionMapper>();
    public CustomErrorHandler() {
    this(true);
    public CustomErrorHandler(boolean setToThrow) {
    super(setToThrow);
    exceptionMapperList.add(new DisableJboExceptionCodesMapper());
    public void reportException(DCBindingContainer bc, Exception ex) {
    for (ExceptionMapper mapper : exceptionMapperList) {
    if (mapper.canMapException(ex)) {
    ex = mapper.mapException(ex);
    super.reportException(bc, ex);
    I got errors
    DisableJboExceptionCodesMapper not fount
    canMapException not fount
    mapException not fount

    Abhilashs01,
    Yes, that example from the docs appears to be missing a few things, to-wit: the ExceptionMapper class and the DisableJboExceptionCodesMapper class. Without the ExceptionMapper class, JDeveloper's import assistance is finding one in com.sun.jndi somewhere, which is obviously the wrong one. So, yes, the docs are good, but they appear to be missing some key things, making it kind of hard...
    Another place to find an example error handler class is in the Fusion Order Demo: http://www.oracle.com/technology/products/jdev/samples/fod/index.html
    John

  • ADF Mobile Error handling and redirect

    I'm stuck on how to handle errors within my ADF Mobile application. My application consumes a number of web services and we have found we often get error messages when phone connections switch from wifi to 3g or lose connection altogether. These are errors such as SSL handshake failure, HTTP500 errors, and also errors where it can't display the binding eh "Unable to get value for the property due to invalid binding iterator" because a WS call has failed. From the little information I can find - and none of it specific to ADF Mobile, I think I need to write an error handler class which I set against ErrorHandlerClass in databinding.cpx - if that correct? Am I able to catch these errors using that method and if so has anyone got any examples at all. Ideally what I'd like to do when I've caught those errors is redirect to another page (showing something like facebooks app does when it loses a connection and says tap to try again), does anyone have any suggestions or examples?
    thanks
    lynsey

    A sample for ADF Mobile Error Handling.
    SDA013
    Error Handling in ADF Mobile
    https://java.net/projects/smuenchadf/pages/ADFMobile#SDA013

  • ADF Custom error handler not working.

    Hi All,
    i am using jdev version 11.1.1.5.0. i have created one custom error handler class in model layer which extend DcErrorHandlerImpl class.
    and do the entry in Databinding.cpx file
    *<Application ErrorHandlerClass="mypackage.classname"/>*
    i have override getDisplayMessage(BindingContext ctx, Exception ex) method to show SQL Exception which comes from database table trigger.
    code is following-
    package com.in.jagran.view.services;
        import java.sql.SQLException;
        import oracle.adf.model.BindingContext;
        import oracle.adf.model.binding.DCErrorHandlerImpl;
        import oracle.jbo.JboException;
        public class AclasErrorHandler extends DCErrorHandlerImpl {
          public AclasErrorHandler(boolean setToThrow) {
            super(setToThrow);
            System.out.println("Inside Error Handler class");
          public AclasErrorHandler() {
              super(true);
           // this(true);
           * Returns the message that will be reported to JSF for each error that occurs.
           * Returning "null" is the way the custom error handler signals that a given exception
           * should not be reported to the client.
          @Override
          public String getDisplayMessage(BindingContext ctx, Exception ex)
            if (ex instanceof oracle.jbo.ValidationException) {
              return super.getDisplayMessage(ctx, ex);
            else {
              // Extract and return the error message that has to be displayed
              Exception exception = ex;
              String message = "";
              // If this exception is an instance of JboException,
              // try to find the cause by recursing over the eventual causing exceptions
              if (exception instanceof JboException)
                Throwable[] exceptionList = ((JboException)exception).getExceptions();
                while (exception instanceof JboException
                        && exceptionList != null && exceptionList.length > 0)
                  exception = (Exception)exceptionList[0];
                  if (exception instanceof JboException) {
                    exceptionList = ((JboException)exception).getExceptions();
              // *** Special processing of SQLExceptions
              if (exception instanceof SQLException) {
                message = exception.getMessage();
                // Ignore the lines in the error message that indicate the line number in the PLSQL code that the error resulted on.
                int ind = message.indexOf("ORA-06512");
                if (ind > 0)
                  message = message.substring(0, ind);
              // *** If the the reason for the JboException was data creation exception then display the message
              // of the top JboException (i.e. JBO-*****: Invalid numeric value, date format or time format)
              else if (exception instanceof NumberFormatException || exception instanceof IllegalArgumentException) {
                // Report the top exception
                message = ex.getMessage();
              // Otherwise report the message of the lowest exception in the hierarchy
              else {
                message = exception.getMessage();
              return message;
        }but it is not working for me.
    thanks in Advance.

    yes i have used dubugger.
    i have set break point to following line-
    return super.getDisplayMessage(ctx, ex);
    if (ex instanceof oracle.jbo.ValidationException) {
            return super.getDisplayMessage(ctx, ex);   
    }when atttribute validation done like i have attribute of type number and i have done the validation "must be greater than 0" now when i have given negative value control go to above line.
    and i have added following code also in handler class
            @Override
               public void reportException(DCBindingContainer dCBindingContainer,
                                           Exception exception) {
    System.out.println(exception.getMessage());
                       super.reportException(dCBindingContainer, exception);
                   }now when i have done commit operation control go to here and println statement print follwoing error on log window.
    JBO-26041: Failed to post data to database during "Rollback to Savepoint": SQL Statement "null".

  • Centralized event handling

    This is an odd idea we have not seen discussed in the books we have read or even on this forum. Still we think the problem I have to solve must be common. Can you give us some advice ?
    In our app, we get events coming in from a server reading devices. We want to update the UI when this happens. We also want to allow users to update and interact with the UI as they normally do. Sometimes the user interaction causes a change in the UI that can also be caused by one of the events arriving from the server - we display a different perspective for some events and the user can also trigger the display of the same perspective.
    To make a long story short,we had the idea of routing all the events to a single central event handling class whch would perform the UI updates as needed. That is, we did not want to perform UI updates the way we commonly saw in examples, where actionPerformed() methods in many UI classes end up updating the UI, because some similar functionality would have to be built in a class that handles the events from the server and we did not want to duplicate code. So we would still have actionPerformed() in each UI class, but these methods would simply delegate to methods provided by the central handler rather than take any action themselves. We end up passing reference ti UI objects sometimes.
    But we have some concerns because we are not highly experienced Swing developers and we have not seen any examples of doing things this way. Is this just a dumb idea ? Any advice or opinions would be appreciated.
    Thanks !!

    That is a good point, fritzthecat !
    We are doing this ... using SwingUtilities.invokeLater(), I mean ... for UI updates. Right now we are thinking about ways to pass data to the UI using this method - we receive events containing some data which the UI will use for lookups or display. It looks like we can create an object encapsulating the data (as a final object) and pass it to an appropriate UI component method for display like this :
    final EventObject eventObject  = new EventObject( hashTableFullOfData );
    SwingUtilities.invokeLater( new Runnable()
         public void run()
           uiComponent.doSomethingWithData( eventObject  );
    );I dunno ... seems reasonable ... do you see problems with this idea ?
    By the way ... we do have the excellent book Swing 2nd Edition by Robinson and Vorobiev. ANyone have any recommendations for other sources ?
    Thanks for the reponses !!!

  • Error while running DocumentOutbox handler class in content DB Dev kit

    Hi,
    I am able to compile the DocumentOutbox content handler class which comes with content DB Dev kit. But, when I run scriptdriver.sh, I am getting the following errors in the log file "RegisterDocumentOutbox.out".
    Any help in resolving this would be appreciated
    Next method: setDefaultScriptOperationsClass oracle.ifs.ecm.tools.script.AuditSpecificationOperations
    Exception while invoking method 'setDefaultScriptOperationsClass oracle.ifs.ecm.tools.script.AuditSpecificationOperations' ; exception is:
    java.lang.RuntimeException: Unable to construct operations instance
    java.lang.RuntimeException: Unable to construct operations instance
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.setDefaultScriptOperationsClass(EcmScriptDriver.java:503)
         at oracle.ifs.ecm.tools.script.EcmScriptOperations.setDefaultScriptOperationsClass(EcmScriptOperations.java:522)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:431)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 7
    Next method: identifyByPath domain /oracle
    Exception while invoking method 'identifyByPath domain /oracle' ; exception is:
    java.lang.RuntimeException: Cannot register a null object (domain)
    java.lang.RuntimeException: Cannot register a null object (domain)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.registerObject(EcmScriptDriver.java:972)
         at oracle.ifs.ecm.tools.script.EcmScriptOperations.registerObject(EcmScriptOperations.java:9220)
         at oracle.ifs.ecm.tools.script.EcmScriptOperations.identifyByPath(EcmScriptOperations.java:4889)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:431)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 69
    Next method: defineAuditTypeListDefinition atl
    Exception while invoking method 'defineAuditTypeListDefinition atl' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (1)
    java.lang.RuntimeException: No such method with specified number of arguments (1)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 0
    Next method: addAuditType atl DOCUMENT_CREATED SUCCESS_ONLY
    Exception while invoking method 'addAuditType atl DOCUMENT_CREATED SUCCESS_ONLY' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (3)
    java.lang.RuntimeException: No such method with specified number of arguments (3)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 1
    Next method: addAuditType atl DOCUMENT_CREATED_AS_COPY SUCCESS_ONLY
    Exception while invoking method 'addAuditType atl DOCUMENT_CREATED_AS_COPY SUCCESS_ONLY' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (3)
    java.lang.RuntimeException: No such method with specified number of arguments (3)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 3
    Next method: addAuditType atl DOCUMENT_BECAME_VERSION SUCCESS_ONLY
    Exception while invoking method 'addAuditType atl DOCUMENT_BECAME_VERSION SUCCESS_ONLY' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (3)
    java.lang.RuntimeException: No such method with specified number of arguments (3)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 0
    Next method: addAuditType atl USER_APPLICATION_CONNECTED SUCCESS_ONLY
    Exception while invoking method 'addAuditType atl USER_APPLICATION_CONNECTED SUCCESS_ONLY' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (3)
    java.lang.RuntimeException: No such method with specified number of arguments (3)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 1
    Next method: defineAuditTargetSpecificationDefinition ats domain ALL_SUBITEMS
    Exception while invoking method 'defineAuditTargetSpecificationDefinition ats domain ALL_SUBITEMS' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (3)
    java.lang.RuntimeException: No such method with specified number of arguments (3)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 0
    Next method: defineAuditHandlerSpecificationDefinition ahs oracle.ifs.examples.handlers.DocumentOutbox 1H 00:30:00 true
    Exception while invoking method 'defineAuditHandlerSpecificationDefinition ahs oracle.ifs.examples.handlers.DocumentOutbox 1H 00:30:00 true' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (5)
    java.lang.RuntimeException: No such method with specified number of arguments (5)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 0
    Next method: createAuditSpecification DocOutboxSpec atl ats ahs "DocumentOutbox AuditSpecification"
    Exception while invoking method 'createAuditSpecification DocOutboxSpec atl ats ahs "DocumentOutbox AuditSpecification"' ; exception is:
    java.lang.RuntimeException: No such method with specified number of arguments (5)
    java.lang.RuntimeException: No such method with specified number of arguments (5)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:423)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 0
    Next method: showAuditSpecification DocOutboxSpec
    Exception while invoking method 'showAuditSpecification DocOutboxSpec' ; exception is:
    java.lang.RuntimeException: unknown object tag: DocOutboxSpec
    java.lang.RuntimeException: unknown object tag: DocOutboxSpec
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.lookupObject(EcmScriptDriver.java:857)
         at oracle.ifs.ecm.tools.script.EcmScriptOperations.lookupObject(EcmScriptOperations.java:9140)
         at oracle.ifs.ecm.tools.script.EcmScriptOperations.showAuditSpecification(EcmScriptOperations.java:1572)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.invokeMethod(EcmScriptDriver.java:431)
         at oracle.ifs.ecm.tools.script.EcmScriptDriver.run(EcmScriptDriver.java:257)
         at oracle.ifs.ecm.tools.script.EcmDiffTest.main(EcmDiffTest.java:37)
    elapsed time (ms) = 1
    Thanks in Advance

    A parent folder must have set workflow configuration to be final - thus preventing any sub-folders from changing the policy.
    Work your way through the various parent folders (via Web UI), and ensure "Do not allow subfolders to modify this operation's workflow settings" for the particular workflow/operation combination is not set.
    Matt.

  • Class based error handling

    Hi evrybody,
    i'd like to implemt some own errorclasses, but i cand find anything about the namespace to use. Am i right that evry class based error handling must start with cx? So which namespace is for customoers?
    cu
      Rainer

    Hi Rainer,
    if you already have a regulation for class names, just replace CL by CX and apply them accordingly.
    For example, if your classes are named ZCL_... or YCL_..., your exception classes will be named ZCX... or YCX_..., respectively.
    See T100 message OO 145 for the details. Here is the German version:
    +Kurztext
    Klassenname &1 ist für den gewählten Klassentyp nicht zulässig
    Diagnose
    Namenskonvention für Klassen :
    Für eine persistente Klasse ist der Präfix 'CL_' bzw. Namensraum+Präfix 'CL_' ( z.B. 'ZCL' oder '/NAMESPACE/CL_' ) vorgeschrieben.
    Für eine Exceptionklasse ist der Präfix 'CX_' bzw. NamensraumPräfix 'CX_' ( z.B. 'ZCX' oder '/NAMESPACE/CX_' ) vorgeschrieben.
    Best regards,
    Thorsten Franz

  • Missing Class error from handler class - urgent question!

    Hi,
    I am getting an "Missing Class" error when running a web service. The web service was generated from a Java class via the "create J2EE web service" option.
    The web service has a JAX-RPC handler class added, which belongs to the same package as a logging class. The logging class is used to write to a file for debug purposes. A "missing class" error is being generated whenever I attempt to invoke the web service (via the enterprise manager test util), the error refers to the logging class which is used by the main handler class. The JAX-RPC handler works fine by itself, the error is only seen when I attempt to use the logging class.
    I have re-built, re-deployed from scratch again, but still get the same error! Am I missing something simple here?
    thanks for any advice

    Hello,
    I have posted something similar, but I am not sure how to get over this issue. I am not sure if this is a code issue, I have scanned both EJB 2.0 and 2.1 specifications, but nothing caught my eye.
    Here is the error I am getting starting this in JDeveloper 1013 :
    Apr 11, 2006 12:17:49 AM com.evermind.server.Application setConfig
    WARNING: Application: current-workspace-app is in failed state as initialization failedjava.lang.InstantiationException: Error initializing ejb-modules: [current-workspace-app:CNSI-JDev-7_Exp-7_0:DbUtilWrapper] - Unable to load ejb-class com.my.common.database.ejb.DbUtilWrapperBean, see section 23.2 of the EJB 2.1 specificationjava.lang.ExceptionInInitializerError: java.lang.NullPointerException
    Here is the ejb-jar.xml :
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>DbUtilWrapper</display-name>
    <ejb-name>DbUtilWrapper</ejb-name>
    <home>com.my.common.database.ejb.DbUtilWrapperHome</home>
    <remote>com.my.common.database.ejb.DbUtilWrapper</remote>
    <local-home>com.my.common.database.ejb.DbUtilWrapperLocalHome</local-home>
    <local>com.my.common.database.ejb.DbUtilWrapperLocal</local>
    <ejb-class>com.my.common.database.ejb.DbUtilWrapperBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    I am not sure if this should be in the assembly-descriptor, in ejb-jar.xml or orion-ejb-jar.xml :
    <method-permission>
    <unchecked/>
    <method>
    <ejb-name>DBUtilWrapper</ejb-name>
    <method-name>*</method-name>
    </method>
    </method-permission>
    Any ideas ?
    Thanks

  • Error in Central Lock Handler

    Hi, I have a big problem... after setting up SSL (only some changes in strust and adding parameter in rz10) I cannot use Sap Logon anymore.. Log in is ok, but when I try to run any transaction I see only error:
    'Unknown error calling profile editor'
    and in syslog after restart I have a lot of errors like that:
    'SAP-Basis System: Error in Central Lock Handler'
    please help.

    after system restart I see this when calling any transaction:
    http://img441.imageshack.us/img441/5152/errorso.jpg
    ok, I found backup files of profile in sap directory and replace it with actual. After restart of whole machine it started working.
    Edited by: pw.skiba on Jun 17, 2010 1:35 PM

  • Report and Alert don't executed in the error handler with a JMS proxy service

    Hi,
    I'm working with OSB 11.1.1.4.0 and I'm facing a problem with the error handler of my JMS proxy service.
    My error handler contains two main elements :
    - a Report action
    - an Alert with a JMS destination defined
    When the business service failed the message remain in the queue. It's the expected behavior.
    The problem is :
    - the report is missing
    - the alert is raised but missing in the JMS destination defined in the Alert setting.
    I've noticed if I add a Reply with Failure or Success, Report and Alert are successfully executed.
    Unfortunately the message don't remain in the JMS queue.
    What can I do in order to have my report/alert done and the JMS transaction rollback in order to keep the message in the queue ?
    I've already met this problem in the past with alsb v3 and my solution was to add Service Callout in the error handler in order to externalize these actions.
    This solution is not convenient and I hope another solution is possible.

    Inventorying workgroups can be difficult, especially when it comes to remote access and network security. Because workgroups are not centrally managed, some of the items discussed in this
    wiki article on preparing your workgroup environment may require you to visit each machine individually.
    For non-domain credentials, you do not use the <systemname>\<user> format, you simply enter the user name. Regarding how to enter the credentials, if you have an account that uses the same username and password on all machines and is an administrator
    on all of those machines, then you can enter that in the All computers credentials page of the wizard. You can also do this if they are different user names. However, if some machines have an account with the same user name, such as Administrator,
    but different passwords on each machine, you will need to use the Manually enter computer names discovery method, and then enter the information for each group or each machine.
    As you can tell, workgroup environments can quickly negate any benefit that the agentless inventory nature of MAP provides.
    Please remember to click "Mark as Answer" on the post that helps you, and to click
    "Unmark as Answer" if a marked post does not actually answer your question. Please
    VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

  • 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

  • Issue with SRDemo error handling

    Hi All,
    Glad the forums are back up and running. In debugging some error-handling issues in our own application, I found an issue in the error handling code of SRDemo. I thought I'd post the issue here, as many of us (myself included) use some SRDemo code as the basis for our own applications.
    The issue can be found in the oracle.srdemo.view.frameworkExt.SRDemoPageLifecycle class, specifically in the translateExceptionToFacesErrors method. I'll show the code that has the issue first, and explain the issue afterwards:
            if (numAttr > 0) {
                Iterator i = attributeErrors.keySet().iterator();
                while (i.hasNext()) {
                    String attrNameKey = (String)i.next();
                     * Only add the error to show to the user if it was related
                     * to a field they can see on the screen. We accomplish this
                     * by checking whether there is a control binding in the current
                     * binding container by the same name as the attribute with
                     * the related exception that was reported.
                    ControlBinding cb =
                        ADFUtils.findControlBinding(bc, attrNameKey);
                    if (cb != null) {
                        String msg = (String)attributeErrors.get(attrNameKey);
                        if (cb instanceof JUCtrlAttrsBinding) {
                            attrNameKey = ((JUCtrlAttrsBinding)cb).getLabel();
                        JSFUtils.addFacesErrorMessage(attrNameKey, msg);
                }Now, this bit of code attempts to be "smart" and only show error messages relating to attributes if those attributes are in fact displayed on the screen. It does so by using a utility method to find a control binding for the attribute name. There are two issues with this code, one obvious, and one that is a bit more subtle.
    The obvious issue: if there is a binding in the page definition, it doesn't necessarily mean that the attribute is shown on the screen. It's a good approximation, but not exact.
    The other issue is more subtle, and led to errors being "eaten," or not shown, in our application. The issue comes if you are using an af:table to display and update your data. In that case, the findControlBinding will not find anything for that attribute, since the attribute is contained within a table binding.
    Just posting this as a word to the wary.
    Best,
    john

    somehow, this message got in the wrong thread....
    Hi Frank,
    Yes, I simply scripted it out this way to contrast the behaviour if the first attribute was read-only vs not read-only. I found the issue on a page in our app that was simply drag-and-drop the VO from the data control on the page.
    It's quite annoying, because our particular use case that hit this error is a "save" button on the page. If the commit operation doesn't return any errors (and it doesn't in this use case!), we add a JSF message saying "save successful" - then the attribute errors are further added later in the page lifecycle, so we get 3 messages: "Save successful" and "Fix this error" and "Tried to set read-only attribute" - quite confusing to the end-user when the only message they should see is "fix this error."
    At any rate, the fix is to simply re-order the attributes in the page definition - that doesn't affect the UI at all, other than to fix this issue.
    John
    it was supposed to be something like:
    Hi Frank,
    Thanks for the reply. I was simply posting this here so that people who use the SRDemo application techniques as a basis for developing the same functionality in their own apps (like me) can be aware of the issue, and avoid lots of head-scratching to figure out "what happened to the error message?"
    John

  • Error handling in abap proxy

    Hi,
    In my scenario, I have written code in the execute_synchronous method of the abap proxy in ECC. I want to capture all possible errors that might occur here and for all of them i want to capture the message id and the text and send it out. what kind of possible errors/exceptions can occur and how to handle them. My proxy class simply selects data from multiple tables in ECC and returns the same.
    thks

    Hi,
    for outbound proxies the error handling should be done within R3 itself and there is no need to send errors to XI or receiving system for that matter. You would want someone from R3 side to take a note of it.
    For Inbound proxies, you will have to implement the Fault messages
    Fault message types are designed for application-specific errors that occur on the inbound side and that are reported back to the sender or persisted in monitoring.
    ·        In the synchronous case, when an application-specific error occurs on the inbound side, instead of sending a response message back to the sender, the application can send a fault message to handle the error.
    ·        The fault message of the application for an asynchronous ABAP server proxy is persisted for monitoring. In the case asynchronous of Java server proxies, the fault message is part of a negative application acknowledgement (see Acknowledgments).
    Application-specific means that the application on the inbound side triggers the error itself because, for example, the request message did not contain sufficient information.
    For more information on the same.
    http://help.sap.com/saphelp_nw04s/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    In your case, since you said that you are selecting data from some tables, the possibility is that an entry is not found in the DB tables you will have to simply populate the fault message data and raise an expection CX_FM. It also depends on what error handling requirements from the Business .
    regards,
    Advait.

  • What is Considered Best Practice for Error Handling in Components?

    What would be the best approach to handling errors in custom (possibly composite) components?
    I see three different possibilities:
    Having the error handling funciton within the component. The problem is that this is not adaptable to the consumers error handling setup (i.e. logging to database, redirecting to a pretty error screen, etc.).
    Passing in an error function as a parameter. The problem here is how to have the externally defined error function interact with external elements that are not defined within the component, i.e. passing the error or fault object to a logging class, or something similar, of which the component knows nothing about.
    Referencing the external error handling methods directly from within the component. (Of course that's shabby programming, just listing as a technical option.)
    How do you solve this?
    My goal is to have a versatile custom component that can utilize any given consumer's error handler.
    Thanks,
    Mike

    or define a customized event and dispatch it when error occur, then you can just listen to it outside

Maybe you are looking for

  • Material Management - Purchase Order

    Hi, My Requirement : I have 4 material. MAT1, MAT2, MAT3, MAT4. MAT1 -  has an Open Purchase Order. MAT2 - No Purchase Order Placed. MAT3 - No Purchase Order Placed. MAT4 - has a Closed Purchase Order. Could any one help me from which tables and fiel

  • Skype Contact Online Message in Windows Ray

    I would like to capture when my contacts come online. Is there anywhere this information is stored? I do see the message pop up in the Wiindows tray, but I must be on my system in order to see. Is this information stored in a file somewhere? I want t

  • How do I secure individual documents in Lion?

    I'm sure this question has been answered but I can't seem to figure out how to secure individual documents in Lion. Here is what I'm trying to do; I'm scanning or saving from various sources certain forms or files to Lion and keeping in documents. Wh

  • How do I unlock audio from video in iMovie '11?

    I've transferred some old videos to iMovie '11 using an ADVC-55 and there are some places where the audio has slipped out of sync with the images. I have extracted the audio from these clips, so I can move it along the timeline to get it back into sy

  • My Iphone 3gs no longer keeps my past appointments in my calendar

    I seem to be losing my appointments in my calendar.  Each time a new month starts the month from four months ago is now blank which means I have no record of any appointments I made in the past???? how do I get them back?