How to Handle RFC delivery exception (rfcClientException) in XI?

I have a following scenario.
I have an outbound soap interface (sender) and inbound RFC(receiver). When the soap message is posted it goes to receiver where it has to execute the RFC. It tries to convert the XML to RFC and throws the following exception.
com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Date 'xxxx-xx-xx' has a wrong format at field CREAT_DATE: Unparseable date: "xxxx-xx-xx
I defined the fault message and attached it to the Inbound Interface. I also defined the mapping of receiver exception message to fault message. I am expecting a fault message back to sender which is not happening.
When I go to moni and try to look for the error in the response message I see the following.
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="PARSING">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Date 'xxxx-xx-xx' has a wrong format at field CREAT_DATE: Unparseable date: "xxxx-xx-xx"</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I am suspecting that since the fault message does not contain this structure it's not able to build it.
How do I handle such runtime exception and transfer it to sender system. Any help would be greatly apperciated.

I have the same problem. The error is as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--  Call Adapter
  -->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
  <SAP:Category>XIAdapterFramework</SAP:Category>
  <SAP:Code area="PARSING">GENERAL</SAP:Code>
  <SAP:P1 />
  <SAP:P2 />
  <SAP:P3 />
  <SAP:P4 />
  <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Date '2006/04/09' has a wrong format at field INVALIDITYBEGIN: Unparseable date: "2006/04/09"</SAP:AdditionalText>
  <SAP:ApplicationFaultMessage namespace="" />
  <SAP:Stack />
  <SAP:Retry>M</SAP:Retry>
  </SAP:Error>
Anyone have any idea, how should I resolve the data format issue?
Thanks

Similar Messages

  • How to handle multiple save exceptions (Bulk Collect)

    Hi
    How to handle Multiple Save exceptions? Is it possible to rollback to first deletion(of child table) took place in the procedure.
    There are 3 tables
    txn_header_interface(Grand Parent)
    orders(parent)
    order_items (Child)
    One transaction can have one or multiple orders in it.
    and one orders can have one or multiple order_items in it.
    We need to delete the data from child table first then its parent and then from the grand parent table.if some error occurs anywhere I need to rollback to child record deletion. Since there is flag in child table which tells us when to delete data from database.
    Is it possible to give name to Save exceptions?
    e.g.
    FORALL i IN ABC.FIRST..ABC.LAST SAVE EXCEPTIONS A
    FORALL i IN abc.FIRST..ABC.LAST SAVE EXCEPTIONS B
    if some error occurs then
    ROLLBACK A; OR ROLLBACK B;
    Please find the procedure attached
    How to handle the errors with Save exception and rollback upto child table deletion.
    CREATE OR REPLACE
    PROCEDURE DELETE_CONFIRMED_DATA IS
    TYPE TXN_HDR_INFC_ID IS TABLE OF TXN_HEADER_INTERFACE.ID%TYPE;
    TXN_HDR_INFC_ID_ARRAY TXN_HDR_INFC_ID;
    ERROR_COUNT NUMBER;
    BULK_ERRORS EXCEPTION;
    PRAGMA exception_init(bulk_errors, -24381);
    BEGIN
    SELECT THI.ID BULK COLLECT
    INTO TXN_HDR_INFC_ID_ARRAY
    FROM TXN_HEADER_INTERFACE THI,ORDERS OS,ORDER_ITEMS OI
    WHERE THI.ID = OS.TXN_HDR_INFC_ID
    AND OS.ID = OI.ORDERS_ID
    AND OI.POSTING_ITEM_ID = VPI.ID
    OI.DW_STATUS_FLAG =4 --data is moved to Datawarehouse
    MINUS
    (SELECT THI.ID FROM TXN_HEADER_INTERFACE THI,ORDERS OS,ORDER_ITEMS OI
    WHERE THI.ID = OS.TXN_HDR_INFC_ID
    AND OS.ID = OI.ORDERS_ID
    OI.DW_STATUS_FLAG !=4);
    IF SQL%NOTFOUND
    THEN
    EXIT;
    END IF;
    FORALL i IN TXN_HDR_INFC_ID_ARRAY.FIRST..TXN_HDR_INFC_ID_ARRAY.LAST SAVE
    EXCEPTIONS
    DELETE FROM ORDER_ITEMS OI
    WHERE OI.ID IN (SELECT OI.ID FROM ORDER_ITEMS OI,ORDERS
    OS,TXN_HEADER_INTERFACE THI
    WHERE OS.ID = OI.ORDERS_ID
    AND OS.TXN_HDR_INFC_ID = THI.ID
    AND THI.ID = TXN_HDR_INFC_ID_ARRAY(i));
    FORALL i IN TXN_HDR_INFC_ID_ARRAY.FIRST..TXN_HDR_INFC_ID_ARRAY.LAST SAVE
    EXCEPTIONS
    DELETE FROM ORDERS OS
    WHERE OS.ID IN (SELECT OS.ID FROM ORDERS OS,TXN_HEADER_INTERFACE THI
    WHERE OS.TXN_HDR_INFC_ID = THI.ID
    AND THI.ID = TXN_HDR_INFC_ID_ARRAY(i));
    FORALL i IN TXN_HDR_INFC_ID_ARRAY.FIRST..TXN_HDR_INFC_ID_ARRAY.LAST SAVE
    EXCEPTIONS
    DELETE FROM TXN_HEADER_INTERFACE THI
    WHERE THI.ID = TXN_HDR_INFC_ID_ARRAY(i);
    COMMIT;
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, 'DD-MON-YY HH:MIPM')||':
    DELETE_CONFIRMED_DATA: INFO:DELETION SUCCESSFUL');
    EXCEPTION
    WHEN OTHERS THEN
    ERROR_COUNT := SQL%BULK_EXCEPTIONS.COUNT;
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, 'DD-MON-YY HH:MIPM')||':
    DELETE_CONFIRMED_DATA: ERROR:Number of errors is ' ||ERROR_COUNT);
    FOR indx IN 1..ERROR_COUNT LOOP
    DBMS_OUTPUT.PUT_LINE('Error ' || indx || 'occurred during
    '||'iteration'||SQL%BULK_EXCEPTIONS(indx).ERROR_INDEX);
    DBMS_OUTPUT.PUT_LINE('Error is '
    ||SQLERRM(-SQL%BULK_EXCEPTIONS(indx).ERROR_CODE));
    END LOOP;
    END DELETE_CONFIRMED_DATA;
    Any suggestion would be of great help.
    Thanks in advance
    Anu

    If you have one or two places in your code that need multiple exceptions, just do it with multiple catch statements. Unless you are trying to write the most compact Programming 101 homework program, inventing tricks to remove two lines of code is not good use of your time.
    If you have multiple catches all over your code it could be a code smell. You may have too much stuff happening inside one try statement. It becomes hard to know what method call throws one of those exceptions, and you end up handling an exception from some else piece of code than what you intended. E.g. you mention NumberFormatException -- only process one user input inside that try/catch so it is easy to see what error message is given if that particular input is gunk. The next step of processing goes inside its own try/catch.
    In my case, the ArrayIndexOutOfBoundsException and
    NumberFormatException should be handled by the same way.Why?
    I don't think I have ever seen an ArrayIndexOutOfBoundsException that didn't indicate a bug in the code. Instead of an AIOOBE perhaps there should be an if statement somewhere that prevents it, or the algorithm logic should prevent it automatically.

  • How to handle null pointer exception

    dEAR ALL
    how to handle null pointer exception
    public void xxperscompmatchcase(OAPageContext pageContext,
    OAWebBean webBean,String cid,String pid)
    xxcrmleadperslastnameVOImpl vo=getxxcrmleadperslastnameVO();
    xxcrmleadcompnameVOImpl vo1=getxxcrmleadcompnameVO();
    vo.setWhereClauseParams(null);
    vo1.setWhereClauseParams(null);
    vo.setWhereClauseParam(0,pid);
    vo1.setWhereClauseParam(0,cid);
    vo.executeQuery();
    vo1.executeQuery();
    String compname="";
    String plname="";
    if(vo1.first().getAttribute("CompName")!=null)
    compname=(String)vo1.first().getAttribute("CompName");
    else
    compname="";
    if((String)vo.first().getAttribute("PersLastname")!=null)
    plname=(String)(String)vo.first().getAttribute("PersLastname");
    else
    plname="";
    OAFormattedTextBean p =
    (OAFormattedTextBean)webBean.findChildRecursive("personmatchcase");
    OAFormattedTextBean b =
    (OAFormattedTextBean)webBean.findChildRecursive("matchcase");
    b.setValue(pageContext,
    "The Lead is matched to company " + compname.toUpperCase());
    p.setValue(pageContext,
    "The Lead is matched to person " + plname.toUpperCase());
    it is going to null pointer exception
    how to handle this exception

    Hi,
    try
    //Write your logic here, which can generate any exception
    catch(Exception e)
    //Write your exception specific code here
    Regards,
    Reetesh Sharma

  • How to handle RFC exception in XI

    We have developed a proxy-> RFC scenario. But its not able to handle the RFC exception. In case of an exception the response payload is as below
    <rfc:Y_BAPI_GET_POSTING_PERIOD.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>Screen output without connection to user.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>044</Number></Message><Attributes><V1>DYNPRO_SEND_IN_BACKGROUND</V1></Attributes></rfc:Y_BAPI_GET_POSTING_PERIOD.Exception>
    Is it correct way to get exception from RFC in such a way or the error/exception text should come in RETURN part of the RFC response? 
    What is the best approach or solution to handle the sync. RFC call exception in XI?

    Hi,
    You can create a Fault Message Type and map the RFC exception text to this.
    In the interface mapping in addition to Request and response
    mapping you will get an additional fault message mapping.
    This will handle your exception properly.
    Regards,
    V.Ramya

  • How to handle user defined exception from C#?

    Hi:
    I have some PL/SQL code that will throw a user defined exception if certain conditions are met. How do I handle user defined exceptions if this procedure/function is being called from C#? C# can handle a normal Oracle SQL error (e.g. ORA-XXXX) because they are defined in the proper class, but how do I get it to know about my user defined exception? Does anyone have any links to examples of doing this?
    Thanks.

    Hi Gaff,
    Is there a particular problem you're having doing this? It works as normal for me...
    Cheers
    Greg
    PLSQL
    =========
    create or replace procedure throwsomething as
    begin
    raise_application_error(-20001,'kaboom');
    end;
    ODP
    =====
        class Program
            static void Main(string[] args)
                using (OracleConnection con = new OracleConnection())
                    con.ConnectionString = "user id=scott;password=tiger;data source=orcl";
                    con.Open();
                    using (OracleCommand cmd = new OracleCommand())
                        cmd.CommandText = "begin throwsomething;end;";
                        cmd.Connection = con;
                        try
                            cmd.ExecuteNonQuery();
                        catch (OracleException oe)
                            Console.WriteLine("caught " + oe.Message);
    OUTPUT
    ========
    caught ORA-20001: kaboom
    ORA-06512: at "SCOTT.THROWSOMETHING", line 3
    ORA-06512: at line 1

  • How to receive RFC calls exceptions

    Hi,
    My english is bad, sorry.
    I have a RFC call to access data from a NIF. In the function that performs the 'select' I have created an exception if the NIF does not exist, is called 'NO_DATA'. How I recibe this exception in Web Dynpro?
    Thanks,
    Regards,
    Rubén Gutiérrez.

    Hi,
    In your remote enabled function module, under Tables tab you can
    add a table type attribute which can hold the return messages.
    ET_Return like bapiret2
    In webdynpro loop through the RFM return message node and print the messages.
    Sample Code:
    for(int i=0;i<wdcontext.nodereturn.size();i++)
      String message = wdcontext.nodereturnElement.getAttributeValue("Message");
      if ("S".equals(wdcontext.nodereturnElement.getAttributeValue("S")))
       msgManager.reportSuccess(message);
      else if("E".equals(wdcontext.nodereturnElement.getAttributeValue("E")))
       msgManager.reportException(message,false);
       errorRaised = false;
      else if("W".equals(wdcontext.nodereturnElement.getAttributeValue("W")))
       msgManager.reportWarning(message);
    Regards,
    Bala Baskaran.S

  • How to handle the global exception at servlet filter?

    I cannot redirect the page or add the error message to faces context after the rollback. How do I can show the error to the client?
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    throws IOException, ServletException {
    UserTransaction utx = null;
    try {
    InitialContext ctx = new InitialContext();
    utx = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
    utx.begin();
    EntityManager em = EntityManagerUtil.getEntityManager();
    chain.doFilter(request, response);
    em.flush();
    utx.commit();
    em.clear();
    }catch(Throwable t) {
    logger.error(t, t);
    try {
    utx.rollback();
    }catch(SystemException se) {
    logger.error(se, se);
    } finally {
    EntityManagerUtil.closeEntityManager();
    }

    If I send the error code, it will throw the following exception because the response is committed.
    java.lang.IllegalStateException
    java.lang.IllegalStateException
    at org.apache.coyote.tomcat5.CoyoteResponseFacade.sendError(CoyoteResponseFacade.java:433)
    at mo.gov.safp.eform.web.filter.EntityManagerFilter.doFilter(EntityManagerFilter.java:57)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
    Should I solve it?
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    throws IOException, ServletException {
    UserTransaction utx = null;
    try {
    // Define the request and the response encoding.
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    InitialContext ctx = new InitialContext();
    utx = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
    utx.begin();
    EntityManager em = EntityManagerUtil.getEntityManager();
    chain.doFilter(request, response);
    em.flush();
    utx.commit();
    em.clear();
    }catch(Throwable t) {
    logger.error(t, t);
    try {
    utx.rollback();
    }catch(SystemException se) {
    logger.error(se, se);
    ((HttpServletResponse)response).sendError(500);
    }

  • How to handle ADF_FACES Errors/Exceptions and display customized message.

    Hi All,
    <b>My question here is, </b>
    Is there any way to handle the validation/PPR kind of run time exceptions/errors. I have tried to handle these errors by extending the lifecycle and overridden the reportErrors method. But this method is being called in the PREPARE_RENDER phase. But the exception is happening in the JSF_PROCESS_VALIDATIONS phase. I have tried to handle the exceptions in the custom PagePhaseListener. But these exceptions could not be handled in the custom PagePhaseListener.
    <b>I would like to display a customized message to the user instead of displaying the PPR exception</b>.
    The details are given below.
    I have a use case related to the security like if there is a drop down list in a page. Drop down list is having a af:validateRegExp component which allows only alphabets. Dropdown is populating alphanumeric values.
    One option is selected in the drop down list and submitted the value with the help of the commondbutton.
    With the help of some tools, we modified the submitted value(index of the list submitted) to some alphabets.
    <b>Its throwing some validation exception. Some of the statements are given below.</b>
    <UIXRegion> <_warn> Error processing viewId: /Validate_TF/validate URI: /validate.jsff actual-URI: /validate.jsff.
    java.lang.NumberFormatException: ADF_FACES-60034:SelectOne could not convert index 0asd
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase PROCESS_VALIDATIONS 3
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR
    <b>displaying a popup dialog with error message like:</b>
    ADF_FACES_60034:could not convert index
    ADF_FACES_60097:server exception
    ADF_FACES_60096: some exception occurred during PPR,
    <b>I don't want to show these kind of messages to user. Please suggest me whether is it possible or not.</b>
    Thanks in advance.
    Regards,
    SatishRaj Dasari.

    Hi,
    Try reading one of Franks post :
    [url https://blogs.oracle.com/jdevotnharvest/entry/extending_the_adf_controller_exception_handler]
    Nigel

  • How to create outbound delivery except bapi BAPI_DELIVERYPROCESSING_EXEC

    Hi,
    I have a problem with bapi BAPI_DELIVERYPROCESSING_EXEC.
    I use this bapi to create outbound delivery from delivery due list. But there is no shipping point as a parameter in this function module. So if there is two shipping point in a sales order, only one delivery is created for only one shipping point. How can I solve this problem.
    Or Can I create outbound delivery from a sales order with using bapi ?
    Thanks.

    I think(It's strictly my opinion), if a suitable serial number profile is maintained in plant/material then this assignment should happen automatically!!
    **You gotta refer to a functional consultant. I am not very sure..

  • How to handle error or exceptions in jsf

    Hi
    i have a code using DTO and DAO.I want to handle errors in jsf automatically(ie without return parameter in java code .).Hoe i can handlethose errors in faces.config.

    Declaratevly You can't do this.
    I use two event handler for state remembering:
    public static EventResult goToPage(BajaContext context,
    Page page,
    PageEvent pageEvent) {
    Page newPage = new Page(page.getProperty("nextPageName"));
    page.setProperty(NEXT_PAGE_NAME, null);
    newPage.setPropertyAsPage("returnPage", page, context.getPageEncoder());
    return new EventResult(newPage);
    public EventResult returnToPage(BajaContext context,
    Page page,
    PageEvent pageEvent) {
    Page oldPage = page.getPropertyAsPage("returnPage", context.getPageDecoder());
    return new EventResult(oldPage);
    StartPage.uix
    <handlers>
    <event name="nextPage">
    <bc4j:chaining>
    <bc4j:setPageProperty name="nextPageName" value="NextPage"/>
    <method class="..." method="goToPage"/>
    </bc4j:chaining>
    </event>
    </handlers>
    NextPage.uix
    <handlers>
    <event name="nextPage">
    <bc4j:chaining>
    <method class="..." method="returnToPage"/>
    </bc4j:chaining>
    </event>
    </handlers>
    method setPropertyAsPage save all page properties and state informations for page.
    On every page I use ctrl:page or ctrl:pageState DataObjectLists.
    On pages with search criteria I use ctrl:httpSession DataObjectList to save all criteria in one session. You must write event handler when you make search or trigger FIND event. In this event handler you must put every search form parameter in session.
    That's all from me! I hope this help You to resolve problems!

  • ORA-02068: following severe error from - How to handle the overgiven Except

    Hello again ^^,
    hope its okay to write the follwnig question into a new Thread...
    I sometimes get errors from remote dbs.
    ORA-02068: following severe error from DBLINK
    ORA-01089: immediate shutdown in progress - no operations are permitted
    ORA-02068: following severe error from DBLINK
    ORA-03113: end-of-file on communication channelThese are in one sqlerm. Is it possible to handle the second errors without string operations?
    Thanks and regards
    Edited by: user10283133 on 28.10.2008 08:33
    Try to force the headline

    The remote db is accessible from 6 am to 6 pm. When querring longer than given time span I get the Error ORA-02068. In the sqlerm for this Error is a second Errormessage from an second different Error concatenated.
    Now I will tell what I think is happening:
    I think the remote db say: >>I will go sleep now<< an throws Error A (ORA-01089 (or ORA-03113, or what else)). This Error A goes to the local db. The local db get the Error A and throw a new Error (Error B = ORA-02068). This Error B is independet from Error A. And I see a String which is "Error B + Error A"
    I recieve also three possible Errormessages:
    ORA-02068: following severe error from DBLINK
    ORA-03113: end-of-file on communication channel
    ORA-02068: following severe error from DBLINK_ODS_STBY
    ORA-01089: immediate shutdown in progress - no operations are permitted
    ORA-02068: following severe error from DBLINK_ODS_STBY
    ORA-whatelse: what elseI can handle the ORA-02068. But my questions is, can I handle the second Error (thus Error A) without string operations?
    The Relase is 10g2. Please tell me which information you still need ...
    Thank you very much.
    regrads

  • How to handle sql error exception in view object

    Guys,
             I have view object (with rows fetched from a sql query).
    Say the query in the VO looks like this..
    select plsql_fun(c) from dual
    (Note : the plsql function in the above query can throw an exception in some cases)
    when the plsql function throws a exception, we get sql exception  (oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation)
    Is there any way i can catch this exception and return -1 in the view object...
    Thanks in advance.

    Check out http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1897193.html
    Have you tried to surround hte executeQuery  with a try catch block?
    Timo

  • How to handle method based exceptions in webdynpro abap?

    Hi ,
        I want to raise an exception from my method.....I am doing division operation inside my method...when I am entering a very large amount , that time I am getting run time error.....please someone help me to catch this exception and display on browser.
    Thanks & Regards
    Suman Kumar

    Hi Suman,
    You can catch the arithmetic exception by using exception class CX_SY_ARITHMETIC_ERROR as below
    Sample code:
              data lv_ex_msg               type string.
              data lx_sy_error              type ref to CX_SY_ARITHMETIC_ERROR.
              try.
                   "here goes your code
              catch CX_SY_ARITHMETIC_ERROR into lx_sy_error.
                               "  you can get exception text as below
                             lv_ex_msg = lx_sy_error->get_text( ).
                             or
                         " lv_ex_msg = lx_sy_error->get_longtext( ).
              endry.
    Hope this helps you.
    Regards,
    Rama

  • How to handle JCO Exceptions at JCO (RFC) function call

    Hello Forum,
    I am implementing an JCO Server scenario.
    I use dynamic repositories like Example7.java from the JCO documentation.
    Example7 throws an JCO.AbapException if anything went wrong, e.g. the function is not implemented.
    How to react on this AbapException?
    The examples in SAP Help documentation only catch
    SYSTEM_FAILURE and COMMUNICATION_FAILURE.
    All other RFC modules I have seen which declare the function modules to be used by dynamic JCO repositories (like Example7.java) do not define any other Exception parameters.
    But these two are only thrown and caught when something with communication went completely wrong, e.g. RFC not found.
    But when RFC can be reached and the JCO Server is executing the Java method, an AbapException could be thrown on error. How to react on this?
    In my implementation based on the examples I always get a ABAP dump. The dump says:
    Exception named  without message text. Why that name?
    How to handle this type of exception in order to avoid the dump?
    Can anyone post an example please?
    Thanks,
    Carsten
    Edited by: Carsten Schön on Apr 15, 2008 4:22 PM
    Edited by: Carsten Schön on Apr 15, 2008 4:24 PM

    Hi Micky,
    thanks for your quick response.
    If so, to throw JCO.AbapException on JCO Server side is not correct?
    What I do is throwing the JCO.AbapException (like in the JCO Example 7).
    At the RFC call in APAB I handle both exceptions SYSTEM_FAILURE and COMMUNICATION_FAILURE like
    CALL FUNCTION 'MY_JCO_FUNCTION_MODULE'
        DESTINATION JCO_DEST
        <...>
        EXCEPTIONS
          SYSTEM_FAILURE        = 1  MESSAGE RFC_MESS
          COMMUNICATION_FAILURE = 2  MESSAGE RFC_MESS.
    This works as far something with RFC is wrong, e.g. Server can not find the function or Server not reachable.
    But the AbapException thrown by the JCO Server (Java) is not handled that way. Why?
    Sorry if this is the wrong forum but I tried posting in Netweaver integration and got no answer for 1 week and because it's ABAP related I thought the topic suites here.
    Carsten
    Edited by: Carsten Schön on Apr 15, 2008 5:10 PM

  • Handling PI 7.1 RFC Lookup Exception in Graphical Mapping

    Dear Experts,
              I would like to know the better way of handling PI 7.1 - RFC Lookup Exception in Graphical Mapping without using  BPM. Say I perform a RFC Lookup from PI 7.1 Graphical Mapping and it fails due to RFC server down. In this case I suppose the RFC exception would be returned as response to the mapping? But, am really not sure how this response (RFC Exception) could be effectively used. Please clarify.
    Thanks,
    Hussain.
    Edited by: HussainShaik on Oct 26, 2009 8:24 AM

    Hi Hussain,
    I am not sure if I understood you query completely.
    IF the RFC look up raised some exception then how this is going to impact your interface will depend your mapping (which you did in ESR)
    (the following is adopted from help.sap,com)
    If you handled exceptions  by selecting Use Exceptions checkbox in the function properties of the standard function, the mapping editor adds an additional parameter in red (the bottommost return parameter) to the standard function in the data-flow editor. If you do not assign a target field to this return parameter, ignore the RFC exceptions (the message mapping is not terminated at runtime). Otherwise the mapping runtime transfers the exception as an XML structure and it can then be evaluated in a user-defined function, for example. If there is no exception, the mapping runtime transfers an empty context.
    If you have not selected the Use Exceptions checkbox, the mapping runtime terminates the message mapping if an exception occurs during the RFC lookup.
    Is this you are looking here?
    Also check this thread and help.sap site
    Re: SAP-PI - RFC call to SAP backend system
    http://help.sap.com/saphelp_nwpi71/helpdata/en/33/1ec6ced273493a993a80c2301c03da/content.htm
    Regards
    Suraj

Maybe you are looking for