Skip to Content
Author's profile photo Former Member

Notifications for Human Tasks at a predetermined percentage of SLA before tasks breach SLA and escalate

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.


  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

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Very Nice blog. Thanks for sharing it Ritesh..

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks a lot Prabhu

      Author's profile photo Former Member
      Former Member

      Please like and rate content to make it stand and help other SCN users find useful content. Thanks!

      Author's profile photo Former Member
      Former Member

      Very Useful.

      Thanks for Sharing.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks Sunil.

      Author's profile photo Zakhar Kvasov
      Zakhar Kvasov


      can you please eloborate more on this ". However, if the timer is still in waiting and intermediate message event gets triggered"

      how is IME get triggered? is done from human activity?

      Author's profile photo pavan thiruveedula
      pavan thiruveedula

      Hi ,


      I am also working on the same requirement. I am trying to implement  your solution, I am facing issue  at event based choice  "IME" event.   I am facing attached issue.Please help me


      I am getting error ""Select a concrete type for abstract catch event"intermediate event 0" in the IME event