cancel
Showing results for 
Search instead for 
Did you mean: 

BPM: Call internal RFC

Former Member
0 Kudos

Hi guys,

Maybe this is a dumb question, but imagine this scenario, in a BPM we can call any RFC located in any R/3 system, but can we call an RFC in XI system?

I've tried to import the RFC but I wasn't able to do it... I thought it would be easier to run an internal RFC than to call an outside RFC, but it' seems to be really impossible...

Is there any way of doing it?

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

hi,

apart from "if it's possible"

why do you want to do it?

if you want to do any mapping based on XI tables

(use value mapping)

if you want to call RFC from XI - you can do it

in abap mapping)

can you tell first why do you need it ?

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>

Former Member
0 Kudos

Hi Michal,

Thanks for your quick response.

The question came up because I'm trying to get a way of having acess to some exception which ocurred during an RFC call to an R3 system.

Imagine the scenario, having a BPM, which has a async receive, a sync send (RFC to external R3) and a sync send. Well, I have exception branches for the sync send (RFC to R3), one for a fault message type which is caught and handled, and another one to any exception which is not caught but which was triggered by R3. For the first case we'll have a message on the R3 side on sxmb_moni. For the 2nd case we don't get any since it dumped.

Notwithstanding another question came up, eventhough we can raise the exception on R3, we can't map the fmt text which were raised on the BPM side. So to go around this problem, when this exception is raised, firing the BPM branch, I then call another RFC on the R3, on the R3 side which gets the fmt texts.

The thing is, I only get the exception which was handled, the other one, which for some any other reason dumped, we don't have any record on the R3 side. So, I thought why don't I built an RFC on the XI side to get the two cases.

I've done it and it's working, but now the problem is, how can I call it on the BPM side?

This discussion still relates to my closed thread related to BPM exceptions.

Thanks in advance

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

why don't you create an RFC wrapper

in R3 in which you'd handle the exceptions

and map them to the RFC.response?

would this be possible in your case?

and just use the exception handling in a BPM

in case the sync call would not be possible at all ?

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>

Former Member
0 Kudos

Hi Michal,

What do you mean by an RFC wrapper?

Relating to your second question, I can't map it to the RFC response because I only can catch the exception and eventhough I handle it on the BPM I don't have acess to the texts...

But relating to your preview suggestion, maybe I can use an ABAP mapping, creating a class which then would get the messages, just like my RFC, and map it to the output document....

MichalKrawczyk
Active Contributor
0 Kudos

hi,

>>>>What do you mean by an RFC wrapper?

>>>>Relating to your second question, I can't map it to the RFC response because I only can catch the exception and eventhough I handle it on the BPM I don't have acess to the texts...

RFC wrapper is an RFC that you put on the top

of the RFC that you use now

and it will catch all the exceptions

from your RFC and pass them as RFCwrapper.response

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>

Answers (0)