cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Exceptions BPM

Former Member
0 Kudos

Hello,

I've a BPM. In a send step, i call a RFC. This RFC have response and exception. How can i do to collect both, step only have a one response message.

Thanks and regards,

Silvia

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

If you are referring fault message, then it is not possible using bpm. BPM  supports only request and response message not fault message. The workaround is use the response as fault message.

Former Member
0 Kudos

Thanks Baskar,

No way to catch the exception which gives the function?. I would treat it like a wrong answer (response message) and no failure of the interface (which is what he does when it detects that the RFC Returns a exception). Any idea for do it?

baskar_gopalakrishnan2
Active Contributor
0 Kudos

ccbpm does not support fault message currently.  This is bpm's limitation. The approach is use the response and there you send the message as success or failure. This way you know after reading the response whether it is success or not. But monitoring purpose this wont be helpful at all. Because you see success flag even for response with failure message response. There is no way to handle this.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Silvia,

As far as I understand, when RFC is called, it returns a "RETURN TABLE" which can be used to manipulate the message you want to create at output.

If the return table returns "E" then essentially, the RFC has returned an exception and the work is not committed in the Target System ( Transaction is rolled back)

Now to achieve what you require please try the following:

Send(Synchronous Step)->Transformation->Switch Step->STOP

Now in the transformation Step have two different messages[Message 1 -> ResponseSuccess and Message 2-> ResponseFail] as Target and Source Message is the RFC Response. Now use a UDF to split the Exception using the Return Table's "E" Value. Make Message one when node TYPE in Return table is not "E" and make message two when node TYPE is "E".

Switch Step -> Branch one condition is existence of any node in ResponseSucess message and Branch two condition is existence of any node in ResponseFailure message.

In this way, the BPM would not fail due to exception and instead a message would be created as required.

I hope this helps.

Regards,

Tejas Bisen