cancel
Showing results for 
Search instead for 
Did you mean: 

From ONE file to Many IDocs in many systems

Former Member
0 Kudos

Hi,

In my scenario i have the input file like below

HEADER;EMPNO;EMPNAME;TARGETSYSTEM

ITEMHEADER;DESG;LEVEL

HEADER;EMPNO;EMPNAME;TARGETSYSTEM

ITEMHEADER;DESG;LEVEL

HEADER;EMPNO;EMPNAME;TARGETSYSTEM

ITEMHEADER;DESG;LEVEL

Here TARGETSYSTEM values are SAPG1,SAPG2 and SAPG3

for each one HEADER and ITEMHEADER i have to create one idoc in the respective receiver system based on the TARGETSYSTEM value.

Based on the TARGETSYSTEM value, idocs should be created in to the respective system.

But problem is :

Its creating 3 idocs in first system, same 3 idocs in second system and same 3 idocs in third system also.

But i want to create one idoc in 1st system and second idoc in 2nd system and third idoc in 3rd system based on the TARGETSYSTEM value.

please help me, how to solve this problem

Thanks & Regards,

Vijji

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Vijaya laksmi,

I have seen ur question.

appriciate for doing file to muliple idocs first

without BPM, u can do this scenario ok

but while doing this scenario, u have to do idoc with max occurence ie first, after importing idoc, u have to export to xml file and change occurence inplace of "min occurence " write " min. occurence and Max. occurnce=" and then import this in External definition then u can use this in scenario for multiple idoc. Here don't require more interface mappings ok. u can do this only with one interface mapping. while generating idoc, at the time u have to save and send as multiple idocs how many u have to send to receiver systems just give the no how many idocs.

Even though you won't get it i will send file to multiple idoc scenario ok

all the best

regards

Peera

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi Raj,

I have gone thru the scenario. It is possible by using Context Object. Here u need to define various systems without connectivity between the receivers by click the options in the below bar option "New Condition". So that every system will have its own condition and receive the data from source.

Ram Narender

former_member187587
Contributor
0 Kudos

Hi Vijaya,

Use a file with content conversion.

This will allow you to split the file even before the mapping step.

use the parameter "recordset per message" =1 and define the record set like this

HEADER;EMPNO;EMPNAME;TARGETSYSTEM

ITEMHEADER;DESG;LEVEL

Now you can use context objects and use the field of the target system.

This will create a message for each Idoc for each system....

Good luck.

Nimrod.G

RameshGulipall
Active Participant
0 Kudos

Hi Vijay laxmi,

Can you try with <b>COPYVALUE</b> function.May be it is usefull for reslove the issue.

Regards,

Ramesh.

Former Member
0 Kudos

Check these blogs,

Convert any flat file to any Idoc-Java Mapping

/people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping

File to Multiple IDocs (XSLT Mapping)

/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping

Any thing resolved.

Cheers

*RAJ*

Former Member
0 Kudos

No Rajesh,

I have to solve without using BPM.

Is it possible to achiveve, If i create 35 Interface Mappings for this,

Please give me some solutione.

Regards,

Vijji.

Former Member
0 Kudos

Hi,

That will complicate the entire scenario .

Go for <b>1:N</b> mapping

/people/sravya.talanki2/blog/2006/12/26/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-ii

<b>Cheers,

*RAJ*</b>

Former Member
0 Kudos

Viji,

There is a work around for BPM in this case. But it could only be more performant heavy than using a BPM.

The work around I could see here is

Use 35 Business Systemms/services (one each for a target) and each receiver will have its own interface mapping.

But the better option would be to use a BPM and the steps in BPM

1. Receive (Asynch)-Input File

2. Transformation (Split into N number of IDOCS - Use multi mapping)

3. Send (Asynch) - Use condition here in Rxr determination.

Let me know if you need more inputs on this.

Regards,

Jai Shankar

Former Member
0 Kudos

Hi,

Did u try defining context object for target system then do condition based receiver determination >?

<b>Cheers,

*RAJ*</b>

Former Member
0 Kudos

Hi Raj,

I have tried context object also, here also i am getting same problem.

Regards,

Vijji

Former Member
0 Kudos

Hi,

Better use a BPM with a switch step. condition TARGETSYSTEM = sapg1 go to branch receiver One same with others.

<b>Cheers,

*RAJ*</b>

Former Member
0 Kudos

But i have to solve without using BPM.

So can u please tell me other solution which can be solved using normal scenario.

Eagerly waiting for ur answer.

Regards,

Vijji

Former Member
0 Kudos

Hi,

Use variable substitution for each target system from input file.

Correct me if i'am wrong.i am working on a scenario where from one input XML file ,i have to generate multiple files dynamically.i am using variable substitution in Recr CC for filename (header field in the input file).here you can give target dir name also.

Try this if it is helpful.

Regards,

Srinivas

Former Member
0 Kudos

Hi Madhu,

How it will work to create multiple idoc in multiple receivers based on the TARGETSYSTEM value.

Please explain me clearly.

Its stopping my development

Regards,

Vijji

Former Member
0 Kudos

Hi,

Are you using 1:N mapping >?

Are you using BPM >?

<b>Cheers,

*RAJ*</b>

Former Member
0 Kudos

Hi Rajesh,

No, i am using 1:1 mapping only.

Here i have 35 receiver systems.

Please do needful.

Regards,

Vijji