How to pause SLA on RITM during execution of certain Catalog Tasks

peter_repan
Tera Guru

Hi all,

we are having SLA running on sc_req_item.

It should run during the whole lifecycle of the RITM, however it should be paused during execution of certain catalog tasks.

Any ideas how this can be achieved?

I was thinking about business rule on sc_task listening for insert of "certain" records and pause SLA in the script.

The update of sc_task record into one of "Completed" state will trigger the SLA again....

1 ACCEPTED SOLUTION

Hi Peter,



No, as Task SLA is running on RITM then TaskSLAController runs when RITM is updated, not when related Catalog Task is updated. This is why you need to actually update RITM ideally to move Task SLA to another stage (paused / in progress). If you do not reflect the update of Catalog Task on RITM somehow then the Pause Condition of SLA Definition is not met (as nothing changed on RITM) and it is still In Progress. If you update it to Paused by your script in business rule, you would need to do that properly by existing functions (as you need to set also Pause Time etc. to ensure the pause duration is correctly calculated once it is resumed), but there is still the problem that whoever updates RITM, the Pause Condition is evaluated again and it is still not met so Task SLA is resumed.



See below the relationships of SLA scripts for more details (Task update is here the RITM as Task SLA runs on RITM):


SLA Scripts Architecture.png



Best regards,


Dominik


View solution in original post

9 REPLIES 9

Dominik Simunek
Tera Guru

Hi Peter,



As SLA definition's condition can be based only on information stored on related Task table I believe you need to build kind of "interface" for that pausing like:


- new field or state on RITM like "Pending Catalog Task" or "SLA Paused by Catalog Task"


- new business rules on CTASK to update RITM when created and completed


- maybe new flag on CTASK "Pauses SLA" to make it generic that only flagged CTASKs pause SLA of related RITM



Best regards,


Dominik


adriantoth
Tera Contributor

Hi Peter,



you may try to implement the following:


- create a business rule for the Catalog Task table (Insert/Update)


- check (per script) whether the condition to pause SLA is met


- update the respective record in the Task SLA table: set the field Stage to 'paused' (or 'in_progress')



Not sure, whether the Task SLA table 'likes' to set the stage in the direct way.


Might be worth to check.



Warm regards,


Adrian


Hi Adrian,



I believe it will not work as expected because TaskSLAController checks stage of each Task SLA whenever Task is updated. Once such paused Task SLA (via SCTask business rule) is checked by that script, the Pause Condition won't be met and it will be moved back to In Progress.



So actually you need to meet Pause Condition of SLA Definition to keep the Task SLA paused and not resume with the first update of RITM.



Best regards,


Dominik


Hi Dominik,



that is interesting.



In fact it means - if somebody adds comment to Catalog Task, the SLA will be moved back to In progress, right?