cancel
Showing results for 
Search instead for 
Did you mean: 

FILE to multiple BAPI/RFC calls

Former Member
0 Kudos

Hi,

I have one input source (CSV with about 100 rows) and I wish to call a custom rfc for each row in my spreadsheet. (The custom RFC has a single flat import structure as opposed to a table or anything complex).

I am struggling to do this in XI.

I assumed I needed to assign one source to multiple targets in the Message interfaces, but this errors on activation due to the RFC occurrence being set to 1.

Do I need to do the same trick as with IDOCS or am I missing the point somewhere?

I have read several threads and one in particular seems to indicate it is possible, but so far this has evaded me.

Please could you point me in the right direction.

Thanks

Andrew

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Bhavesh,

Thanks for your comments. It is definately async, I want to avoid the BPM

I had reviewed blog /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

already but I took this to mean one message to 2 messages, not a repeating call for the same BAPI.

Am I missing the point?

Regards

Andrew

bhavesh_kantilal
Active Contributor
0 Kudos

The blog Multi Mappuing without BPM will certainly help in your case.

The example shown in the blog shows multiple messages , but multimapping without BPM can also be used in case of Single Message with N occurences have to be sent to the Adapter Engine.

All you would need to do is ,

1. Change occurence of RFC as 0to unbounded in Message Mapping and the Inbound Asynch Message interface's occurence to 0.. unbounded in Interface Mapping.

Regards

Bhavesh

Answers (3)

Answers (3)

nisarkhan_n
Active Contributor
0 Kudos

you are trying to send the 100 records to the same custom RFC right and BAPI?

if so then proceed the normal way of deiggn and configuration, use the multiple recivers and import each of the structure in the mapping and treat this as 2 spereate design....

else

if in runtime it should go to only 1 structure and if reicever is 1 the you can use the multimapping.

can you explain the requirenmt more clearly and let us know wht's the error you are getting when you activate as you had mentioned

Former Member
0 Kudos

Andrew,

You could read the CSV file into an Integration Process

Save the message in a multiline container (in your case 100 rows)

Create a block

Create another container to hold the single row defined within this block

Set the following for the block

<b>Step Name</b> eg SplitForRFC

<b>Mode</b> ParForEach

<b>Multiline Element</b> Multiline container defined above

<b>Current Line</b> Single line container defined above

The <b>Mode</b> 'ParForEach' acts like a loop

Then within the block create a synchronous Send step which calls your RFC

<b>Design</b>

I would question having to make 100 RFC calls

If possible change the design so that the RFC interface can accept multiple messages and the RFC logic to loop through them and process the messages one at a time

Regards,

Mike

bhavesh_kantilal
Active Contributor
0 Kudos

Is this going to be an Asynch Call or a Synch Call?

If it is a Asynch Call you can use MultiMapping without BPM ( check the blog of similar title on SDN ).

If synch - either use a BPM or, change the RFC to have a table strcuture so that a single call can have all the requests. I would suggest you make the change to the RFC

Regards

Bhavesh