cancel
Showing results for 
Search instead for 
Did you mean: 

File - Split File - RFC - File using BPM

Former Member
0 Kudos

Hi,

I have a scenario to send file from source system which will be splitted (1:N Transformation) in BPM then each splitted file will be send to RFC which eventually send response to create output file in target system.

I have completed steps to split file following this link: http://www.riyaz.net/blog/xipi-1n-multi-mapping-using-bpm/

Here is my integration process for split file <a href="http://www.imagecross.com/07/image-hosting-view-08.php?id=33031.png">http://www.imagecross.com/07/image-hosting-view-08.php?id=33031.png</a> . I have tested it and it works correctly, 1 input file can be splitted into many output files.

Then, I try to add BPM step to get each file message and send to RFC after that i'll get response from RFC and write into a file at target system. Now, I got a problem.From the monitoring, it shows that "Permanent error in BPE inbound processing". Here is my integration process after add step to send data to RFC -> http://www.imagecross.com/07/image-hosting-view-08.php?id=73002.png

In my integration process, I have 3 send step.

Step 1: Send Splitted file (Async) (Used for splitting file)

Step 2: Send splitted file to RFC (Sync)

Stpe 3: Send Response from RFC to file (Async)

I'm not sure what is the problem. Any help and suggestion would be highly appreciated.

Thanks,

Pavin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

What is the requirement for 3 send step.

Sync send step can bring the response to you and you can map the response to get it out.

Another thing when you do 1:N mapping each file is separated. Which file you are sending to RFC and getting the response and what about the remaining files.

Now if i understand your requirement correctly. You can use fork to create 3 branches. Each can have a transformation to make Sync RFC call and get the response. Now if you want to collect the complete response do a N:1 mapping and get the file out. In case separate responses then 3 send step in each branch.

Thanks

Gaurav

Former Member
0 Kudos

Hi,

For the 3rd send step, I just want to send response from RFC into xml file to target system.

I want to use 1:N transformation then after that N files will be sent to RFC. The number of N depends on number of records in source file ,so i don't think it is possible to use folks because i don't know the numbers of separated file. Moreover, I want to send separated file to RFC one by one by sequential. Second file can be sent to RFC only after BPM receive response from RFC of the first file.

Any suggestion?

Thanks,

Pavin

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

Thank you very much for all suggestions. However, I have decided to go for another solution to leave BPM and use ABAP in RFC to fulfill my requirement. Point rewarded.

Regards,

Pavin

Former Member
0 Kudos

Any comment from anyone?

Thanks,

Pavin

prasad_ulagappan2
Contributor
0 Kudos

I am not sure abt ur requirement, if following is your req, then I can suggest you to do it with some simple steps...

Sender will send a file and using 1:N transformation it will be splitted and each splited message will be exectuted a RFC get a response and send it to the target...

If this is the case, you can do it with some simple steps itself...In the mapping itself (while doing transformation in BPM), call the RFC (just like a lookup) get the response and map it to the target...I guess this would be the simplest option you can go with...

Former Member
0 Kudos

Hi...

I have done the same type of scenario. (1:N)

Single file contains multiple records and this file should be splitted and send to RFC request right.You need to get multiple RFC responses and the responses are places in the output file.

There is a problem in your BPM. So it is showing permanate error. If there is a problem in mapping also it will show the error.

While mapping change the RFC Request and Response cardinailty as 0....unbounded.

Follow the below steps.

1. Receive

2. Transformation (Splitting) (Sourcemessage-1, target message -- 0...Unbounded)

3. Transformation( Request Mapping) (Source Message and Traget message -


0..unbounded)

4. Block

5.Synchronous Send

6.Container

7.end block

8. Transformation(Response Mapping)( Source Message ---0...unbounded, Target Message.....1)

9. send

Regards,

Leela

Former Member
0 Kudos

Hi,

My scenario is a bit different because each splitted file must be executed by RFC one by one in sequential and response from RFC will produce different file at target system. How should my BPM look like?

May be ?

1. Receive

2. Transform (Splitting)

Start of For each block

3. Transform (Request Mapping)

4. Send synchronous to RFC

5. Transform (Response Mapping)

6. Send

end of block

Please correct me if i'm wrong.

Thanks,

Pavin

aashish_sinha
Active Contributor
0 Kudos

Hi,

May be ?

1. Receive

2. Transform (Splitting)

Start of For each block

3. Transform (Request Mapping)

4. Send synchronous to RFC

5. Transform (Response Mapping)

6. Send

end of block

Receive Step --- > Good To get data from source directory Async

Transform ---> Good No problem... Put it in a container... all steps with this and after this before last send Async.

Send Synchronous to RFC ---> Good... To send the Requst Structure of a single file after transformation step one by one data for RFC. and get the response back.

Send Step ---> Send Response of RFC to Target location..

These are only steps you need to do to send your data to desired place after RFC call and all. So, may be you need some transformation for Splitting file and send it to RFC.

All steps are correct.. you will need 2 send as one is Sync and one Async and one receive.

Regards

Aashish Sinha