cancel
Showing results for 
Search instead for 
Did you mean: 

RFC to File Scenario..

Former Member
0 Kudos

All,

Quick question - im trying to configure a RFC to file scenario. Is there a step-by-step document somewhere. I did the steps as mentioned in few of the blogs (Michal's and others) and im kind of stuck in how to trigger the scenario?

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hey

have a look at the following

thanx

ahmad

Former Member
0 Kudos

the question i had was - (in this RFC to file scenario)

What would the interface/message type/data type for the remote function in the integration repository?

The remote function doesnt have any input parameter, only output values.

Former Member
0 Kudos

hey

for async RFC(as in ur case) u dont need any import parameters,therefore u have to explicitly make a outbound async interface using RFC request MT(u dont need MI for sync RFC tough)

thanx

ahmad

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Would also suggest having a look at this blog,

<a href="/people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous">Send RFC to SAP XI – Asynchronous</a>

Regards

Bhavesh

Former Member
0 Kudos

All,

Thanks for the replies. Im actually facing issue in the configuration of the scenario. Let me try to explain the scenario - There is an RFC that takes no input parameters and returns a table as output. We need to run the RFC through a report and send the output to PI, which will do mapping and send it to a FTP site.

1. There is an RFC object ZZ_TestRFCSender (there is no input parameter to this RFC, and there is a table ouput parameter)

2. I have a message type MT_FileOut

3. A message interface with MI_FileOut (Asyn, outbound)

4. There is a message mapping for ZZ_TestRFCSender.Response to MT_FileOut

The problem i have is when trying to do the interface mapping - ZZ_TestRFCSender to MI_FileOut, only the request for the RFC interface comes up and im not able to use the message mapping there..

any help would be appreciated.

Thanks.

Former Member
0 Kudos

Hey

did u create an outbound async Message interface using the RFC response message?

if not then do it coz then u will be able to see this MI in Interface mapping

Plz note,u need to explicitly create Message interface for async RFC but u dont need to create any Message interface for sync RFC

and one more thing ,ur interface mapping is wrong

it will be between

MI_RFC_outbound_async and MI_File_inbound_async.

thanx

ahmad

Message was edited by:

Ahmad

Former Member
0 Kudos

Hi Ahmad,

Thanks for the quick reply. I did as you mentioned in the post, from MI_Outbound_RFC_Async to MI_Inbound_File_Async.

When i run the report in R3, that runs the RFC and pushes the data out - i see an error in the SXMB_MONI saying - "No Receiver Case BE". And in the SXMB_MONI - the sender system isn DXXCLNT100, the sender interface is "ZZ_TestRFCSender", so it is not able to determine the receiver.

My current receiver determination is like -

Sender : DXXCLNT100

Sender Interface : MI_Outbound_RFC_Async

Receiver : FTPSystem

Receiver interface : MI_Inbound_File_Async.

Interface Mapping : MI_Outbound_RFC_Async to MI_Inbound_File_Async.

if i pick the sender interface as "ZZ_TestRFCSender", i will not be getting any interface mapping?

thanks for the help.

Former Member
0 Kudos

Hey

>>if i pick the sender interface as "ZZ_TestRFCSender", i will not be getting any interface mapping?

yeah,that correct u wont get any interface mapping coz u didn't do any for the ZZ_TestRFCSender:)

u actually crippled the RFC and are using only response of it so u will have to deal select MI_Outbound_RFC_Async instead of ZZ_TestRFCSender.

for ur scenario,XI knows only MI_Outbound_RFC_Async it does not know ZZ_TestRFCSender,so u can use only MI_Outbound_RFC_Async

>>the sender interface is "ZZ_TestRFCSender"

this is wrong,the sender interface is MI_Outbound_RFC_Async

thanx

ahmad

Former Member
0 Kudos

can i contact you by email to discuss this? Thanks again for the help.

or if you have a step by step doc for this scenario - you can email me at realogy2007@gmail.com

Thanks.

Former Member
0 Kudos

Yeah,u can e-mail me at ansari.xi@gmail.com

and i will try to find out on sdn if i can get hold of some screenshots for this scenario.

in the mean time u might also wanna have a look at ur RFC and FM to make sure its async.

thanx

ahmad

henrique_pinto
Active Contributor
0 Kudos

Hey thezone,

you can make it like this:

- create a "dummy" RFC, which is a function module with enabled remote access. In this dummy RFC, there should be no source code, only importing parameters (and these importing parameters are the ones you'll see in request message when importing the RFC into Integration Repository);

- create a RFC Destination of type T (TCP/IP) in SM59. Then, select it as "Registered Server Program" and use some string for the ProgramID field (best practice is to use ProgramID = RFC Destination name). Finally, enter hostname and gateway of RFC Server (which can be the same as of the web as abap where you have these objects). Gateway should be "sapgwXX" (with no quotes), where XX is the System number;

- this rfc should be called by the function module which is executed by your report. In the function module, use it like this:

    CALL FUNCTION '<rfc_name>'
      IN BACKGROUND TASK
      DESTINATION <rfc_dest_name>
      EXPORTING
        ...

where <rfc_name> is the name of the dummy rfc, <rfc_dest_name> is the name of the RFCDestination you created, and you export the parameters expected in Importing Parameters field of the dummy RFC;

- Import the dummy RFC in Integration Repository and use it for relevant mappings/interfaces;

- Finally, in Integration Directory, when creating the Sender RFC Adapter, Program ID should be the same of the RFC Destination you had created in SM59 of source system, and hostname/gateway should also be the same you inputed there.

Regards,

Henrique.

Answers (1)

Answers (1)

Former Member
0 Kudos

Had a follow up question. Sorry.