Understanding the IncidentsDurationByDays.rpt report

Version 13

    PLEASE NOTE: A new report has recently been published on the community which you may find easier to implement than the IncidentsDurationByDays report.  This is available for download from this article: Time to Resolution report (replacement for Incident Duration By Days report) The article also explains the reasons why you may find this new report preferable.

     

    Purpose

    The purpose of this report is to display how long (in hours and minutes) each Incident in your ServiceDesk database has been open for.  The parameters allow you to choose a specific period for the Creation date of the Incidents.  The report takes in to account the Calendar associated to the Incident's SLA and will only count time according to the hours this specifies.  In addition, if the clock is stopped this time is also decremented from the total open time.

     

    Usage

    The report can only be used if your ServiceDesk database has a particular view on it and the machine you are running the report from has certain crufl's (Crystal Reports User Function Libraries) installed.  The view is called vw_BusinessHours and should already exist in your database.  If not the script for producing it will be located in the same location as the report itself.  The crufls are called CRUFL_BusinessHours.dll and CRUFL_incidentDuration.dll and must be registered using Reg_CRUFL.bat before they are effective.  Please ensure you follow the documentation in the Administrators Guide LANDesk Service Desk Suite 7.5 Administrator on page 118 under "Additional Crystal Reports User Function Libraries" carefully to ensure this is done.

     

    The report is designed to be used by Managers to identify Incidents that are running for a long time and therefore take action to get them resolved promptly.

     

    Modifications

    At present the report will only display very basic information about the Incidents.  As it is a Crystal report it is completely modifiable, some useful additions you may want to consider making are:

              1) Adding in the name of the Response Level and how long this runs for so it's easy to identify Incidents that have breached already.

              2) Adding the name of the Assignee so the Incident doesn't have to be opened in ServiceDesk/ServicePortal to identify with whom to discuss the Incident.

              3) Adding the name of the Customer so that Incidents for VIP Customers can be quickly identified.

     

    Potential Problems

    This report will not tell you if an Incident has breached or is about to.  All it shows you is how long in Response Level time an Incident has been running.

     

    The 'Stopped Time' column can be confusing, if an Incident is currently stopped this stopped time will not take that in to account.  It is only when the clock is restarted that the total Stopped time will be re-calculated.

     

    If you do choose to edit the report you will need to be aware that some of the calculations it contains are very complex, and not necessarily intuitive.  It is strongly recommended that an original copy of the report is kept to refer back to in case of accidental altering of the fundamental report calculations.

     

    If you try to run the report without registering the associated CRUFLs you may find that Crystal will crash (depending on version of Crystal).

     

    Showing duration as "NA"

     

    If you are running a version older than 7.3 there is an installation guide to register the CRUFLs, set data locations in crystal and create a database view.  Please follow these instructions before continuing with the steps below:

     

    • Firstly check that the incidents in question have a response level and escalation points.
    • Check that this response level had a calendar associated to it and this has correct working hours specified.
    • Check that the incidents in question were not logged and resolved outside of working hours.
    • Lastly it could be that you haven't altered the database connection string within the report itself in Crystal.  This is located within the Formula Fields section with the Duration formula.

     

    Troubleshooting steps

     

    If you do not understand why you are not getting the correct data returned on the report you could drag the Duration formula onto the details and this may give you more information.  For example:

     

     

    • The result should be duration @ symbol then the total stop clock time.  For example 123@1 for an incident which has stopped the clock for 1 minute.
    • The message "No response level" means that incident has no response level associated with it.
    • The message "conversion failed when converting from a character string to unique identifier" means that an incident has a response level associated with it but no calendar is linked to that response level.
    • The @Duration formula specifies a set of paramaters fro the IncidentDurationIncidentDurationGetDuration function.  This is of the form: IncidentDurationIncidentDurationGetDuration (ResponseGuid, IncidentGuid, ConnectionString, Opentime, oracle, EndTime).   In the report, if you look at the Duration formula you will see that the last parameter has been specified as "" and for this reason it will pickup the final time that the incident was closed or the clock was stopped.  If you don't believe that the duration of your incidents is being correctly calculated as you would like you can edit the formula to specify exactly which field you would like the duration of the incident to stop at.  For example, you could alter the @Duration formula to specify: IncidentDurationIncidentDurationGetDuration ({im_incident.im_response_level_guid},{im_incident.pm_guid} , connstr ,ToText({pm_process.pm_creation_date}) , false, ToText({im_incident_closure.im_creation_date}))
    • When running the report you receive an error "The Visual Basic UFL that implements this function is missing (or U2lcom.dll is missing). "  Please see this document for advice:  When running a Crystal report you get the message "The Visual Basic UFL that implements this function is missing (or U2lcom.dll is missing). "