Skip to Content
Former Member
Jan 16, 2006 at 12:04 PM

How to collect to different files into one message



I have the following scenario:

Two (5Mb) Files with different file structures each ->

XI (transform and generate a single structure record) ->

Insert a record in a DB for each new record generated

Let suppose file1 has order headers - one order per line -and file2 has the corresponding order items - one item per line, e.g;

File 1
OrderNr  Description
1        A
2        B
3        C

File 2 
OrderNr   ItemNr   MaterialCode ....
1         1        111
1         2        222
1         3        555
2         1        888
2         2        777
3         1        111

Imagine I want to insert a record in the database for

each order/item like this

OrderNr  ItemNr Description MaterialCode .....
1        1      A           111
1        2      A           222
1        3      A           555
...      ...    ...         ...

My real scenario is a little more complicated but never mind for now.

I need to collect the two different files with two different file structures into the same message. Although I have read about the subject I am not sure about how to do it using BPM because there isn't any field I could use to correlate file1 with file2 - I can only correlate a record of file1 with several records of file2. I simply know that the two files will be available in a specific directory once a day at 06:00AM.

First question is:

How can I collect the two messages originating each from a different file into only one message with two different subtypes one for each file structure?

Because my background is ABAP I could do it with a workaround for temporarily storing the info from each file into database tables in XI and then correlate the info from the two files to generate a single message.

Like this

File1 -> XI -> INSERT DATA XI ZDB1 (via ABAP Proxy or RFC)

File2 -> XI -> INSERT DATA XI ZDB2 (via ABAP Proxy or RFC)

Them I could use an event to check when the two tables have all the data from both files. I could then combine the data from the two tables and start another integration process like this

XI SERVER (ABAP Proxy) -> XI Integration Server -> Third-party (JDBC)

But this way I would have to code the hole data conversion which is not a good idea from the perspective of XI (EAI/Broker).

Maybe I sould use BPM. But how?


Is BPM performant enough (we are talking about files with thousand of records)?

Thanks in advance