cancel
Showing results for 
Search instead for 
Did you mean: 

Collect Asynchronous XI messages without BPM

Former Member
0 Kudos

Hi,

we are sending asynchronous Xi messages from ERP to PI and then sending a file through FTP for each message.

We would like to group (collect) the messages in XI or ERP and send them all as 1 file at a specific time.

Is this possible without BPM (I've seen the classic BPM way to do this but try to avoid BPM) What are the options ? Can this just be done by configuration ?

We are using PI 7.1

Thank you.

Accepted Solutions (0)

Answers (4)

Answers (4)

aashish_sinha
Active Contributor
0 Kudos

HI,

this scenario is not possible without BPM. You need to use BPM for this scenario. In SAP PI, ESR, go to SAP BASIS component, inside Patterns namesapce, you will see few ways to collect messages using BPM. Use those BPM as model and configure yours.

Regards

Aashish Sinha

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>>Is this possible without BPM (I've seen the classic BPM way to do this but try to avoid BPM) What are the options ? Can this just be done by configuration ?

Shabarish already answered above. I agree.

Former Member
0 Kudos

To preserve the state of the message (in your case - collect), you need to use BPM.

If you aim is to create a single file on ftp, use 'append' mode in receiver adapter.

Else, write the file to a local file system and create a another simple interface just for picking the file and delivering it to FTP.

Now, use the 'Availbility Time Planning' for the second interface sender channel and schedulle the channel as required.

Shabarish_Nair
Active Contributor
0 Kudos

use IDocs and follow this blog

/people/shabarish.vijayakumar/blog/2010/01/22/idoc-packaging--sap-pi-71-ehp1-and-above

other: /people/michal.krawczyk2/blog/2009/05/21/xipi-collecting-idocs--possible-ways-with-pros-and-cons--5-ways

Former Member
0 Kudos

Hi,

unfortunately, we are using an SAP provided scenario which uses an XI message from ERP rather than an IDOC so this is not an option.

My understanding is the append in the file adapter appends content of message if file already exists so this does not do the collecting in my case.

So , unless someone else has some hidden secret... I'm stuck with BPM... (not too excited about that... I must admit ;|)

Thanks.

Shabarish_Nair
Active Contributor
0 Kudos

in case of append , if the file is not existing, it will create the file and put the content in it.

if a file is found, then it will append to the existing one.

Former Member
0 Kudos
My understanding is the append in the file adapter appends content of message if file already exists so this does not do the collecting in my case

Yes..XI is not collecting the messages. But with the 'append' mode, the file which is created on FTP is equalent to file that is created with collected messages.

The only difference is that the complete file will be available only after appending all the records to it whereas if we collect the files in XI, the a complete file can be delivered at once. But to collect messages in XI, you have to use BPM.

Former Member
0 Kudos

Thanks, I understand.

In our case we need to overwrite the file so the append is not possible.

Thanks.

Former Member
0 Kudos

Then, you have only two options available -

1. Using the standard collect pattern approach using BPM as others recommonded.

2. Writing the file to local file system using append mode and create a interface for transfering the file from local file system to FTP using ATP.

Former Member
0 Kudos

Hi guys,

I`m facing a similar issue in a project, where several e.g. 7 large messages, normal msg size 10-15mb, but one normally is about 100mb, are transfered to PI via ABAP proxy and have to be merged in one single file using the file adapter.

QoS at the moment is EO.

Because of the performance issues I want to avoid ccBPM.

I think the append mode could be a way to solve this issue. But how could you determine that all messages have been processed and added to the file, so that the receiver could fetch the complete file and process it?

Is it useful to build up an unique filename like "XYZ_DATE.txt" so that all messages of one day are collected in the same file, but there is still the issue to recognize when the last message is added to the file and the file is completed.

QoS EOIO is needed to achieve that?

Any suggestions welcomed, thanks in advance.

Regards,

Jochen