How to handle system exception in Sync communication without BPM? Help!

Hi Experts
   I have a Synchronous scenario in XI: webservice <------>RFC SAP R/3.
  Webservice is making a sync call to RFC FM in SAP R/3 system.
   I want to handle system exception when SAP R/3 is down and send an email alert.    
   Can I achieve this in graphical mapping without BPM? How? Kindly provide necessary steps/screenshots for the same.
   Are there any other alternatives for handling system exception apart from mapping and BPM?  
Thanks
Gopal

Hi GopalKirshna,
      Yes,You can handle the Exception if at all you are using the RFC.You can achieve this without using BPM.
   Using Fault message you can catch the System Exception and even the primary role for Fault Message is to catch the RFC Exceptions.
   Please refer the Fault messages Notes to achieve this you will understand better.
Hope I am clear.
Please let me if you have any more queries regarding this..!
Thanks and Rewards,
Chandu.

Similar Messages

  • How to handle system exception.

    Hi,
    Following is the scenrio of my setup.
    Sender : WebService call ( SOAP adapter)
             Interface : sync , outbound
    receiver : RFC
             Interface : sync , inbound.
    I want to catch the system exception if occured on XI(like mapping , deleiveryexception (rfc) , any other runtime exception)
    Is there any way to catch these exception and send it to sender system as webService response.
    Any help would be greatly appricated!!!

    Hi Samir,
    If you are calling a BAPI or RFC program from a web service, then you should be able to see the BAPI/RFC error/error code on the RETURN part of the RFC response message. So it is just a matter of map the correct fields to your web service response.
    For other kind of errors e.g. errors due to mapping problems/connectivity problems etc.. You need to implement error tracing (in this case sending errors back to the client) by yourself in the SWC.
    Cheers,
    Rob

  • How to handle runtime exceptions for sync scenario?

    Hi Experts,
       I have a synchronous scenario.
       Request :
       webservice -
    > sends input data -
    > PI -
    > SAP R/3 --BAPI
       Response:
       webservice -<---  PI <sends back any validation error or successfully processed message----- SAP R/3 --BAPI
       Here a webservice uses SOAP adapter to send input data to PI. While PI uses ABAP proxy to send data to SAP R/3.
       The problem is when the BAPI takes too long to process and resulting in timeout exception in PI. Is there some way we can catch this runtime exception in PI and send it to webservice as response?
       Please help!
    Thanks & Regards,
    Gopal

    Hi Gopal,
    as mentioned by otheres: the main issue is here to detect the reason for performance lack...
    >Is there some way we can catch this runtime exception in PI and send it to webservice as response?
    You can invoke a Business Process and open a sync / asyn Bridge. In the process call the FM synchronous and define an exception branch which you access in case of system failure. In the exception branch execute a transformation step to fill the response container with a corresponding error message.
    Regards,
    Udo

  • How to handle the exception in GP(Exception : Activity could not be read)

    Hi all
    we are getting the GP exceptions  as  1) "Activity could not be read"  2) "Action has been stopped"
    3) error while processing the item can not be displayed
    Please let me know how to handle these exceptions in GP .
    currently i got some documents in SDN on GP exceptions but those are related to manual exceptions for example if you enterd wrong data in the inputfield then we can handle those exceptions then it will allow to enter the new value but the exceptions which i mentioned above are new it seems
    can you please let me know how to handle or solve those 3 exceptions
    Thanks
    bindu

    Hi Shikhil
    Thanks for your reply
    Please have a look below for exceptions which i am getting in GP and let me know how to handle these exceptions.
    1) "Activity could not be read"
    2) "Action has been stopped"
    3) error while processing the item can not be displayed
    if you give any idea/clue how to handle these exceptions then it would be great help to me
    Thanks
    Sunil

  • How to handle the Exception in GP using executable callabel object.

    Hi all,
            I handled an exception in GP using Background callable Object. That is working fine.
    (Ex: Exception_No_User_Found). The Problem is I am not able to handle the exceptions for normal callable object. I have done the same thing as i did in background callable object except implementing IGPBackgroundCallableObject Class.  I have created an WebDynpro DC Project where in getDescription method i declared an Exception and in execute method of component controller I caught the exception if no user found.
    Then i created an callable object for this simple DC project. but that is not working i could not catch the exception. when i execute the process it is asking the User ID if i give the wrong userId it is not refreshing back to the user id input form.
    But if i test that simple callable object separately it is throwing an Exception when I give the wrong input..
    but the same thing is working fine using background callable object.
    I couldn't handle the exception for the simple callable object or executable callable object.
    Please If anyone bring me the solution that would be appreciated.
    Thanks in advance.
    Regards,
    Malar.

    Hi Shikhil
    Thanks for your reply
    Please have a look below for exceptions which i am getting in GP and let me know how to handle these exceptions.
    1) "Activity could not be read"
    2) "Action has been stopped"
    3) error while processing the item can not be displayed
    if you give any idea/clue how to handle these exceptions then it would be great help to me
    Thanks
    Sunil

  • How to handle an Exception in GP through webdunpro

    Hi,
    How to handle exception in WebDynpro GP callable objects.
    I created exception parameter in getdescription() method like
    IGPExceptionInfo processExc1 = technicalDescription.addProcessException("USER_NOT_FOUND");
      processExc1.setNameKey("USER_KEY");
      processExc1.setDescriptionKey("USER_DESCRIPTION_KEY");
      processExc1.setFatal(true);
    In my Process I have 2 levels, In block level i am able to see the above created exception using exception tab.
    I have created an action with same callable object mapped, this action is mapped to exception handler & selected an repeat option from dropdown.
    If any exception occurs in execute method(like UMException) how to call an  handler from coding. I tried this code to call a handler
    String localizedMessage =textAccessor.getText("USER_NOT_FOUND");
      wdThis.wdFireEventTechnicalException(new GPTechnicalCallableObjectException(logger,localizedMessage,e));
    this is not working...
    Can any one please bring me an Solution.
    Thanks in advance.
    Regards
    ThenMalar

    Hi Shikhil
    Thanks for your reply
    Please have a look below for exceptions which i am getting in GP and let me know how to handle these exceptions.
    1) "Activity could not be read"
    2) "Action has been stopped"
    3) error while processing the item can not be displayed
    if you give any idea/clue how to handle these exceptions then it would be great help to me
    Thanks
    Sunil

  • How to handle XScript Exceptions ?? HELP !!

    hey buddies !!!
    I am getting the following exception in the browser for some jsp that is using XSCript.
    "Caught exception when evaluating expression "MIDC PHASE II DOMBIVALI {E}" with available binding contexts [actionForm, pageFlow, globalApp, request, session, appication, pageContext, bundle, container, url, pageInput]. Root cause: com.bea.wlw.netui.script.xscript.IllegalContextStateException: The context "E" could not be found. "
    Its okay that i am gettign this exception but i want to to know how to handle this exception. I tried using a try catch block but it didnot catch the exception and it still showed on the screen. I want to know how to handle this exception in the jsp ...
    Please help me ...thanks a lot !!!
    Nikhiol

    Nikhil--
    Can you paste in the tag (with the attributes) that is throwing the expression?
    Are you trying to data bind to "{E}"? If so, that's not a supported NetUI data binding context
    and the exception is legit. There isn't really a way to "handle" it -- it's more of a runtime error
    that occurs during regular development. When the application is deployed, such exceptions shouldn't
    occur.
    <g>
    Eddie
    Nikhil Gonsalves wrote:
    hey buddies !!!
    I am getting the following exception in the browser for some jsp that is using XSCript.
    "Caught exception when evaluating expression "MIDC PHASE II DOMBIVALI {E}" with available binding contexts [actionForm, pageFlow, globalApp, request, session, appication, pageContext, bundle, container, url, pageInput]. Root cause: com.bea.wlw.netui.script.xscript.IllegalContextStateException: The context "E" could not be found. "
    Its okay that i am gettign this exception but i want to to know how to handle this exception. I tried using a try catch block but it didnot catch the exception and it still showed on the screen. I want to know how to handle this exception in the jsp ...
    Please help me ...thanks a lot !!!
    Nikhiol

  • Error handling in File - XI - SOAP scenario without BPM

    Hello!
    We have a File -> XI -> SOAP scenario without BPM. The problem is that if the Web Service sends back an error XI tries to reprocess the same message again and again instead of taking the next one.
    We do not want set the retry interval to NULL because most error cases are temporary connection problems and then also those messages would not automatically be reprocessed any more.
    We also have to use BE instead of EO, otherwise the Web Service will not return a response. But we need the response to be sure that the processing was successful. The message volume in this scenario is quite high and we do not want to use BPM only for the error handling.
    I know that from SP19 some additional adapter modules are available for async - sync scenarios without BPM. I tried to configure it like described in File - RFC - File without a BPM - Possible from SP 19. but it did not solve the problem. Does anybody have any other ideas? Thanks.
    Regards, Tanja

    Hi Tanja,
    >>>The volume is 3000 messages/day on business days and 700 messages/day during weekends but the traffic will increase in the future
    I think, you should check that out. It is assumedly only 2 days work to build a scenario:
    IDoc -> BP
    BP <-> SOAP/HTTP
    BP -> IDoc (Acknowledgement)
    In the process you need a condition branch, where you decide success or not. You need 2 Interface Mappings for filling the ALEAUD.
    Just send 1000 IDocs to the Test-XI and look to performance monitoring at Runtime Workbench, to find out, how many message will be processed in one hour. Assumedly 3000 and more per day should be possible. The advantage would be to reduce number of systems (no file system) and messages (better monitoring) and using the standard (better maintenance).
    >>>So you are suggesting I should use HTTP adapter and then add the SOAP header manually in a mapping?
    Yes, build the SOAP envelop during the mapping. Most easy is to use XSL or, if your mapping is ready, an additionsal XSL. You can put the error into the Acknowledgement to see it in ERP transaction WE02.
    Filling of ALEAUD fields:
    E1ADHDR/MESTYP: original message type
    E1ADHDR/E1STATE/DOCNUM: original IDoc number
    E1ADHDR/E1STATE/STATUS: 68 in case of error, 53 in case of success
    E1ADHDR/E1STATE/STATXT: Short description for R/3 user what has happend
    I ve done such a scenario several times. That works without any problems.
    Regards,
    Udo

  • Sync Async without BPM and JMS.

    Hi Guys,
    Searched SDN a lot but in vain...
    i have soap(Sync) to File(Async) synario...Soap response can have like this "PI system received message"..
    How can i, with out BPM?
    Thanks
    Prabhakar

    i have soap(Sync) to File(Async) synario...Soap response can have like this "PI system received message"..
    If the SOAP is mandatorily working in SYNC mode then the above solution wont work (SOAP --> XI --> SOAP)....this will be treated as two different calls for the SOAP and the solution would have worked for ASYNC flow.
    Why do you need PI system received message .... if i send a SOAP message and if it is successfully send from the SOAP application then I would get a 200 OK message which would indicate that everything was fine till sending the message to the XI/ PI system.
    If SYNC communication is needed then implement a BPM with a SYNC-ASYNC bridge.
    Regards,
    Abhishek.

  • Async Sync Bridge without BPM (Proxy-Soap-Idoc)

    Hi,
    I have read some blogs how to do the Async Sync Bridge without BPM for JMS adapters. I have a requirement that I am getting a Async Proxy message to PI and then PI makes Sync Soap call then the result need to send through the Idoc adapter.
    Proxy - Soap- Idoc
    Here Proxy is a sender so no adapter required in the Config and also Soap is java based adapter and Idoc adapter is a ABAP based so I am not sure this is possible but I just wanted to check with you.
    Please let know if this is possible or not?
    PI 7.1 with EHP1
    Thanks,
    Laxman
    Edited by: Laxman  Molugu on Oct 14, 2010 2:15 PM

    The mapping programm can be defined as a user defined function. As sample of mine is "getGoogle()", which is doing some kind of address validation. The input parameter URL[0] contains source address. For that you need to import:
    org.apache.commons.logging.*;
    org.w3c.dom.*;
    javax.xml.parsers.*;
    org.xml.sax.SAXException;
    org.apache.commons.httpclient.*;
    org.apache.commons.httpclient.methods.*;
    org.apache.commons.codec.*;
    org.apache.log4j.*;
    Example code for UDF "getGoogle()" is:
    String sUrl = "http://maps.google.de/maps/api/geocode/xml?address=" + URL[0] + "&sensor=false";
    HttpClient client = new HttpClient();
    GetMethod method = new GetMethod(sUrl);
    byte[] responseBody = null;
        try {
    //      int statusCode = client.executeMethod(method);
    //      byte[] responseBody = method.getResponseBody();
    //     result.addValue(new String(responseBody));
    String sResponse = "initial";
    int statusCode = client.executeMethod(method);
    responseBody = method.getResponseBody();
    ByteArrayInputStream bis = new ByteArrayInputStream(responseBody);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = factory.newDocumentBuilder();
    Document doc = db.parse(bis);
    doc.getDocumentElement().normalize();
    NodeList nodeLst = doc.getElementsByTagName("formatted_address");
    Node formAdr = nodeLst.item(0);
    NodeList nlFormAdr = formAdr.getChildNodes();
    sResponse = ((Node) nlFormAdr.item(0)).getNodeValue();
          // Deal with the response.
        result.addValue(sResponse);
        } catch (Exception e) {
          result.addValue(e.toString() + "######## exhrenda - googleResponse:############### URL=" + sUrl+"###########"+new String(responseBody));
        } finally {
          // Release the connection.
          method.releaseConnection();

  • Doubt on Aync-Sync Bridge without BPM

    I created a scenario using Aync-Sync Bridge without BPM:
    File(Asyn) => Rfc:BAPI_PO_CREATE1(Syn)
    1 which mode of message interface should be used in IR for File(Asyn)?
       Asyn or Syn?
    2 if syn MSG interface should be used in the above question,how can i return BAPI_PO_CREATE1.response which includes PO number to the sender?
    BTW:I had maintained the modules and their parameters(AF_Modules/RequestResponseBean and AF_Modules/ResponseOnewayBean)
    in RFC CC.
    Regards
    Ming

    Hi,
    1) You have to use synchronous interface.
    2) There will two message mappings(one request and one response) and one interface mapping between synchronous interface.
    3) All the corresponding modules should ve added in File sender communication channel not in RFC CC.
    Regards,
    Sudheer
    Message was edited by:
            Sudheer

  • How to handle system errors in XI using BPM? please help!

    Hi Experts,
         I have a requirement where I have to handle system errors. For example when I am making RFC call using RFC adapter if the remote destination is down then I have create a understandable error message and store it in another SAP table.
    How to handle it? I am using BPM. I can see that there is "Exceptions" in the send step. How to use this?
    Thanks
    Gopal

    Hi Gopalkrishna,
    In this case whenever you get Mapping Exception , you can raise an Exception with the help of BPM and you can send the status to the RFC. But with the help of BPM.
    For a Simple case refer:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/33/4a773f12f14a18e10000000a114084/frameset.htm
    If you want you can do it without a BPM
    and throw an exception in case any of the values is missing:
    have a look at this weblog on how to throw exceptions
    in a nice way:
    /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
    Also just go through <a href="/people/sap.user72/blog/2005/02/23/raising-exceptions-in-sap-xi-mapping Exceptions in SAP XI Mapping</a> and see if it helps you solve the problem.
    Also go through these links:
    http://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7f2243d711d1893e0000e8323c4f/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/68/253239bd1fa74ee10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/f2bbc8142c11d3b93a0000e8353423/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/5d/2166e6a91d11d188de0000e8216438/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/05/bb223905b61b0ae10000000a11402f/content.htm
    Please do let know if it helped.
    Regards,
    Abhy

  • 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

  • How to handle SYSTEM_NO_MEMORY exception

    Hello,
    is there a way to handle the SYSTM_NO_MEMORY exception in a Z-Program? I want to show the user an error message with hints how to prevent this short dump instead of having the system showing the short dump.
    I tried to use TRY-statement but until now I wasn't successful.
    Thank you for your help,
    Stefan

    Hi Stefan;
    It seems there is no way to handle that exception as it's memory problem during run time.
    Please try to free unusable internal tables in each subroutine.
    Regards
    Vindy

  • How to handle the Exception when RegisterEventProcessorAsync

    In our Cloud Service project, we have 2 instances for work role (deploy to Azure), the work role is consume events from the EventHub using EventProcessorHost).
    When we want to register EventProcessor to consume data (see below):
    await eventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
    Sometimes we will got the Exception:
    Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (412) There is
    currently a lease on the blob and no lease ID was specified in the request.. ---> System.Net.WebException: The remote server returned an error: (412)
    There is currently a lease on the blob and no lease ID was specified in the request..
      at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)
       at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpWebResponse resp, T retVal, StorageCommandBase`1 cmd, Exception ex)
       at Microsoft.WindowsAzure.Storage.Blob.CloudBlobSharedImpl.<DeleteBlobImpl>b__1b(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)
       at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)
       --- End of inner exception stack trace ---
       at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()
       at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndDeleteIfExists(IAsyncResult asyncResult)
       at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass1`1.<CreateCallback>b__0(IAsyncResult ar)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at Microsoft.ServiceBus.Messaging.BlobLeaseManager.<DeleteAllAsync>d__2a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ServiceBus.Messaging.EventProcessorHost.<InitializeAsync>d__4.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ServiceBus.Messaging.EventProcessorHost.<StartAsync>d__e.MoveNext()
       --- End of inner exception stack trace ---
       at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
       at System.Threading.Tasks.Task.Wait()
    at awaiteventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
    If we got the Exception, we won’t got messages any more.
    From the Call Stack, we found it was cause by delete the Blob. So we wonder that, when we call
    RegisterEventProcessorAsync,
    the hub will delete the blob and renew one in Storage?
    If we delete the blob for the EventHub manually and then run our server again. It worked as usual.
    But we can do it like this way manually, so is there any way to handle the exception in code to make the EventProcessorHost worked?
    Thanks so much!

    If we use different blob container name for different EventProcessorHost, is it a workaround for the issue?
       var
    eventProcessorHost = new
    EventProcessorHost(
                    hostName,
                    hubName,
                    consumerGroupName,
                    serviceBusConnectionString,
                    storageConnectionString,
    leaseContainerName);

Maybe you are looking for

  • 8310 - Not Receiving...

    Hey,  My BB 8310 just recently started doing this and it's very annoying... I can receive texts as soon as they are sent; however, sometimes there is a delay on any email, facebook notification, and myspace notification. On top of that, lets say I've

  • Got my daughter an ipod touch 4th and it wont dothe back up from itunes? I bought my other daughter an iphone 4 and its doing the same thing. Both are locking up itunes too.

    Got my daughter an ipod touch 4th and it wont dothe back up from itunes? I bought my other daughter an iphone 4 and its doing the same thing. Both are locking up itunes too. I tried the deactivate/activate that was suggested it still didnt work. I to

  • BALANCE SHEET WITH UNASSIGNED NODES

    First of all hello everybody, In spite of being involved with balance sheet and P&L query I´m facing a problem never had before. We´re using the virtual infocube 0FIGL_V10 and its own query provided by Business Content. Up to yesterday everything wor

  • Width of file in Application server

    Hi there, I downloaded a file in application server. In Appl server, it shows a part of data (part of records) which an internal table contains. When I download that file using CG3Y transaction, the file contains same data as it appears in Appl serve

  • How to delete entity-Data in the Database?

    Hello! Problem: I want to change the the Datatype of an attribute of an Entity-Service. Doing so and deploying the Application afterwards I get an deployment error, because of the changed Datatype. Undeploying the application doesn´t delete the Data