RFC Exception handling in BPM

Hi All,
I currently have a scenario where I receive an IDoc, then need to make an RFC call to another R/3 system to get some additional data, and then transform and send the resulting message out to another system.  There is a possible case where the R/3 system will send back a fault message with some meaningful text which we would like to map to a Status IDoc to send back to the source system.  The problem is, I can't seem to find a way to be able to use the fault message in a map in the BPM.
Is this a limitation of XI, or is there some way to get this fault message into the BPM?

Fault message propagation still functions the same for BPM....now instead of populating it as a Fault message can you ask the end system to populate the error (if any) as a response....may be the response RFC will be required to have the error structure.
Now in BPM decide whether this is an error....if yes then create the IDOC....if not then discard the message.
In one of my project requirements we had a similar req wherein there was proxy at receiving end....we updated the proxy (ASYNC) and if any error then another proxy would be populated giving error details (in case there was an error)....both the flows ASYNC....once we got the details we would do further processing.
Regards,
Abhishek.

Similar Messages

  • Exception handling without BPM

    Hello,
    I have done exception handling with BPM.
    i.e. when there exception comes in mapping I have use Block  Exception Handler.
    Can this be done without BPM.
    Please snd me blog for it.
    Regards

    Hi,
    As explained by Michal it is correct, but in message mapping , we can raise an alert .
    See the below links
    Alerts with variables from the messages payload (XI) - UPDATED - /people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
    Triggering XI Alerts from a User Defined Function - /people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
    Regards
    Chilla

  • BPM - RFC exception handling

    Hi,
    I have a Syn-RFC call in my BPM. I would appreciate help regarding the exception handling on the RFC.
    Ideally the RETURN parameter in RFC will be populated if theres an error. The BPM needs to check if there are entries in RETURN, if so then stall the message in MONI as error and mail support with contents of RETURN. only if RETURN is empty (success), it should go ahead with next step.
    Thanks.

    What ERP version are you working with?
    If 4.7+, consider using ABAP Proxy instead of RFC.
    There, you can define a fault message in the interface and it will be triggered if there is an exception at server application.
    Regards,
    Henrique.

  • 11g ADF TaskFlow Exception Handling in BPM

    Hi Guys
    BPM 11g
    I have a human task that is implemented as an ADF task flow. I would like to be able to throw an exception from the ADF application and have it handled by the BPM process, does anyone know if this is possible or how I would do that?
    At the moment I have an ADF error page - I could return an "error" outcome to the process from that but an error is an error and it feels right to show that in the process instead of a normal outcome.
    anyone else worked through this?
    cheers,
    Steve

    help yourself with this thread - Re: Exception Handling
    it should answer your question

  • RFC: Exception handling

    Hi there,
    after playing a bit with external xml files provided by my
    application i'm ready to go to the next topic on my ToDo-List.
    How could one implement a good and stable technique for
    exception handling? I'm talking about the interaction from spry to
    our Web Framework which throws an error sometimes.
    My current idea is that the server side framework could
    return some kind of Error XML format which contains the exception
    message and so on. This would require functions on client side to
    precheck the server output.
    Imho the best place for this is inside the XMLDataSet
    constructor. When catching some bad XML file internal error
    messages could be send using the already existing techniques OR by
    providing an public function which then should be overriden by an
    selfwritten one, e.g. to put it into my own `error box`.
    Also, some kind of internal statemachine in XMLDataSet may
    help a lot. That way each access to functions which aren't working
    at the moment could be loggend and catched by an selfwritten
    function.
    I hope you get the idea,
    what do you think?
    Best regards,
    Sebastian

    Better error handling and error handling hooks is on the list
    of things to do.
    The way I see it, there are several types of errors that can
    occur:
    1. Server returns valid XML, but it's XML that describes an
    error instead of the data requested.
    - I believe this is what Sebastian was mentioning. I was
    actually thinking of allowing a hook for developers to catch and
    handle this case and perhaps leverage the states mechanism to let
    them change the dynamic region markup used to display the error
    since the data references in this error XML would be different.
    2. The server returns an error. (Invalid URL or Server Error)
    - This could be handled with states, but we need to expose
    some data references, or set the data set to contain a known data
    set schema that would allow the designer to show more info about
    the error.
    3. The server returns XML but uses a mime-type that is not
    understood by Spy or the XML parsing code built-into the browser.
    - I believe it was Doug [?] that had a patch that *always*
    forced the data set to try and parse the XML string in the response
    if the response didn't contain an XML DOM. My one paranoia about
    that is that the server could actually be returning something that
    is not XML, in which we would still fail and perhaps choke
    somewhere else. I need to do some testing in that area.
    I was thinking perhaps we should add something to the
    XMLDataSet constructor that allowed a user to specify mime-types
    for formats they knew were XML, but didn't use one of the standard
    XML formats.
    4. The browser chokes on "not-well-formed" XML.
    - This is an interesting problem. IE silently fails when the
    parser chokes, but Mozilla creates an XML DOM tree that reports the
    error which does *not* match the XML string from the request
    response. I had to add code to spry to detect when this happens.
    5. An exception is thrown during Spry processing of XML data.
    - This will require more programming on our part to handle
    more cases.
    --== Kin ==--

  • Asynchronus RFC  exception handling

    Hi,
    I have scenario File-XI-RFC.I have created an RFC enabled FM in R/3 and raising an exception if some errors occurs.I want that exception should be visible in sxmb_moni when RFC raises that exception.I am not using
    BPM.How can I use Fault message for this in my scenario.
    Any help will be appericiated.
    Thanx
    Rekha

    Hi Michal,
    I have seen that thread.It seems similar to my scenario except I dont have to send the response back.I want to have that fault message in SXMB_moni for monitoring.
    How I will achive the step3 in my case.
    This is my scenario.
    Outboundinterface-FILEMI   "To pick data from file
    Inboundinterface - ZRFC_TST.
    >>Step3: In interface mapping with target interface as ZRFC_Tst you will have to do three mappings
    >>3.1 Request
    This is ok I will map my FILEMI - ZRFC_tst.
    >>3.2 Response : map result
    What will be my source and target interface?
    >>3.3 Fault
    >>map zrfc_tst.Exception to FaultMessage
    What will be my source and target interface?
    How will I handle these three interface mapping in Interface determination in configuration?I dont have to send back  response and exception back to any system.Instead  I will keep them in monitoring.
    I can see this in sap help for fault message type but how we will achieve it.
    The fault message of the application for an asynchronous inbound interface is persisted for monitoring.
    Thanx for the reply and hope to hear from you on this.
    Rekha.

  • Exception handling in BPM and ABAP mapping

    Hello all,
    We have a BPM with this structure:
    . REC (receiver)
    . <begin BLOCK1>
      . TRANSFORMATION1 (Abap Mapping)
      . <begin EXCEPT> (exception branch)
        . CONTROL (Cancel Process)
    . <end EXCEPT>
    . <end BLOCK1>
    The same exception is assigned to the block; to the mapping and to exception branch.
    The problem is that, when in the Abap Mapping the exception CX_MAPPING_FAULT is raised, the exception branch seems to be ignored and so, the BPM doesn't finish.
    This problem only occurs in some of ours BPMs, because the same thing, when done in other BPMs, works fine.
    I know i can change the BPM to turn around this problem, but i would very much like to know the solution to this.
    Please, help us with this posting.
    thanks in advance
    Filipe Barreira

    Hi again,
    We are in SP19, witch invalidates the note 921757 listed.
    Also, i made an abap mapping witch only raises the exception. So i think it is not an ABAP error.
    Also the XML seems to be correct, because this is a duplicates check routine. A message (with the same data) already entered previously (we trying to avoid another entry).
    In the trace analysis for the message, it is stated that the exception has occurred:
      <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping-Namespace:http://xi.es/suministros</Trace>
      <Trace level="1" type="T">Mapping-Name:IM_SALIDAS_TESTE1</Trace>
      <Trace level="1" type="T">Mapping-SWCV:7CE651C00ABC11DBCBF0C8E8C0A901F6</Trace>
      <Trace level="1" type="T">Mapping-Step:1</Trace>
      <Trace level="1" type="T">Mapping-Type:R3_ABAP</Trace>
      <Trace level="1" type="T">Mapping-Program:ZCLTD_MM_SALIDAS_CARGA_TESTE</Trace>
      <Trace level="1" type="T">Creating Abap mapping. Classname =ZCLTD_MM_SALIDAS_CARGA_TESTE</Trace>
      <Trace level="1" type="T">CALL APPLICATION MAPPING.</Trace>
      <Trace level="1" type="T">Application error in mapping program ZCLTD_MM_SALIDAS_CARGA_TESTE, error code: , error text:</Trace>
      </MappingTrace>
    the problem is that the process keeps running.
    regards Filipe Barreira

  • Exception Handling in BPM

    Hello,
    1. I have created a block step B
    2. I have created a ReceiverDetermination and send step(S) inside Block B  .
    3. I have created ExceptionHandler EH.
    4. I have assigned this ExceptionHandler EH  in the send Block Exceptions-SystemError.
    5. In ExceptionHandler EH ,i have created a controlstep for throwing Alert .
    Problem i am facing now is when an error occurs in send step it is not throwing Exception.
    Did i missed something.
    Thanks in Advance for responses
    Rajesh

    Hello All,
                    Thanks for your replies,but in my case i have defined the ExceptionHandler and assigned the ExceptionName (EH) to the send step Exceptions-SystemError property ,and when i run the BPM scenario at the send error occured and it has to go to ExceptionHandler block which is not happening and i am seeing error at block as NoAgent error and i searched the forum for this error category and
    deleted all the BPM Instances and activated the Integration process but in vain ,
    I tried to throw exception intentionally and which worked well'
    Overall when an error occured at send it is not going to ExceptionHandling branch,What might be wrong
    I think send asynchronous step is capable of raising systemErrors right???
    Million dollars for the replies
    Waiting for responses
    -Rajesh

  • Exception Handling in BPM:Access to Fault Mex in Exception branch

    Hi Guys,
    After the synchronous sent (in my case is to SOAP adapter)I intercept the exception.
    Unfortunately I cannot send back the fault to the Caller since
    the used called function has no exception defined,therefore I need
    to handle  exception and do something depending on the error back.
    Ant suggestions?
    thanks in advance
    regards,
    Giamma

    Actually I map the fault of the web service to a XI SOAP fault.
    The mapping back for the fault is called nevertheless I get an error
    (Attribute prefix 'xsi' is not mapped to a namespace(:main:, row:1, col:90))
    as I written in the following trace.
    Did you have any suggestions regarding the issue?
    thanks.
    Regards,
    Giammaria Pace
    <Trace level="1" type="T">Interface Mapping http://postel.it/eProcurement/Catalogo IM_mapping_pro_fault</Trace>
      <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_Mapping_FaultversoBPI_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Attribute prefix 'xsi' is not mapped to a namespace(:main:, row:1, col:90) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:37) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at

  • Exception Handling in BPMs

    Hello,
    I guess this topic was already discussed here, but I couldn't find any sufficient answer to my problem.
    I have a simple asynchronous send-step in my BPM. I'd like the BPM to move into an exception branch if the send step fails due to a sending error (e.g. the target url is not correct). But unfortunately in case of such a sending error the BPM ignores the exception branch and continues the normal path. I have no Idea why it does not work properly.
    Thx for ideas in advance.
    Regards.
    Oliver.

    hi,
    did you specify the use of exception in your send step?
    or did you only define it in the block step?
    have a look at this example:
    http://help.sap.com/saphelp_nw04/helpdata/en/33/4a773f12f14a18e10000000a114084/content.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Exception thrown by RFC To be handled in BPM

    Hi All ,
    I am trying the scenario.
    Http Client -> XI-->BPM -
    > RFC
                <-   <--    <------- 
    The whole communication is Synchronous.
    So I  have
    One Outbound  Synchronous Interface
    One Inbound  Synchronous Interface.
    Two Abstract  Synchronous Interface for  BPM.
    And  4  Abstract Asynchronous Interfaces for the containers which is to used in BPM.
    (Two for request and two for response )
    For simple Request Response Messages from the RFC my Scenario is working perfectly.
    But  I  Introduced  an Exception in RFC, So my Rfc is Throwing an Exception Message which needs to be returned back to Http Client.
    Now my problem is only Synchronous interfaces have the option of  fault messages in which the  exception  message can be included. So how do I pass the Exception message to Http Client via BPM , Because Containers require Asynchronous Interfaces and they are not accepting fault messages.
    Has Anyone tried this kind of exception handling in BPM,
    Please Help Me.
    Yomesh.

    Hi Saravana,
    first of all thanks for ur reply,
    In my scenario there are two reciever systems(SAP and JDE) and call to both the systems is synchronous. I am merging the responses from both systems into one using BPM. Thats why I needed BPM.
    Now About exception handling that is required because if response from one system is not there then also the BPM process should not terminate .It should give the output from other system and an error message for first one to the HTTP client.
    I think now the scenario is clear for you,
    Please see if you can help me with that.
    Thanks,
    Yomesh

  • BPM Exception Handling control step

    Hi,
    Does anybody have any idea, whats the variable we need to pass in the control step of exception handling  in BPM? and how to map the error message back to the RFC Response.
    I had Transformation step, in that mapping is also there.
    Is there any ideas??.
    Thanks,
    Raj.

    Hi,
    The requirement was to send the exception that occured to a target (say file).
    <i>insert a block for the exception</i>
    You cannot place an exception step without a block right... thats what i mean by the above statement.
    Now, just after the exception has taken place, if i put a transformation step, and a send step, you will be taking care of sending the exception message to the target.
    <i>how to build the exception message ? It should map from what?</i>
    You could build a data type for the exception.
    In the mapping, you could map it to constants. For ex:
    if you build your DT as
    <excep>
    <code/>
    <desc/>
    </excep>
    You could map the description to a constant string "timeout".
    After this, the send step will send the message to the file, through the abstract interface that you create.
    Regards,
    Smitha.

  • How to implement Exception Handling error in IDoc to File and RFC to File

    Hi,
    We are implementing the two below scenarios :
    1. IDOC to File
    2. RFC to File
    We have to implement the Exception Handling for the above two cases. Kindly could you provide the inputs to implement the Exception Handling for the above two cases.
    Please provide the precious inputs to implement this.
    Thanks,
    Ramesh

    Hi Ramesh,
    The exception handling for idocs
    http://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7f1543d711d1893e0000e8323c4f/frameset.htm
    Exception handling in File to IDoc Scenario
    For RFCs
    Re: Passing SAP Exceptions to a sync SOAP Call
    Error Handling when using RFC
    Exception Handling while Calling RFC - BPM
    handle exceptions in remote function modules
    Regards,
    Prateek

  • Synchronous RFC exception BPM

    Anybody has successfully getting the RFC.exception in a synchronous call via BPM? What i mean, is to get the RFC.exception then use it inside BPM.
    I have already searched the forum, and i think nobody have done it before. Any clue guys??? Thank you very much in advanced....

    Sorry, i still dont get it. Here i will illustrate my problem.
    I got an abstract sync message interface (lets call it: MIAS_RFC) with structure like this:
    1. Output Msg: From RFC
    2. Response Msg: From RFC.response
    3. Fault Message: From RFC.exception
    I use MIAS_RFC in a SEND node in my BPM inside a block with exception handler branch for my RFC exception handling.
    My purpose is to map the RFC.exception to other message interface abstract async inside the exception handler.
    How can i do this? You said earlier that i should create another sync abstract message interface (MIAS) then use it in a mapping...Am i correct? Could you please describe to me more detail (sorry about this ) Thank you so much....

  • Exception handling branch not executing in BPM

    Hi all,
    We have a problem with exception handling in BPMs.
    We have created an exception branch in a block and a transformation step in it.  However, the branch doesn't get executed in case of exceptions.
    Any ideas?  Is this a known problem?
    Many thanks,
    Aldo

    Hi VJ,
    The exception name can only be selected from a list.  There is no chance of mistaking/misspelling in there.
    That is fine as it is.  I am quite sure about it.
    Any other ideas?
    I found SAP note 1039330 but we are already on patch 12 and that correction was released on patch 12.
    Thanks, regards,
    Aldo

Maybe you are looking for