cancel
Showing results for 
Search instead for 
Did you mean: 

Bundle message and send them at a certain time

Former Member
0 Kudos

Hi,

for an implementation project we have to collect a lot of invoice messages in a flat file format and bundle them into one XML file. The bundling should be time controlled. Meaning all invoices until 08:00 in the evening should be put into one file.

How can I do this in XI ?

Thanks a lot for any help in advance

Regards

Matthias

Accepted Solutions (0)

Answers (6)

Answers (6)

STALANKI
Active Contributor
0 Kudos

I donot recommend to use BPM for bundling the message at a certain time.Instead event driven monitoring /people/alexander.bundschuh/blog/2006/01/04/scheduling-messages-in-sap-xi

Former Member
0 Kudos

Hi Sraya,

I agree, that event driven scheduling of messages is a good way to activate bundling (I referenced also this blog) But how do you collect the messages, which are to be bundled in your solution, until the starting time?

Regards,

Torsten

Message was edited by:

Torsten Engel

Former Member
0 Kudos

Hi Matthias,

I had a similary challenge a few weeks ago. Here's my solution:

- Define two BPMs, let's say "CoreBPM" and "WaitBPM".

- Define a new MessageType, lets say MI_BundleWait

- If you want to bundle your messages depending on the content of the invoices (e.g. depending on the customer number), you will need to define correlation in CoreBPM. In this case, MI_BundleWait should consist of the correlation elements.

In CoreBPM, define a process like this:

Make a endless loop, which consists of:

- Receive the Invoice and MI_BundleWait in a parallel branch. Define, that one branch only has to be fulfilled

- define a correlation for the two receiving steps

- If an invoice is received, check if this is the first time, that an invoic is received (define container as flag). If it is the first time, make a mapping from invoic to MI_BundleWait (correlation elements!) and send the result. Add the invoic to a multiline container.

- If a MI_BundleWait Message is received, throw an exception.

In exception handling, make a multi-mapping of the multiline-containter to a single message. Send this message.

In WaitBPM define a process, which receives MI_BundleWait and then sends MI_BundleWait.

Schedule MIBundleWait (/people/alexander.bundschuh/blog/2006/01/04/scheduling-messages-in-sap-xi), once a day at 8:00p.m.

What will happen?

CoreBPM will receive an invoic and will send a MI_BundleWait.

WaitBPM will receive this message and immediately send it back to CoreBPM, but this message will not reach CoreBPM, because of scheduling.

In the meantime (due to parallel branches) additional invoices can reach und will be gatered in the multiline container.

After scheduling event was trigger, the process will be finished due to exception.

Invoices will be bundled and sent.

Hope you can understand what I tried to explain. It really works!

Regards,

Torsten

Former Member
0 Kudos

Hi,

You need to use a combination of some activities

For bundling you will have to use multimapping.

For making it time controlled you need to use Integration administrator to control the interface.In SAP GUI enter transaction SXMB_ADM .There you can time control your interface.

Regards

Bipin Joshi

moorthy
Active Contributor
0 Kudos

Hi,

For concepts- you can find here-http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm

Rgds,

Moorthy

former_member181959
Contributor
0 Kudos

Hi,

For this you may need to go for a BPM. Where bundling of invoices takes place in that use wait step to schedule the transfer of data to file.

or for schecdling messages plesz go tru link below,

/people/alexander.bundschuh/blog/2006/01/04/scheduling-messages-in-sap-xi

Hope this helps.

kvr

Message was edited by:

PrasadBabu Koribilli

Former Member
0 Kudos

hi,

check on this weblog for IDoc Packaging:

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

Regards

vijaya

Former Member
0 Kudos

Hi Matthias,

1) you need a "multi mapping"

In Integration Repository goto software component SAP BASIS. Here is a sample process. Everything is clarified there.

2) For sending the message use a "wait step"

Regards Mario