Conflict Error Handler Exception in  Cluster

          Hi
          We bind some objects using rebind method to the JNDI in our weblogic servers.
          If we run one instance of weblogic server no problem but if we start another one
          server in the cluster it throughs conflict error handler exception. More over
          if we refresh one object instance in one server (by rebind) the new changes in
          the object doesn't reflect in other servers.
          

If you bind non clusterable objects in the jndi from two servers then you
          will run into conflicts.
          Basically in a cluster, two servers cannot provide the same service unless
          it is clusterable.
          WLS assumes that everything you bind into jndi is a service.
          -- Prasad
          "BSIL" <[email protected]> wrote in message
          news:3b94f93a$[email protected]..
          >
          > Hi
          > We bind some objects using rebind method to the JNDI in our weblogic
          servers.
          > If we run one instance of weblogic server no problem but if we start
          another one
          > server in the cluster it throughs conflict error handler exception. More
          over
          > if we refresh one object instance in one server (by rebind) the new
          changes in
          > the object doesn't reflect in other servers.
          

Similar Messages

  • 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

  • Error Handling BEE E-Recruiting

    I'm implementing E-Recruiting.  I added a new field to an existing infotype say HRP5122 Posting Instance.  When adding a new field to an infotype the field is automatically populated to the BSP page as a input text box.   The new field I added is "Cost of Productions" data element CURR.  When a user enter a character get a error handling exception
    What happened?
    Calling the BSP page was terminated due to an error.
    SAP Note
    The following error text was processed in the system:
    An exception with the type CX_SY_CONVERSION_NO_NUMBER occurred, but was neither handled locally, nor declared in a RAISING clause
    Exception Class CX_SY_CONVERSION_NO_NUMBER
    Error Name CONVT_NO_NUMBER
    Program CL_HRRCF_CONTROLLER===========CP
    Include CL_HRRCF_CONTROLLER===========CM007
    ABAP Class CL_HRRCF_CONTROLLER
    Method READ_CUSTOMER_FORM_FIELDS
    Line 42 
    Long text The argument 'lllll' cannot be correctly displayed as a number.
    If you go to the bsp page for 5122 there's a code
          <%
            if controller->bee is bound.
          %>
          <bsp:bee bee="<%= controller->bee %>" />
          <%
            endif.
          %>
    I believe this controls all customer include field that is added to the infotype.  I'm not sure where to put the error handling or if it's possible or not.

    Hello Heather,
    I am no specialist in network infrastructure but i remember a customer setting up a web dispüatcher szenario. I also encountered this &lp_name& error from time to time during my work.
    The error points towards damaged urls and the customer also encountered such problems when setting up the web dispatcher landscape. Sometimes the last parameter of the URL was ignored or lost. Sometimes the web dispatcher transformed the URL including the parameters. But as parameters are case sensitive transforming them to upper/lower result in errors as the system no longer recognizes them.
    Perhaps you can check the URL with which the web dispatcher is calling the sap server to find out if it does any funny things w/ the links.
    Best Regards
    Roman Weise

  • Error handle request; Root exception is: java.lang.NoSuchMethodError

    Hello Guys,
    I am running EBS 11i, rdbms 10g on OEL4. After applying a bunch of patches to resolve some IE issues I ran into an error:
    "FRM-41072: Cannot create group ACTION_REC_GROUP" when trying to cancel a PO.
    An SR directed me to apply patch 8286920 which indeed fixed the FRM-41072 error. After this patch "Logon to Oracle Applications Manager" is not possible as the page gives me :
    Error handle request; Root exception is: java.lang.NoSuchMethodError: oracle.apps.fnd.security.AolSecurity.userPwdHash(Ljava/lang/String;)Ljava/lang/String;
    MOS thinks that patch 8286920 didn't break OAM but I don't think so since this is only happening on my DEV and TEST systems on which I have applied the patch. PROD, wihtout the patch, is accessible through OAM just as usual?
    Any thouths?
    Thank you
    Mathias

    Did you apply all patches mentioned in the following docs?
    FRM-41072 - Unable to Cancel Purchase Order or Purchase Order Line or Release [ID 947402.1]
    Change Tax Code in the Purchase Order Gets Error - Could not reserve record (2 tries) Keep trying [ID 956047.1]
    Autocreate Process Does Not Default Purchase Order Form As The Active Window After PO Is Created - Does Not Come To The Front [ID 1055623.1]
    Did you bounce all the services and see if you ca reproduce the issue?
    What about clearing the server cache files? -- How To Clear Caches (Apache/iAS, Cabo, Modplsql, Browser, Jinitiator, Java, Portal, WebADI) for E-Business Suite? [ID 742107.1]
    Can you find any errors in the database/apache log files? Any invalid objects?
    If you have verified all the above please update the SR with the error you have after applying that patch.
    Thanks,
    Hussein

  • How to handle exceptions / errors in LiveCycle

    Hello All ,
    I want to handle some exception / errors that may arise while the user is filling the form so that the JavaScript console should not show any error rather we can simply show an alert / message .
    Say I got a dynamic table where the user can add / delete row at run time . There is a minimum count for the no.of rows . Suppose the user clicks the delete button without adding a new row then the JavaScript console will show error . I know we can handle this by using if else statements where depending on the instance manager count the deletion of rows are permitted . I want to know is it possible here to write a code to handle exception considering this thing as an exception without using the If-else statement ?? Just a thought.
    Thanks.
    Bibhu.

    What you're looking for is the javascript:
    try{
    // code
    } catch (err) {
    // fail code
    However, this is not the right way to solve your problem: Exception handling is for handling exceptions, and a scenario that you know can come to pass (such as the user clicking the removeInstance button when there are none to remove) is not an exception.
    Don't misunderstand me - putting code inside try/catch is 'good developer manners' (I do it myself all the time), and I strongly encourage you to do the same. Although only for handling exception sprung from code that you think should work just as fine without them.
    A better way of solving your particular problem is to remove the minus-button if there are no instances to remove.

  • 11g: Custom error handling for all application raised exceptions?

    Hi,
    the only thing I can find in the documentation regarding an error handler is this: http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/web_adv.htm#BABEHFHI (26.8)
    However, this kind of error handler seems to ignore exceptions thrown in backing beans and underlaying business logic inplemented in app modules.
    Is there a way to globaly handle those exceptions and show an error message if an exception is throw or is the only way a catch block in each backing bean method?
    Thanks

    So, If I understand correctly, the only option is to redirect to exception handler view and show eror informatin there.
    If, however, we want to present errors in popup messages, we have to handle exceptions in all backing bean's methods, e.g.:
    catch (Exception ex){
    handleError(ex);
    public void handleError(Exception ex){
    FacesContext fctx = FacesContext.getCurrentInstance();
    FacesMessage message=
    new FacesMessage(
    FacesMessage.SEVERITY_ERROR,
    "Error",
    ex.getMessage());
    fctx.addMessage(null,message);
    Is that correct?
    Thanks

  • Exception/Error Handling in OMB PLus [ OWB 10.1.0.4 ]

    Hi,
    I have a shell script which imports multiple maps one by one based on certain parameters. If there is some error in between viz., map have been ftp'd with wrong name or ... , the script exits giving the error for the map . I want to handle this as an exception and continue processing till end of maps and finally display errors corresponding to the map. Is there any way to handle exceptions or errors in via OMBPLUS for this issue.
    Thanks & Regards,
    Santosh

    Yes, TCL has a catch construct. You "catch {} msg" and any exception code gets populated to $msg. The catch command itself returns 1 if an error has occurred.
    e.g.
    if [catch { OMBCONNECT CONTROL_CENTER USE 'mypassword' } errmsg] {
    puts "Error connecting to control center: $errmsg"
    return 1
    } else {
    #..continue on
    cheers,
    Mike

  • Handle exception on server side and display a customized jsp error page

    Hi,
    I am developing a java/j2EE web application using servlet, jsp, ejb3 with JBOSS and ECLIPSE.
    Two cases can occur on the server side :
    1) either I have not an expected result in a method and in this case I want to display an error page (a JSP page I suppose) with a personnalized error message
    2) or I have an exception thrown and I want to display the exception message in the former JSP page
    I don't know how to cope with this problem of personnalized error message (or the message of a thrown exception) with a JSP page.
    Does anybody can help me ? Thank you
    Edited by: xflamant on Jun 20, 2009 10:51 AM

    For the case of an unknown Error, simply use a default error page.
    The redirection to this page can be accomplished by inserting folowing code into your web.xml:
         <error-page>
            <exception-type>java.lang.Throwable</exception-type>
            <location>/WEB-INF/jsp/error.jsp</location>       
        </error-page>Known exception can be caught via a try-catch block.
    Then simply dispatch to the page you want displayed an add an attribute containing the error message to the response object.
    This attribute can then be used in the target page to diplay the error.

  • Exception  caught if error is  raised  in Service Error Handler

    Can any one help me on this? Im not able to understand the funda for the behaviour?
    Proxy Service A calls proxy service B using Publish action. In proxyservice B - service error handler, Im raising an error with customised message. Proxy service B routes to another proxy service C which routes to Business service.
    If my business service gives me timed out , error is handled at Proxy service C error handler , and again Proxy Service B error handler is invoked. Here my code stops where Im raising the error.
    When I raise error in Service Handler where it is being caught?
    Thank you in advance.
    Regards,
    Vyshnavi

    Hi Vyshnavi,
    There are four levels where you may define an Error Handler and it will catch errors related to this level only. If it could not handle any error reached to it, it will propagate the error to the higher level error handler. All errors which can not be handled at lower levels, System Error Handler, handles those.
    To know more about this, please refer -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1040161
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1128288
    Regards,
    Anuj

  • LV7.1 Strange behavior with Automatic Error Handling occuring when it shouldn't [LV 7.1 Pro on WinXP for Tablet PC's]

    [LV 7.1 Pro on WinXP for Tablet PC's]
    I recently let a rather large LV app of mine run in the development environment while I was out for a couple of days. Upon returning I found that the app had hung for ~22 hours waiting for an answer to an Automatic Error Handling (AEH) dialog proclaiming an Error 7 in New File without any indication of the VI hierarchy that called New File.  I set about ensuring that AEH dialogs would not pop up and have not been able to discover how I could have possibly received one in the first place.
    Subsequent investigation revealed:
    Neither AEH option in Options>Block Diagrams were checked.
    Network problems had occurred around the time that the app had hung.  All file paths are network paths when running in the development environment, so the cause of the error was most likely valid, even if the AEH dialog appearance wasn't.
    My app has only one instance where the New File primitive is used by me. That subVI and all others above it in the hierarchy DO NOT have the AEH property enabled.  The error out cluster of New File in my subvi is wired.
    My app has three instances where New File is called from a vi.lib vi (Open/Create/Replace File.vi, Open Config Data.vi, and Prompt Web Browser Path.vi), none of which have the AEH property enabled.  Nor does any of their calling VI's.  All three instances also have their error out cluster wired.
    A utility to examine the AEH property of all VI's (with all top level and dynamic VI's loaded) in memory reported that only 1 of 308 vi's ( RGT Does File Exists.vi from the Report Generation Toolkit) had that property true.  That vi has no subVI's other than the File/Directory Info primitive and no calling VI's in common with any of the vi's that call New File, except a top level VI.
    As long as 'Enable automatic error handling dialogs' remains unselected in options>block diagram, I am unable to get an AEH dialog for either the New File or File/Directory Info primitives in a test VI with AEH property enabled and their error out clusters unwired no matter what invalid path I pass to the functions.  As soon as the options>block diagram>Enable AEH dialogs' is selected, both primitives fire AEH dialogs with no error out wired and don't when wired. i.e. works as advertised.
    In other words I can find no reason why I should have gotten the problem AEH dialog...
    I cannot afford for this app to hang because of a network problem, other portions of the app that were running concurrently correctly handled the error and, had the AEH dialog not appeared, the app would have made corrections or shutdown in an orderly fashion.
    Any ideas?

    Very good.
    Write Characters to File.vi>Open/Create/Replace File.vi>New File
    New File throws the error.  Open/Create/Replace strips the hierarchy from the source of the error.  Write Characters passes it to the General Error Handler.  I never looked above O/C/R file in the hierarchy except for enable automatic error handling property.  The tip-off should have been to realize that O/C/R file was stripping the hierarchy from the error and look above that. 
    The real irony is that Write Characters was being used to log error cluster data to an error log file...
    Save as... Copy without updating... the OEM 'Write Characters to File' is gone from this app.
    Thanx (a bunch)

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

  • How to handle exception CX_SY_REF_IS_INITIAL

    hi experts,
    im working on a test scenario for abap mapping in SAP XI im getting this error
    An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither handled locally, nor declared in a RAISING clause Dereferencing of the NULL reference
    i understand that i need to catch this exception in the abap coding but i'm not familiar with oops concepts
    can any one please suggest me how to handle this exception for the following code...
    method IF_MAPPING~EXECUTE.
      break x1149.
    * initialize iXML
      TYPE-POOLS: ixml.
      class cl_ixml definition load.
    ** Instances & Variable declaration =======================
    * instance main factory
      TYPES: BEGIN OF t_xml_line,
              data(256) TYPE x,
            END OF t_xml_line.
      DATA: l_ixml TYPE REF TO if_ixml,
    * instance input stream factory
       l_streamfactory TYPE REF TO if_ixml_stream_factory,
    * instance input stream
      l_istream  TYPE REF TO if_ixml_istream,
    * instance input document
      l_document TYPE REF TO if_ixml_document,
    * instance parse input document
      l_parser TYPE REF TO if_ixml_parser,
    * instance for elements within the nodes
      node      TYPE REF TO if_ixml_node,
    *instance of nodemap
      nodemap   TYPE REF TO if_ixml_named_node_map,
    * instance for iterator
      iterator  TYPE REF TO if_ixml_node_iterator,
      name      TYPE string,
      value     TYPE string,
    * instance main factory
       o_ixml   TYPE REF TO if_ixml,
    * instance output document
       o_document TYPE REF TO if_ixml_document,
    * instance output stream
      o_istream  TYPE REF TO if_ixml_ostream,
    * instance parse output document
      o_parser  TYPE REF TO if_ixml_parser,
    * instance fot renderer
      renderer type ref to if_ixml_renderer,
      irc type i,
      l_xml_size   TYPE i,
    *ROOT ELEMENT
    l_element_MT_DEMANDTEC_COST TYPE REF TO if_ixml_element,
    *NEXT CHILD ELEMENT FROM THE ABOVE PARENT
    l_element_DT_DEMANDTEC TYPE REF TO if_ixml_element,
    *CHILDREN1 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_WHSE  TYPE REF TO if_ixml_element,
    *CHILDREN2 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_DC    TYPE REF TO if_ixml_element,
    *CHILDREN3 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_PLANT    TYPE REF TO if_ixml_element,
    *CHILDREN4 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_QTY    TYPE REF TO if_ixml_element.
    *saving the xml document
      DATA: l_xml_table       TYPE TABLE OF t_xml_line.
      types: begin of t_source,
              whse(5),
              dc(4) ,
              plant(4),
              qty    type i,
             end of t_source.
      types: tt_source TYPE STANDARD TABLE OF t_source.
      data:  wa_source type t_source.
      data: it_source TYPE  tt_source,
            ivalue type string.
    * Procedures and business logic =======================================
    *   Creating the main iXML factory
      l_ixml = cl_ixml=>create( ).
    *   Creating a stream factory
      l_streamfactory = l_ixml->create_stream_factory( ).
    * create input stream
      l_istream = l_streamfactory->create_istream_xstring( source ).
    *  initialize input document
      l_document = l_ixml->create_document( ).
    *  Create a Parser
      l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
                                          istream        = l_istream
                                          document       = l_document ).
    * parse input document
      l_parser->parse( ).
    *   Validate a document
      l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
    *   Parse the stream
      IF l_parser->parse( ) NE 0.
        IF l_parser->num_errors( ) NE 0.
          DATA: parseerror TYPE REF TO if_ixml_parse_error,
                str        TYPE string,
                i          TYPE i,
                count      TYPE i,
                index      TYPE i.
          count = l_parser->num_errors( ).
          WRITE: count, ' parse errors have occured:'.
          index = 0.
          WHILE index < count.
            parseerror = l_parser->get_error( index = index ).
            i = parseerror->get_line( ).
            WRITE: 'line: ', i.
            i = parseerror->get_column( ).
            WRITE: 'column: ', i.
            str = parseerror->get_reason( ).
            WRITE: str.
            index = index + 1.
          ENDWHILE.
        ENDIF.
      ENDIF.
    *   Process the document
      IF l_parser->is_dom_generating( ) EQ 'X'.
        refresh : it_source.
        node ?= l_document.
        CHECK NOT node IS INITIAL.
    *   create a node iterator
        iterator  = node->create_iterator( ).
    *   get current node
        node = iterator->get_next( ).
    *   loop over all nodes
        WHILE NOT node IS INITIAL.
          CASE node->get_type( ).
            WHEN if_ixml_node=>co_node_element.
    *         element node
              name    = node->get_name( ).
              nodemap = node->get_attributes( ).
            WHEN if_ixml_node=>co_node_text.
    *         text node
              value  = node->get_value( ).
              if name eq 'DT_WHSE'.
                wa_source-whse = value.
              ELSEIF name eq 'DT_DC'.
                wa_source-DC = value.
              ELSEIF name eq 'DT_PLANT'.
                wa_source-PLANT = value.
              ELSEIF name eq 'DT_QTY'.
                wa_source-QTY = value.
                COLLECT wa_source INto it_source.
                CLEAR   wa_source.
              ENDIF.
          endcase.
          node = iterator->get_next( ).
        endwhile.
      ENDIF.
      loop at it_source into wa_source .
        at first.
    *       Creating a ixml factory
          o_ixml = cl_ixml=>create( ).
    *       Creating the dom object model
          o_document = l_ixml->create_document( ).
        endat.
    *       Build and Fill  root node MT_DEMANDTEC_COST
        AT FIRST.
          l_element_MT_DEMANDTEC_COST    =
    O_document->create_simple_element(
                                  name   = 'MT_DEMANDTEC_COST'
                                  parent = o_document ).
        ENDAT.
    *      Build and Fill  Child node DT_DEMANDTEC for parent
    *                                                  MT_DEMANDTEC_COST
        l_element_DT_DEMANDTEC    = O_document->create_simple_element(
                                     name   = 'DT_DEMANDTEC'
                                     parent = l_element_MT_DEMANDTEC_COST ).
    *      Build and Fill  Child node1 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-WHSE.
        l_element_DT_WHSE    = O_document->create_simple_element(
                                         name   = 'DT_WHSE'
                                         VALUE  = ivalue
                                         parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node2 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-DC.
        l_element_DT_DC   = O_document->create_simple_element(
                                             name   = 'DT_DC'
                                              VALUE  = ivalue
                                    parent = l_element_DT_DEMANDTEC ).
    *      Build and Fill  Child node3 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-PLANT.
        l_element_DT_PLANT   = O_document->create_simple_element(
                                                 name   = 'DT_PLANT'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node4 DT_QTY for parent DT_DEMANDTEC
        ivalue              = wa_source-QTY.
        l_element_DT_QTY     = O_document->create_simple_element(
                                                 name   = 'DT_QTY'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
      endloop.
    * render document ======================================================
    * create output stream
      o_istream  = l_streamfactory->create_ostream_xstring( result ).
    *   Connect internal XML table to stream factory
      o_istream  = l_streamfactory->create_ostream_itable( table =
    l_xml_table ).
      renderer = o_ixml->create_renderer( ostream = o_istream
                                              document = o_document ).
      irc = renderer->render( ).
    * how do i catch the exception for type CX_SY_REF_IS_INITIAL ...?
    endmethod.
    full reward points for answers.
    Thanks & Regards,
    Uday Kumar.
    Edited by: UDAY on May 6, 2008 9:32 PM

    Hi Uday,
    Its occurs because you're trying to access a objects with null reference. Or you forgot to create an instance or an error occurs during the instance creation. So You should put all your "Procedures and business logic" inside a Try/catch block. as follow.
    " Define a class exception object to get error message......
    DATA o_exception TYPE REF TO cx_sy_ref_is_initial.
    "// Use the statment Try block to catch the error.
    TRY.
    *   Creating the main iXML factory
      l_ixml = cl_ixml=>create( ).
    *   Creating a stream factory
      l_streamfactory = l_ixml->create_stream_factory( ).
    * create input stream
      l_istream = l_streamfactory->create_istream_xstring( source ).
    *  initialize input document
      l_document = l_ixml->create_document( ).
    *  Create a Parser
      l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
                                          istream        = l_istream
                                          document       = l_document ).
    * parse input document
      l_parser->parse( ).
    *   Validate a document
      l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
    *   Parse the stream
      IF l_parser->parse( ) NE 0.
        IF l_parser->num_errors( ) NE 0.
          DATA: parseerror TYPE REF TO if_ixml_parse_error,
                str        TYPE string,
                i          TYPE i,
                count      TYPE i,
                index      TYPE i.
          count = l_parser->num_errors( ).
          WRITE: count, ' parse errors have occured:'.
          index = 0.
          WHILE index < count.
            parseerror = l_parser->get_error( index = index ).
            i = parseerror->get_line( ).
            WRITE: 'line: ', i.
            i = parseerror->get_column( ).
            WRITE: 'column: ', i.
            str = parseerror->get_reason( ).
            WRITE: str.
            index = index + 1.
          ENDWHILE.
        ENDIF.
      ENDIF.
    *   Process the document
      IF l_parser->is_dom_generating( ) EQ 'X'.
        refresh : it_source.
        node ?= l_document.
        CHECK NOT node IS INITIAL.
    *   create a node iterator
        iterator  = node->create_iterator( ).
    *   get current node
        node = iterator->get_next( ).
    *   loop over all nodes
        WHILE NOT node IS INITIAL.
          CASE node->get_type( ).
            WHEN if_ixml_node=>co_node_element.
    *         element node
              name    = node->get_name( ).
              nodemap = node->get_attributes( ).
            WHEN if_ixml_node=>co_node_text.
    *         text node
              value  = node->get_value( ).
              if name eq 'DT_WHSE'.
                wa_source-whse = value.
              ELSEIF name eq 'DT_DC'.
                wa_source-DC = value.
              ELSEIF name eq 'DT_PLANT'.
                wa_source-PLANT = value.
              ELSEIF name eq 'DT_QTY'.
                wa_source-QTY = value.
                COLLECT wa_source INto it_source.
                CLEAR   wa_source.
              ENDIF.
          endcase.
          node = iterator->get_next( ).
        endwhile.
      ENDIF.
      loop at it_source into wa_source .
        at first.
    *       Creating a ixml factory
          o_ixml = cl_ixml=>create( ).
    *       Creating the dom object model
          o_document = l_ixml->create_document( ).
        endat.
    *       Build and Fill  root node MT_DEMANDTEC_COST
        AT FIRST.
          l_element_MT_DEMANDTEC_COST    =
    O_document->create_simple_element(
                                  name   = 'MT_DEMANDTEC_COST'
                                  parent = o_document ).
        ENDAT.
    *      Build and Fill  Child node DT_DEMANDTEC for parent
    *                                                  MT_DEMANDTEC_COST
        l_element_DT_DEMANDTEC    = O_document->create_simple_element(
                                     name   = 'DT_DEMANDTEC'
                                     parent = l_element_MT_DEMANDTEC_COST ).
    *      Build and Fill  Child node1 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-WHSE.
        l_element_DT_WHSE    = O_document->create_simple_element(
                                         name   = 'DT_WHSE'
                                         VALUE  = ivalue
                                         parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node2 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-DC.
        l_element_DT_DC   = O_document->create_simple_element(
                                             name   = 'DT_DC'
                                              VALUE  = ivalue
                                    parent = l_element_DT_DEMANDTEC ).
    *      Build and Fill  Child node3 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-PLANT.
        l_element_DT_PLANT   = O_document->create_simple_element(
                                                 name   = 'DT_PLANT'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node4 DT_QTY for parent DT_DEMANDTEC
        ivalue              = wa_source-QTY.
        l_element_DT_QTY     = O_document->create_simple_element(
                                                 name   = 'DT_QTY'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
      endloop.
    * render document ======================================================
    * create output stream
      o_istream  = l_streamfactory->create_ostream_xstring( result ).
    *   Connect internal XML table to stream factory
      o_istream  = l_streamfactory->create_ostream_itable( table =
    l_xml_table ).
      renderer = o_ixml->create_renderer( ostream = o_istream
                                              document = o_document ).
      irc = renderer->render( ).
    "   The Statement CATCH define a block that catches the exceptions of the
    "   exception class cx_sy_ref_is_initial
        CATCH cx_sy_ref_is_initial INTO o_exception.
    " If you need to get the error message text do as follow
    DATA errorMsg type string.
    " Get the message text
      errorMsg = o_exception->GET_TEXT( ).
    " Display the error information
      MESSAGE errorMsg TYPE 'I'.
      ENDTRY.
    The TRY block defines a guarded area whose class-based exceptions can be caught in the subsequent CATCH blocks. If no exception occurs in the TRY block and it reaches its end, the system continues the processing after ENDTRY. If a class-based exception occurs in the TRY block, the system searches for an exception handler in the same or an external TRY control structure.
    Font: SAP Help
    You can see a how to create and use an exception in this example [ ABAP Objects - Defining a Class-based exceptions|https://wiki.sdn.sap.com/wiki/x/19w] .
    Best Regards.
    Marcelo Ramos

  • Runtime Error DBIF_RSQL_SQL_ERROR exception CX_SY_OPEN_SQL_DB

    Hi,
    i need some guides to solve this problem.
    The program works fine in client DEV. However, when it's in QAS, we encounter  short dump: Runtime Error DBIF_RSQL_SQL_ERROR exception CX_SY_OPEN_SQL_DB
    info from short dump:
    An SQL error occurred when accessing a table.
    Error analysis
    An exception occurred. This exception is dealt with in more detail below
    . The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was
    neither
    caught nor passed along using a RAISING clause, in the procedure
    "FILL_T_DATA_TABLE" "(FORM)"
    Since the caller of the procedure could not have expected this exception
    to occur, the running program was terminated.
    The reason for the exception is:
    How to correct the error
    The exception must either be prevented, caught within the procedure
    "FILL_T_DATA_TABLE"
    "(FORM)", or declared in the procedure's RAISING clause.
    To prevent the exception, note the following:
    Database error text........: "ORA-24371: data would not fit in current prefe
    buffer"
    Internal call code.........: "[RSQL/FTCH/VBUK ]"
    Please check the entries in the system log (Transaction SM21).
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    "DBIF_RSQL_SQL_ERROR" CX_SY_OPEN_SQL_DBC
    "ZSDR_SHIPPING_REPORT" or "ZSDR_SHIPPING_REPORT"
    "FILL_T_DATA_TABLE"
    If you cannot solve the problem yourself, please send the...
    Information on where terminated
    The termination occurred in the ABAP program "ZSDR_SHIPPING_REPORT" in
    "FILL_T_DATA_TABLE".
    The main program was "ZSDR_SHIPPING_REPORT ".
    The termination occurred in line 3561 of the source code of the (Include)
    program "ZSDR_SHIPPING_REPORT"
    of the source code of program "ZSDR_SHIPPING_REPORT" (when calling the editor
    35610).
    Processing was terminated because the exception "CX_SY_OPEN_SQL_DB" occurred in
    the
    procedure "FILL_T_DATA_TABLE" "(FORM)" but was not handled locally, not
    declared in the
    RAISING clause of the procedure.
    The procedure is in the program "ZSDR_SHIPPING_REPORT ". Its source code starts
    in line 3468
    of the (Include) program "ZSDR_SHIPPING_REPORT ".
    source code:
    035490
    035500   *get all open sales orders (those that are deemed open at the Sales
    035510   *Order "Header" level)
    035520     clear open_orders.
    035530     refresh open_orders.
    035540     select * into corresponding fields of table open_orders
    035550       from vbuk
    035560       where ( vbtyp = 'C' or vbtyp = 'I' )
    035570         and ( gbstk = 'A' or gbstk = 'B' ).
    035580
    035590   *get all open deliveries(some sales orders may be closed yet the
    035600   *associated Delivery is not yet PGI'd)
         >     clear open_deliveries.
    035620     refresh open_deliveries.
    035630     select * into corresponding fields of table open_deliveries
    035640       from vbuk
    035650       where vbtyp = 'J'
    035660         and ( wbstk = 'A' or wbstk = 'B' ).
    035670
    035680   *get sales orders associated with the Open deliveries
    Please advice.
    Thanks.

    Thanks for the response.
    Hi Renga,
    The error happens in second selection.
    this is the souce code:
    data: begin of open_orders occurs 0,
            vbeln like vbuk-vbeln,
            gbstk like vbuk-gbstk,
            vbtyp like vbuk-vbtyp,
          end of open_orders.
    data: begin of open_deliveries occurs 0,
            vbeln like vbuk-vbeln,
            wbstk like vbuk-wbstk,
            vbtyp like vbuk-vbtyp,
          end of open_deliveries.
    *get all open sales orders (those that are deemed open at the Sales
    *Order "Header" level)
      clear open_orders.
      refresh open_orders.
      select * into corresponding fields of table open_orders
        from vbuk
        where ( vbtyp = 'C' or vbtyp = 'I' )
          and ( gbstk = 'A' or gbstk = 'B' ).
    *get all open deliveries(some sales orders may be closed yet the
    *associated Delivery is not yet PGI'd)
      clear open_deliveries.
      refresh open_deliveries.
      select * into corresponding fields of table open_deliveries
        from vbuk
        where vbtyp = 'J'
          and ( wbstk = 'A' or wbstk = 'B' ).
    Hi Prabhu,
    how to identify the problem in DB02?
    Please advice.
    Thanks.
    regards.

  • Runtime error - DBIF_RSQL_INVALID_RSQL, Exception - CX_SY_OPEN_SQL_DB

    Hi,
    Following code is working fine in Development system and in Production system I am getting a runtime error. Only difference I am finding is in r_lifnr value. In development system I have few lifnr and in Production system it's not so... am I getting error because of it? Is there any restriction to no. of items populated in a range? Or Basis person need to change any parameter? Enclosed the detail dump below the code...
    Advance thanks.
    Regards,
    Balaji Viswanath.
    Code:
      SELECT bukrs
             lifnr
             augdt
             augbl
             zuonr
             gjahr
             belnr
             buzei
             waers
             dmbtr
             wrbtr
             zlsch
             shkzg
             blart
             gsber
             sgtxt
      INTO TABLE t_bsak_tmp
      FROM bsak CLIENT SPECIFIED
      WHERE mandt = sy-mandt AND
            lifnr IN r_lifnr AND
            bukrs IN s_bukrs AND
            augdt IN s_augdt AND
            blart IN s_blart.
      IF sy-subrc <> 0.
      No data found for selection criteria
        MESSAGE i018.
        LEAVE LIST-PROCESSING.
      ENDIF.
    Dump:
    Runtime Errors         DBIF_RSQL_INVALID_RSQL
    Exception              CX_SY_OPEN_SQL_DB
           Occurred on     14.11.2005 at 14:35:22
    Error in the module RSQL accessing the database interface.
    What happened?
    Error in ABAP application program.
    The current ABAP program "/DS1/FI_CR_REPT_PGSR802_VEND_P" had to be terminated
    because one of the
    statements could not be executed.
    This is probably due to an error in the ABAP program.
    What can you do?
    Print out the error message (using the "Print" function)
    and make a note of the actions and input that caused the
    error.
    To resolve the problem, contact your SAP system administrator.
    You can use transaction ST22 (ABAP Dump Analysis) to view and administer
    termination messages, especially those beyond their normal deletion
    date.
    Error analysis
    An exception occurred. This exception is dealt with in more detail below
    . The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was
    neither
    caught nor passed along using a RAISING clause, in the procedure
    "GET_CLRD_VEN_DATA" "(FORM)"
    Since the caller of the procedure could not have expected this exception
    to occur, the running program was terminated.
    The reason for the exception is:
    The SQL statement generated from the SAP Open SQL Statement violates a
    restriction imposed by the database system used in R/3.
    Possible errors:
    o The maximum size of an SQL statement has been exceeded.
    o The statement contains too many input variables.
    o The space needed for the input data exceeds the available memory.
    o ...
    You can usually find details in the system log (SM21) and in the
    developer trace of the work process (ST11).
    If an error occurs the developer trace often informs you about the
    current restrictions.
    How to correct the error
    The exception must either be prevented, caught within the procedure
    "GET_CLRD_VEN_DATA"
    "(FORM)", or declared in the procedure's RAISING clause.
    To prevent the exception, note the following:
    The SAP Open SQL statement must be divided into several smaller units.
    If the problem occurred due to the use of an excessively large table
    in an IN itab construct, you can use the addition FOR ALL ENTRIES
    instead.
    When you use this addition, the statement is split into smaller units
    according to the restrictions of the database system used.
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    "DBIF_RSQL_INVALID_RSQL" CX_SY_OPEN_SQL_DBC
    "/DS1/FI_CR_REPT_PGSR802_VEND_P" or "/DS1/FI_CR_REPT_PGSR802_VEND_P"
    "GET_CLRD_VEN_DATA"
    If you cannot solve the problem yourself, please send the
    following documents to SAP:
    1. A hard copy print describing the problem.
       To obtain this, select the "Print" function on the current screen.
    2. A suitable hardcopy prinout of the system log.
       To obtain this, call the system log with Transaction SM21
       and select the "Print" function to print out the relevant
       part.
    3. If the programs are your own programs or modified SAP programs,
       supply the source code.
       To do this, you can either use the "PRINT" command in the editor or
       print the programs using the report RSINCL00.
    4. Details regarding the conditions under which the error occurred
       or which actions and input led to the error.
    System environment
    SAP Release.............. "620"
    Application server....... "ztm1003"
    Network address.......... "145.26.160.103"
    Operating system......... "AIX"
    Release.................. "5.3"
    Hardware type............ "00C004DC4C00"
    Character length......... 16 Bits
    Pointer length........... 64 Bits
    Work process number...... 6
    Short dump setting....... "full"
    Database server.......... "ztm1003"
    Database type............ "ORACLE"
    Database name............ "A94"
    Database owner........... "SAPR3K"
    Character set............ "C"
    SAP kernel............... "640"
    Created on............... "Aug 7 2005 20:44:35"
    Created in............... "AIX 1 5 00538A4A4C00"
    Database version......... "OCI_920 "
    Patch level.............. "85"
    Patch text............... " "
    Supported environment....
    Database................. "ORACLE 8.1.7.., ORACLE 9.2.0.., ORACLE
    10.1.0.."
    SAP database version..... "640"
    Operating system......... "AIX 1 5, AIX 2 5, AIX 3 5"
    User, transaction...
    Client.............. 110
    User................ "INBVI0"
    Language key........ "E"
    Transaction......... "SE38 "
    Program............. "/DS1/FI_CR_REPT_PGSR802_VEND_P"
    Screen.............. "SAPMSSY0 1000"
    Screen line......... 6
    Information on where terminated
    The termination occurred in the ABAP program "/DS1/FI_CR_REPT_PGSR802_VEND_P"
    in "GET_CLRD_VEN_DATA".
    The main program was "/DS1/FI_CR_REPT_PGSR802_VEND_P ".
    The termination occurred in line 503 of the source code of the (Include)
    program "/DS1/FI_CR_REPT_PGSR802_VEND_P"
    of the source code of program "/DS1/FI_CR_REPT_PGSR802_VEND_P" (when calling
    the editor 5030).
    Processing was terminated because the exception "CX_SY_OPEN_SQL_DB" occurred in
    the
    procedure "GET_CLRD_VEN_DATA" "(FORM)" but was not handled locally, not
    declared in the
    RAISING clause of the procedure.
    The procedure is in the program "/DS1/FI_CR_REPT_PGSR802_VEND_P ". Its source
    code starts in line 501
    of the (Include) program "/DS1/FI_CR_REPT_PGSR802_VEND_P ".
    Source code extract
    004730   &----
    004740   *       get country names from t005t
    004750   ----
    004760   FORM get_country_names.
    004770
    004780     t_lfa1_land[] = t_lfa1[].
    004790     SORT t_lfa1_land BY land1.
    004800     DELETE ADJACENT DUPLICATES FROM t_lfa1_land COMPARING land1.
    004810
    004820     IF NOT t_lfa1_land[] IS INITIAL.
    004830       SELECT land1
    004840              landx
    004850       INTO TABLE t_t005t
    004860       FROM t005t
    004870       FOR ALL ENTRIES IN t_lfa1_land
    004880       WHERE spras = sy-langu AND
    004890             land1 = t_lfa1_land-land1.
    004900       REFRESH t_lfa1_land.
    004910       SORT t_t005t BY land1.
    004920     ELSE.
    004930       MESSAGE i014 WITH 'No vendor data fetched'(001).
    004940     ENDIF.
    004950   ENDFORM.                    " get_country_names
    004960   &----
    004970   *&      Form  get_clrd_ven_data
    004980   &----
    004990   *       Cleared vendor data
    005000   ----
    005010   FORM get_clrd_ven_data .
    005020
    >     SELECT bukrs
    005040            lifnr
    005050            augdt
    005060            augbl
    005070            zuonr
    005080            gjahr
    005090            belnr
    005100            buzei
    005110            waers
    005120            dmbtr
    005130            wrbtr
    005140            zlsch
    005150            shkzg
    005160            blart
    005170            gsber
    005180            sgtxt
    005190     INTO TABLE t_bsak_tmp
    005200     FROM bsak CLIENT SPECIFIED
    005210   * the order of the fields are as in the secondary Index.
    005220     WHERE mandt = sy-mandt AND
    Contents of system fields
    SY field contents..................... SY field contents.....................
    SY-SUBRC 0                             SY-INDEX 0
    SY-TABIX 1                             SY-DBCNT 59
    SY-FDPOS 0                             SY-LSIND 0
    SY-PAGNO 0                             SY-LINNO 1
    SY-COLNO 1                             SY-PFKEY
    SY-UCOMM
    SY-TITLE Vendor Payment  Details for IRD
    SY-MSGTY I                             SY-MSGID SF
    SY-MSGNO 616                           SY-MSGV1 /DS1/FI_CR_REPT_PGSR802_VEND_P
    SY-MSGV2 RE                            SY-MSGV3 EN
    SY-MSGV4
    Active calls / events
    No.... Type........ Name..........................
           Program
           Include                                  Line
           Class
         2 FORM         GET_CLRD_VEN_DATA
           /DS1/FI_CR_REPT_PGSR802_VEND_P
           /DS1/FI_CR_REPT_PGSR802_VEND_P             503
         1 EVENT        START-OF-SELECTION
           /DS1/FI_CR_REPT_PGSR802_VEND_P
           /DS1/FI_CR_REPT_PGSR802_VEND_P             135

    Hi Balaji,
    Here is what the dump said and my answers are right below them.
    <i>Possible errors:</i>
    o The maximum size of an SQL statement has been exceeded.</i>
    This may not be the reason in your case. This usually happens when you use the option FOR ALL ENTRIES
    <i>o The statement contains too many input variables.</i>
    Most likely this is your issue. I think your r_lifnr is filled with all the vendors in your system and filled as single values. In that case you may be exceeding a limit set on the system. Instead of trying to remove this setting, what I would suggest is to do the following.
    Define a select-option for LIFNR on your selection screen. This way users can have the flexibility of specifying certain vendors. If they don't enter anything, it is still ok. Don't fill it with single values.
    Use this select-option in your select statement. After the select statement, do a delete from itab where the vendors are not in your r_lifnr as below.
    DELETE t_bsak_tmp WHERE NOT lifnr IN r_lifnr.
    Also, avoid using client. You don't need that unless you really want to select from a different client other than your logon client. Your select statement is using logon client anyway, so you don't need to specify that.
    <i>o The space needed for the input data exceeds the available memory.</i>
    If the above changes are made and the problem is still there, then this is the next thing to look at.
    Srinivas

  • Invalid Handle Exception-What is the reason?

    I face with "Invalid Handle exception" (SQLException) while using the following code.
    Could anybody tell me the possible reasons/Situation the error rise?
    stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(SQLStmt);
         if(rs!=null){
    ResultSetMetaData rsm = rs.getMetaData();
         int totalcols = rsm.getColumnCount();
         Vector temp;
         while (rs.next()) {
         Vector temp = new Vector();
         for (int i = 1; i <= totalcols; i++) {
              String value = rs.getString(i);
              if (value == null) {
              value = "";
         temp.addElement(value);
         }//for loop ends here
         valueVector.addElement(temp);
         rs.close();
         stmt.close();     
    Thank you all

    Vector temp;
    while (rs.next()) {
    Vector temp = new Vector();Are you sure that this is the code you are running? The reason I ask is that I'm pretty sure that it won't compile, at least under JDK1.4. You should get a compile error something like "temp is already defined".
    If thats not the problem you need to find out on which line the error actually occurs. You can get this from the exception by calling the printStackTrace() method.
    Col

Maybe you are looking for