cancel
Showing results for 
Search instead for 
Did you mean: 

Iterate: Bundle a number of idocs and send

Former Member
0 Kudos

Hi,

Assume that we have a scenario where system A sends 1 XML file (containing multiple records) to XI which transforms these records into corresponding idocs (1 records = 1 idoc) and passes these along to system B - no trouble so far.

Is it then somehow possible to bundle lets say 50 idocs together, send these and then "collect" the next 50 idocs, ..., untill no more idocs are left?

Regards,

Daniel

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member91687
Active Contributor
0 Kudos

Hi Daniel,

Have a look at these threads which address similar issues:

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f...

Hope these help and do assign points for helpful links:)

Cheers,

Chandra

MichalKrawczyk
Active Contributor
0 Kudos

hi,

you can try with this:

/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change

Regards,

michal

-


<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

Former Member
0 Kudos

Hi Michal,

Thanks for you quick reply, but that not exactly what I want to do. Maybe I didn't specify too well, but what I need is to:

After a 1:n multimapping performed in BPM I wan't where I perhaps get 5000 idocs contained in a multiline container. For this multiline container I want to loop through it and

"collect" maybe the first 50 idocs, and send these together. Afterwards I want to do the same for the next 50 idocs, etc., till all idocs in multiline container have been send.

Regards,

Daniel

MichalKrawczyk
Active Contributor
0 Kudos

I understood don't worry

you can send many bundled IDOCS

each "idoc package" will have 50 idocs in ifself

till they finish

Regards,

michal

former_member184154
Active Contributor
0 Kudos

Should be easy man.

For having multiple IDoc in one message that is to be sent, have a look at note 814393.

In the process, do something like in <a href="http://alegua.freeserverhost.com/tmp/bpm.jpg">this pic.</a>

Block is "for each" on your multiline

Switch on condition "counter=50"

- upper: reset counter, send IDoc

- lower: inc counter, append line to IDoc

You'll probably need an additional transformation to clear the IDoc structure after each send, but this should be good for you! Also maybe something a little bit mroe complex to manage the remainder of lines/50.

Let me know.

Alex

Message was edited by: Alessandro Guarneri

former_member184154
Active Contributor
0 Kudos

Take a look at this new version

http://alegua.freeserverhost.com/tmp/bpm2.jpg

Just added a transf to clear the idco and the remainder management: switch again on counter <> 50, if so you must send the remaining idocs.

Alex