I have come across several BPM discussions, and i have also looked at this scenario,
but i understand that BPM can be sceduled to run for a particular time interval by using ABAP proxies,
but this scenario, where i have to collect idocs for 30 mins and bundle them into a single idoc and send to a file system:
--> if some idocs have high priority and they have to be immmediately sent and cannot wait untill the 30 min time interval, how do i design the BPM???
Is there any way to do this???
It is definitely do-able and depeneds on the requirement that you have(How do you check the priority?)
You have to have a block with a timeout for 30 minutes, which can be achieved by having a deadline branch inside.
Inside the main branch there would be a loop inside which the following activities will be done -
1. Receive the IDOC
2. Switch based on the priority
3. If high priority , do a mapping if reqd and send the message out
4. Else if it is a low priority, have a container operation to append it to a multi line element.
When the time out occurs(ie execution comes to the exception branch on timeout), do an appropriate(n:1 mapping) from the multi line element to a target element and send the message.
Thanks & Regards,
2 set up a mechanism which is waiting 4 30 min u would usually implement a endless loop (while var1 = 0) with exception (Timeout) brach. U can stop the loop in case of that incoming special IDoc. U need a receive step, a switch where u ask for special value and a transformation to set var1 = 1.