cancel
Showing results for 
Search instead for 
Did you mean: 

XI : RFC Response Mapping

Former Member
0 Kudos

Hi All,

I have an asynchronous scenario, RFC -> XI -> File.

I call my RFC thru' some program so whatever input parameters (import parameters) required for RFC are provided from program.

I JUST want parameters returned from RFC(export parameters) to be present in File.

Can somebody explain me how to achieve this?

Thanks & Regards,

-Smita

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi Smita,

take a second RFC function which is called in the first. The seconds input parameter has to be called with first output parameter. Just implemt that in the source code of first function. For second function u don't need any code.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Let me explain my problem more clearly.

There are not 2 RFCs, only one RFC is there.

This RFC is called from some ABAP PROGRAM.

So, import parameters required for RFC are provided while executing the program.

I want to map export parameters of RFC with some data type (which represents my file format).

I want to know how to map JUST RFC's response?

Thanks & Regards,

-Smita

udo_martens
Active Contributor
0 Kudos

Hi Smita,

as i understood u, u like to put the response of rfc call to a file?

Ok, if i'm right: Thats not so easy, because the synchonous response of an RFC is going 2 the RFC adapter (of course) and not 2 file adapter.

So my idea:

ABAP-Programm calls ur RFC.

The answer is going back to ABAP-Programm.

U change source code, calling a second RFC

with return paramter as input of second.

U call second RFC with destination 'XI' in background task (asynchronous).

U develop at IB second RFC -> File.

May be, I missunderstood u, i dont know...

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Thanks a lot!

It worked.

Best Regards,

-Smita

Answers (1)

Answers (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

take a look at:

how to configure RFC sender:

/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step

how to do RFC sync scenario:

/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit

REgards,

michal

Former Member
0 Kudos

Hi Michal,

Thanks for your inputs.

I am aware of configuring RFC Sender communication channel, creating RFC Destinations, etc.

I am actually facing problem in Integration Repository while creating mapping of RFC Response with my message type.

Could you please provide some help regarding this?

Thanks & Regards,

-Smita

MichalKrawczyk
Active Contributor
0 Kudos

use RFC(request) in your mapping not the RFC.request

Regards,

michal

Former Member
0 Kudos

Hi Michal,

I am already using RFC for my mapping and not 'RFC.Response'.

But, then file gets created with my IMPORT parameters only(i.e. input parameters which I only have passed to RFC).

I want EXPORT parameters of RFC to be displayed in file. i.e. after taking inputs, RFC has performed some operation and returned me some data. I want file to be created with that output data.

MichalKrawczyk
Active Contributor
0 Kudos

Hi Smita,

you have such an option:

you have to invoke a new RFC inside this one:

>>>RFC has performed some operation and returned me some data.

and pass parameters as "exporting" to this new RFC (and send the new one to XI)

Regards,

michal

Message was edited by: Michal Krawczyk

Former Member
0 Kudos

Hi,

In this case, you need to map 'RFC.Response' to the file

Regards

Vishnu

MichalKrawczyk
Active Contributor
0 Kudos

Hi Vishnu,

are you sure it makes sense?

how can you have response if you call RFC from

R/3 in the background?

even though it may be possible (is it?)

it doesn't make sense IMO

Regards,

michal

Former Member
0 Kudos

Hi Michal,

I try that here myself.. to find out, if something is possible..

but, I dont know if that was apt to this situation, cos I have not done this before.

I (& my collegue) dont get what could it be.

shall keep you all posted, if there is any success.

Regards

Vishnu

Former Member
0 Kudos

Hi Michal,

Thank you.

Problem is solved now.

Best Regards,

-Smita

Former Member
0 Kudos

Hi Michal,

What if we want async response of RFC? Like in my scenario I am having RFC Receiver where I am invoking RFC async.I had some validations inside RFC and I am returning a return code of success or failure.If the logic fails it should trigger alert in XI.For that I want async response to be processed.

For the same do I need to create another RFC sender to send the response back to XI or I can develop some kind of acknowledgement message or generate a sync RFC interface(which might be easiest way to do but just wanted to know the better way)?

Thanks in advance.

Regards

Rajeev

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

I'd do async RFC

but in this case you also don't use RFC.response paramaters but request

if you cannot correlate easily

and your process is very short then I'd do the sync call

but I prefere async return calls, (you don't need to worry about the time of the response)

Regards,

michal

Former Member
0 Kudos

Michal,

Thanks for the reply but how to get async response from RFC? Do we need to write another async RFC sender on R/3 side and receiver as BPM?

As far as I understand when Send step sends the async RFC message to RFC the process ends there and anything else would be a totally new process.

Regards

Rajeev

MichalKrawczyk
Active Contributor
0 Kudos

>>>Thanks for the reply but how to get async response from RFC? Do we need to write another async RFC sender on R/3 side and receiver as BPM?

you you have to start one RFC from the initial one

>>>As far as I understand when Send step sends the async RFC message to RFC the process ends there and anything else would be a totally new process.

just put a new receive step in your BPM after the send step and create a correlation

Regards,

michal