cancel
Showing results for 
Search instead for 
Did you mean: 

Collections Of Idocs - XI - File

Former Member
0 Kudos

I'm using IDOCS Collection and Dispatch from R/3 to XI. However when I run Idoc Dispatch Program It sends to XI as Individual Idocs.

My requirement is to Collect all these Idocs and should send in one File in CSV Format. How do I get these Idocs bundled beforeit Hits XI?. Or Do I have to use BPM process to collect these idocs and send in one file?

Thanks for sharing any thoughts..

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Ram,

You can send IDoc packets from R/3 to XI, but a requirement of any (certified) IDoc adapter is to split IDoc packets into individual messages. So this is expected behavior.

If you want to collect them, you'll need to write a BPM to do this as a number of people have mentioned.

One word of caution though... XI is very inefficient at doing IDoc collection compared with other integration tools like webMethods or BizTalk. This is because BPM is very resource intensive and logs everything and there's almost no control over BPM logging, memory usage, and data persistance.

I also wouldn't recommend collecting over 100 - 200 IDocs. If you collect more than that, you may have trouble viewing the BPM logs.

The IDoc collection patterns that SAP delivers and in the blogs are good but I usually find that what's required is collection based on both a number of IDocs and a time value. For example, collect IDocs into packets of 100. If a full packet hasn't been receive in over 1 minute, output the remaining IDocs in a packet. So if 350 IDocs are sent, 3 packets of 100 will be sent, and then a packet of 50 will be sent.

If you're interested in this type of IDoc collection BPM send me an email and I'll send you a document describing it. It's in production at a few large XI clients so it should be pretty complete.

Thanks,

Jesse

Former Member
0 Kudos

Hi Wolff. Thanks a lot for detailed explanation. Our process is Legacy system sends data to R3 via batch process.Iam generating puchasing cost conditions ( COND_A ) as a result of this batch process Updates to R3. That means there will be around 20 to 30,000 Idocs will be generated from change pointers withing this batch cycle. All these 20,000 Idocs will be sent to 3rd party application within a short period of time by using XI. The structure Of this Idoc is

COND_A03

...EDI_DC40

...e1komg occurs 1

...e1konh

......e1konm 1..unbounded

If I bundle say 100 idocs with BPM I should be able to send all these Idocs in a file format to 3rd party application.( 1 Flat file record per Idoc ).

What do you suggest of our requirement considering the BPM bottlenecks and performance issues for high volume of data?

Thanks a lot for any insights into this.

Will you please send IDOC collection BPM to ramkrishi12@yahoo.com

Thanks again

Message was edited by: Ram Krish

Former Member
0 Kudos

Hi Jesse Wolff,

As I explained above, I use another solution (with no BPM) but I'm interesting to learn and apply yours... and maybe compare treatment time with huge volumetry.

Could you have time to send me your doc at huchet.mickael@excite.com ?

Many thanks

Mickael

stefan_grube
Active Contributor
0 Kudos

Hi Ram Krish,

it is impossible to collect 20.000 IDOC's with a BPM in a serios time frame. You have to check, if you could redesign your entire process.

As workaround you could send the IDOC's not directly to XI, you could use the file port and send them in XML format to th file system. This gives you the posibility to create bundles. When you want to bundle 100 IDOC's you receive 200 files with 100 IDOC's each. This files can be uploaded with the file adapter and mapped to the target structure without BPM.

Regards

Stefan

moorthy
Active Contributor
0 Kudos

Hi Ram Krish,

If you want to Bundle the idocs from R/3 itself, you can find the Collect Idocs option in the Outbound Partner Profiles (WE20) ..

But it is required to collect these Idocs in the XI with the help of BPMCollect Patterns. Because if you send 100 idocs at a time from the R/3 it will reach XI as one message for each idoc.

Also have a look into this blog-

/people/sravya.talanki2/blog/2005/12/09/xiidoc-message-packages

Regards,

Moorthy

Former Member
0 Kudos

Some threads-

SAP Notes- 898131, 852019

Former Member
0 Kudos

Moorthy,

I looked at into the Link you provided by Shravya. We have to USe Exsting Message Id into IDXPW transaction and run it. I got error ""Persist error: Message without final Status ""

Also If we use Message ID , for each upcoming Idocs Message Id will be changed right?. Iam just confused with this Idoc. Will you please mind explaining this. Thnx

moorthy
Active Contributor
0 Kudos

Hi,

First try to do with BPM with BPM CollectPattern. The blog from Sravya can be used if you have huge no of idocs are coming . So it depends.

Regd. error i need to look into system. as of now i am nto able to do.

You will get message id , only when you triggered the idoc.

Regards,

Moorthy

Former Member
0 Kudos

Hi,

Inside R/3 the notion "<i>Collect 200 idocs</i>" is just: "<i>wait to have 200 idocs before to send the whole group... each by each</i>". This is due to SAP Idoc definition: only ONE idoc by message type.

I don't remind me exactly how to do that, but here's the idea to be followed:

1. R/3: copy your standard Idoc and change the occurence from "1" to "9999999".

2. R/3: copy the transaction which send your IDoc normally one by one, to a specific one (e.g BD10 -> ZBD10). Inside this last one, find the function which build the IDoc and put it between a "Loop.. Endloop". And only after, that use the function module which send your super Idoc.

<i>This part is not easy to do but it's the only way that I see in order to send several same IDoc inside only ONE message type.</i>

3. I don't remind me, but I think you need also to copy and change the function module.

4. XI: Import and use the structure of your copied IDoc into your mapping. No BPM is needed!

Avantage: inside the monitoring of XI, you have only ONE inbound message. And treatment is quick.

Inconvenient: with this method, you will have potentially some problems with a SAP upgrade. Thus be careful!

Mickael