I have a scenario in which Customer has defined workshift timing with holidays in the workshift detail page but when we are extracting the report we are getting a total time for close the ticket including the holidays and out of working hour. customer want the exact time taken to close the ticket excluding the holidays and out of working hours.
workshift timing is defined as 10:00 am to 6:00 pm from Monday - Friday. But when ticket is raised at 1:00 pm on Friday and the ticket is closed on Tuesday at 11 am. When we extract the report, we are getting a total time to close the ticket as 94 hours, which is not accurate. As saturday and sunday are holidays, and after 6:00 PM are out of working hours, the total time taken to close the ticket should be 14 hours.
I guess, for customizing this, we need to have a custom formula written while extracting the report. But im unable extract the values into filters and unable to achieve this. It would be great if i can get support on this. Thanks
What's being used to calculate the time duration in your Business Logic for this? We include the Tools.NetTime function, which does take timeslots into account, though as per the documentation you should only use this when you need to as the overhead is significantly larger than just a basic (end-start) duration calculation.
Business Logic Scripting Examples - CA Business Service Insight - 8.3.5 - CA Technologies Documentation
Also, another thing to watch out for here is how you're calculating the duration from the events. Do you just have an event extracted that says when the downtime started/stopped? Or is is calculated by BSI from separate up/down events?
Hi Lain Lambert,
Thanks for the response. As I haven't implemented this kind of scenario, i am unaware of this function.Can you provide me some more information reg. the tools.netTime function? It would be really great if you can explain me reg. how to include this and where to do the configuration. Please provide me some information reg. this or some documentation link for tools.netTime function. Thanks in advance.
There's an example here:
Writing Effective Business Logic Examples - CA Business Service Insight - 8.3.5 - CA Technologies Documentation
Calculates the net time that the system was within timeslot for the current rule between two timestamps. You specify the timestamps in the function.
Function result Dim MyNetTime MyNetTime = Tools.NetTime(MyBeginTimestamp, MyEndTimestamp)End function
MyNetTime = Tools.NetTime(MyBeginTimestamp, MyEndTimestamp)
so if you've got the start and end times of the ticket, this will give you the net "in-hours" time, rather than just using something like
Dim duration As TimeSpan = endTime - startTime
which gives the total difference between the two times. Just be aware (as I mentioned before) that the calculation cost is higher when taking workshifts into account, so only do it in Business Logic that actually needs that.