cancel
Showing results for 
Search instead for 
Did you mean: 

Multimapping: RFC+File to File

Former Member
0 Kudos

Hello,

I've read a lot of blogs about multimapping and BPMs but I don't know how to solve my problem yet.

I have an RFC in R3 that triggers data to XI. Then XI must receive that data and read a file with more data.

Once I have all the data I have to map to a target file.

My problem now is, how can I tell to XI to read the source flat file when it receives the R3 RFC data?

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hari:

My scenario is very similar that that but it's not the same, the whole process starts with the RFC and not with the source file. When the RFC is triggered, XI must read the source flat file and finally generate the target file with all the data

Sarvesh:

Hi, it's just a redundancy in my phrase... I wanted to remark that R3 sends the data, and then, obviously, XI receive the data from R3. Once the data from R3 is received, XI must read the source flat file and then do the mapping with the data of 2 sources.

Prateek:

Hi Prateek, I already know that link that you posted, but which is the way to force XI to read the source flat file once the RFC data is triggered from R3?

Former Member
0 Kudos

Anybody knows?

Former Member
0 Kudos

well... you have your starting process, the RFC ...and then you just make the request to the file adapter, what is the problem?

Former Member
0 Kudos

I don't know how (and where) can I do the request to the file adapter, that's my problem

Edited by: Marshal Oliveras on May 26, 2008 4:03 PM

henrique_pinto
Active Contributor
0 Kudos

>

> well... you have your starting process, the RFC ...and then you just make the request to the file adapter, what is the problem?

Maybe the problem is that simply the file adapter doesnt support requests?

It is read only (send file adapter) or write only (receiver file adapter).

The scenario will have to be changed.

If it is feasible to use correlations, you can start the bpm with the receiver from rfc (which sets the correlation), then receive step waits for file that matches the correlation set by 1st receiver, then you proceed.

If you do have to execute a "file query" (for example, if the pooling directory is defined by the rfc), you'll have to write a java or abap proxy that does it.

Regards,

Henrique.

Former Member
0 Kudos

Thanks Henrique, you confirmed my suspicions about file adapter requests...

I'm not sure if I've understood your proposal...let's check if I'm right:

You have 2 possible solutions isn't it?

1 - File adapter is reading the file periodically but not mapping unless the BPM is waiting before RFC has been triggered. I'm right? I don't know how the correlations work in BPM but that solution is not good for me because the file is huge and XI will saturate the net if it's reading it all the time.

2 - Execute a "file query". That solution is what I'm looking for. I know how to create an ABAP proxy but I don't know how to do the scenario.

Is something like that? RFC - PROXY - READ FILE - MAPPING - WRITE FILE?

henrique_pinto
Active Contributor
0 Kudos

The proxy will have to read the file (through a open data set command, for example) and return the response message with the read data.

If you know some abap coding, you dont even need mapping.

Just define the response message of your interface with the desired structure for your file xml message.

In the abap proxy code, read the file content and fill the proxy structure tags.

The scenario would be like rfc (async) -> bpm -> sync proxy (read and return file data) -> back to bpm -> file (async).

Regards,

Henrique.

Former Member
0 Kudos

Thanks Henrique,

I really appreciate your help but I thought it was possible to read the file using the file adapter, I don't understand why SAP doesn't allow to request the adapter...

Now I have a solution very similar than yours, but instead of using an ABAP proxy, I've used ABAP Mapping and in the mapping class I read the source file and then I generate the output file.

The result is the same than your solution but the mapping it's done in the same code.

But that solution is not enough for me... the reasons are too much difficult to explain here, but it's a pity that it's not possible to read the file through file adapter by request.

Thank you very much anyway.

prateek
Active Contributor
0 Kudos

U have to serialize the receive steps. Just mark the first RFC receive with Start Process

http://help.sap.com/saphelp_nw04/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm

Regards,

Prateek

Former Member
0 Kudos

Hi,

Can you elaborate this "I have an RFC in R3 that triggers data to XI. Then XI must receive that data and read a file with more data."

I didn't get your meaning coz when you triger the RFC in R/3 it will send the data to XI (source side) and then mapping will be executed and desired result will be there.

What is the meaning of "Then XI must receive that data and read a file with more data."

Regards,

Sarvesh

Former Member
0 Kudos

HI,

it is File>RFC>File using BPM then refer this blog.

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

REGARDS