I have the following XI Scenario:
Async RFC (R/3) -> XML File (Filesystem)
I want to achieve a QoS of EOIO. I know that the RFC Adapter doesn't support this but I would like to see if there is another way of achieving this:
- XI is SP16
- No ABAP proxies because R/3 is 4.6D.
- XI receives the data in the correct order because we've implemented qRFC outbound queues in R/3.
- The QOS in XI ends up being EO because the RFC Adapter doesn't support qRFC (inbound queues).
1) Is there a way to "force" EOIO on these incoming messages without using BPM? They are already being received in the correct order. The issue is that XI can process them in any order because the QOS is EO.
2) Is it possible to use BPM to do this? Here's one idea similar to what I use to collect IDocs.
There's no collecting in this case, but by using a receive step in a loop to handle multiple calls, it guarantees that only one instance of the BPM will be running at a given time.
- Checks a counter < 100 which allows us to set a maximum # of calls that the BPM will handle. This is so the workflow log doesn't get to big to view.
Inside the Loop is a Block:
- Contains deadline branch - 1 minute from 'Creating the Step'.
- If the call sits in the block for more than a minute (aka if we haven't received anything in a minute) call the deadline branch
- In the deadline branch throw an exception
- In the exception branch quit the BPM
Inside the Block is:
- Receive Step
- Increment Counter
- Send Step with EOIO (SP16)
3) Will the calls be sent to this BPM in the order that they were received or will they be sent to the BPM in any order since they are EO?
Any ideas or comments on this approach will be appreciated. Points will be awarded.