Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Time and again, during project requirements phase, customers come up with a common requirement that, seemingly cannot be met with SAP BPM currently. Customers often ask for notification reminders on approaching SLA. For instance, SLA for a task would be 10 hours. We would typically model a boundary event CompletionDeadlineIsNonCriticalException for that particular task so that a notification or an action occurs after the deadline is breached. However, what if the customer requires a notification to be sent out at 50% SLA – i.e., 5 hours before the task completion. At the moment, SAP BPM does not provide any handlers wherein the developers can track the task progress. I believe this is not available with 7.3 releases as well.

This is where the pattern described below comes in handy.



We essentially have an ‘Event Based Choice’ in parallel with the human task to which we have an assigned SLA. This event-based choice would be used for sending out notifications at predefined percentage of the defined SLA.


How it works

We would have a parallel split before every task. One branch would be the human task itself, the other would lead to an event based choice. Event based choice would have an Intermediate message event and a Timer in parallel. Event Based Choice works on the principle that it would act only on the first event – it could either be the Timer or the Intermediate message event receiving a message.


Now the timer would be configured to the required percentage of SLA breach, lets say, 50% in our example or 5 hours [This can be determined through an EJB function that can be attached to the timer]. Intermediate message event would wait for a message on completion of the human task. If the timer gets triggered first, which means that the task has not yet been completed, a notification can be sent out. The timer, of course triggers, at a predetermined percentage of the SLA. However, if the timer is still in waiting and intermediate message event gets triggered, the task has been completed ahead of the time and does not need any notifications to be sent out.


Further activities can be built on this. For example, after the notification is sent out at 50% of SLA, the branch can be mapped back into the Event based choice so as to trigger another notification at 75% of SLA. This pattern overcomes the current constraint in SAP BPM quite conveniently and without any additional code or DB based alternatives.

Precaution

  1. 1. Parallel split and event-based choice consume high amount of resource in the server. They should be used with discretion
  2. 2. The rare case of intermediate message event getting a message and timer getting triggered simultaneously has not been considered


7 Comments
Labels in this area