Configuration Management - department head
This report returns the complete list of Department and the department head configured in the application SELECT dept.deptid "Department ID",
dept.deptname "Department Name",
dept.phoneno "Phone No",
dept.fax "Fax",
sdorg.name "Site Name",
aa.first_name "Department Head",
dept.deptdesc "Department Description",
da.first_name "Approver" FROM departmentdefinition dept
LEFT JOIN sduser sd ON sd.userid=dept.deptheadid
LEFT JOIN aaauser aa ON aa.user_id=sd.userid
LEFT
User Management - status changes made on a request and who performed it
This report helps to find status changes made on a request and who performed it. SELECT wo.WORKORDERID "Request ID", aau.FIRST_NAME "Requester", std.STATUSNAME "Request Status", wo.TITLE "Subject", woh.OPERATION "Operation", LONGTODATE(wo.CREATEDTIME) CREATEDTIME, aau1.FIRST_NAME PERFORMEDBY, LONGTODATE(OPERATIONTIME) OPERATIONTIME, std1.STATUSNAME "Changed From", std2.STATUSNAME"Changed To" FROM WorkOrder wo LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID
User Management - priority changes made on a request
This report helps to find the priority changes made on a request. SELECT wo.WORKORDERID "Request ID", wo.TITLE "Subject", qd.QUEUENAME "Group", ti.FIRST_NAME "Technician", LONGTODATE(wo.CREATEDTIME) "Created Time", LONGTODATE(wo.DUEBYTIME) "DueBy Time", rtdef.NAME "Request Type", LONGTODATE(OPERATIONTIME) OPERATIONTIME, pd1.priorityname "Changed From", pd2.priorityname "Changed To", aau1.FIRST_NAME "PERFORMEDBY" FROM WorkOrder
User Management - to get the list of requests that are due to violate SLA in next 2 days
Use this report to get a list of requests that are due to violate SLA in next 2 days. This helps to alert the team involved working on the request. PGSQL: SELECT wo.WORKORDERID "Request ID", aau.FIRST_NAME "Requester", qd.QUEUENAME "Group", cd.CATEGORYNAME "Category", wo.TITLE "Subject", ti.FIRST_NAME "Technician", longtodate(wo.DUEBYTIME) "DueBy Time" FROM WorkOrder wo LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID
User Management - report to technician who violated the request
This report helps to find the technician who violated the request. SELECT wo.WORKORDERID "Request ID", max(wo.TITLE) "Subject", max(ti.FIRST_NAME) "Current Technician", max(std.STATUSNAME) "Request Status", CASE WHEN max(tech.first_name) IS NOT NULL THEN max(tech.first_name) ELSE max(ti.FIRST_NAME) END "Violated by" FROM WorkOrder wo LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID LEFT JOIN SDUser td ON wos.OWNERID=td.USERID
User Management - report on reassignment of groups made on a request
This report helps to find the reassignment of groups made on a request. SELECT wo.WORKORDERID "Request ID", aau.FIRST_NAME "Requester", dpt.DEPTNAME "Department", std.STATUSNAME "Request Status", wo.TITLE "Subject", rtdef.NAME "Request Type", sdo.NAME "Site", LONGTODATE(wo.CREATEDTIME) CREATEDTIME, aau1.FIRST_NAME PERFORMEDBY, LONGTODATE(woh.OPERATIONTIME) OPERATIONTIME, qd1.queuename "Changed From", qd2.queuename "Changed
User Management - report on reassignment of technicians on requests and who performed it
This report helps to find reassignment of technicians on requests and who performed it. SELECT wo.WORKORDERID "Request ID", wo.TITLE "Subject", aau.FIRST_NAME "Requester", ti.FIRST_NAME "Technician", std.STATUSNAME "Request Status", pd.PRIORITYNAME "Priority", longtodate(wo.CREATEDTIME) "Created Time", aau1.FIRST_NAME PERFORMEDBY, LONGTODATE(OPERATIONTIME) OPERATIONTIME, au1.first_name "Changed From", au2.first_name "Changed To"
User Management - report on time taken by technician to send a first response to a request
This report returns the time taken by technician to send a first response. It indicates how long a user had to wait to receive a response. MSSQL: SELECT wo.WORKORDERID "Request ID", wo.TITLE "Subject", aau.FIRST_NAME "Requester", ti.FIRST_NAME "Technician", LONGTODATE(wo.CREATEDTIME) "Created Time", LONGTODATE(wo.RESPONDEDTIME) "Responded Date", convert(varchar(10), ((wo.RESPONDEDTIME)-(wo.createdtime))/1000/3600)+':'+convert(varchar(10), (((wo.RESPONDEDTIME)-(wo.createdtime))/1000)%3600/60)+':'+convert(varchar(10),((((wo.RESPONDEDTIME)-(wo.createdtime)))/1000%60))
User Management - first assigned time of a request
This report returns the first assigned time of a request. When the request was submitted and when was a technician assigned to it. This helps us know how long it was in the unassigned state. SELECT wo.WORKORDERID "Request ID", Longtodate(max(wo.CREATEDTIME)) "Created Time", longtodate(max(woh.OPERATIONTIME)) "Assigned time", max(aau.FIRST_NAME) "Requester", max(wo.TITLE) "Subject", max(qd.QUEUENAME) "Group", min(prev.first_name) "Technician", max(ti.FIRST_NAME)
Configuration Management - report to find the values of a picklist additional field
This report helps to find the pick-list values in the additional fields. First you need to find the name of the table name and the column name that holds the data by executing the following report: SELECT Tablename, Columnname FROM ColumnAliases WHERE Aliasname='Services' Then you can retrieve the pick list values. For example: SELECT Value FROM UDF_PickListValues WHERE Tablename='WorkOrder_Fields' AND Columnname='UDF_CHAR36' Replace WorkOrder_Fields and UDF_CHAR36 with the values returned by the
Configuration Management - SLAs configured / details of all technicians and requesters / last logged in time of technicians and requesters
Below report returns the complete list of SLAs configured in the application. SELECT sdo.name "Site Name" , sla.slaname "SLA", MAX(sla.duebydays) "SLA Days", MAX(sla.duebyhours) "SLA Hours", MAX(sla.duebyminutes) "SLA Minutes" , MAX(sla.fr_duebydays) "First Response Days", MAX(sla.fr_duebyhours) "First Response Hours", MAX(sla.fr_duebyminutes) "First Response Minutes", array_to_string(array_agg(au.first_name), ' ') "Escalate to" FROM sladefinition
Configuration Management - report for support groups and roles associated to technicians
This report returns the support groups associated to technicians. SELECT AaaUser.FIRST_NAME "FullName", (SDOrganization.NAME) "Site", (qd.queuename) "Group" FROM AaaUser LEFT JOIN UserDepartment ON AaaUser.USER_ID=UserDepartment.USERID LEFT JOIN DepartmentDefinition ON UserDepartment.DEPTID=DepartmentDefinition.DEPTID LEFT JOIN AaaUserContactInfo ON AaaUser.USER_ID=AaaUserContactInfo.USER_ID LEFT JOIN AaaContactInfo ON AaaUserContactInfo.CONTACTINFO_ID=AaaContactInfo.CONTACTINFO_ID
Configuration Management - complete list of request templates
This report returns the complete list of templates configured in the application. MSSQL: SELECT serd.Name "Service Category", max(list.Templatename) "Template Name", STUFF( (SELECT ',' + tgm.QUEUENAME FROM TemplateToGroupMapping tgm WHERE list.TemplateID=tgm.TemplateID FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1, '') "Group", STUFF( (SELECT ',' + ug.NAME FROM UserGroups
Configuration Management - view/export the tree view of category, subcategory, and item / details of scheduled reports along with their owner
This report helps to export the tree view of category, subcategory, and item. SELECT CategoryDefinition.CATEGORYNAME "Category Name", SubCategoryDefinition.NAME "Sub Category Name", ItemDefinition.NAME"Item Name" FROM CategoryDefinition LEFT JOIN SubCategoryDefinition ON SubCategoryDefinition.CATEGORYID=CategoryDefinition.CATEGORYID LEFT JOIN ItemDefinition ON ItemDefinition.SUBCATEGORYID = SubCategoryDefinition.SUBCATEGORYID ORDER BY 1,2,3 This report returns the details of scheduled
Configuration Management - report to view and export the list of support groups
This report helps to export the list of support groups configured in the application with their complete details. MSSQL: SELECT qd.QUEUENAME "Support group", ci.DESCRIPTION "Description", su.first_name "Owned By", STUFF( (SELECT ',' + au.first_name FROM queue_technician qt LEFT JOIN sduser sd ON qt.technicianid=sd.userid LEFT JOIN aaauser au ON sd.userid=au.user_id WHERE qt.queueid=qd.queueid
Request Management - details of parent request and its dependent requests
This report returns the details of the parent request and its dependent requests. SELECT wo.WORKORDERID "Request ID", wo.TITLE "Subject", ti.FIRST_NAME "Technician", pd.PRIORITYNAME "Priority", wo.CREATEDTIME "Created Time", wo.DUEBYTIME "DueBy Time", std.STATUSNAME "Request Status", CASE WHEN wos.ISOVERDUE='1' THEN 'Yes' ELSE 'No' END "Overdue Status", wodm.Dependsonid "Depends on" FROM WorkOrder wo LEFT JOIN WorkOrderStates
Request Management - report on requests created created during non-operational hours
This report is used to find the requests created during out of business hours. Based on this report, resources can be allocated to manage the load. MSSQL: SELECT wo.WORKORDERID "Request ID", aau.FIRST_NAME "Requester", cd.CATEGORYNAME "Category", wo.TITLE "Subject", qd.QUEUENAME "Group", sdo.NAME "Site", LONGTODATE(wo.CREATEDTIME) "Created Time", datepart(dw, dateadd(s, datediff(s, GETUTCDATE(), getdate()) + (wo.createdtime/1000), '1970-01-01 00:00:00'))
Request Management - report to fetch the historical details of approved and denied requests
This report helps to view the historical details of approved and denied requests. This also returns all requests for which approval decision is pending. SELECT wo.WORKORDERID "Request ID", aau.FIRST_NAME "Requester", dpt.DEPTNAME "Department", wo.TITLE "Subject", ti.FIRST_NAME "Technician", std.STATUSNAME "Request Status", longtodate(wo.CREATEDTIME) "Created Time", asd.stagename "Stage name", LONGTODATE(ApprovalStage.SENT_DATE) "Approval Sent date",LONGTODATE(ApprovalDetails.ACTION_DATE) "Approved
Request Management - notes added by the technicians
This report gives an overview of all notes added by the technician. SELECT wo.WORKORDERID "Request ID", note.NOTESTEXT "Notes", longtodate(notesdate) "Note Added date", aaauser.first_name "Note Added By" FROM WorkOrder wo LEFT JOIN Notes note ON wo.WORKORDERID=note.WORKORDERID LEFT JOIN aaauser ON note.userid=aaauser.user_id WHERE wo.CREATEDTIME >= <from_thisweek> AND wo.CREATEDTIME <= <to_thisweek> To make any changes to this query, refer to this post. Click this link to navigate to the next report.
Request Management - last conversation of technician and requester in requests
This report returns the last conversation of technician and requester. SELECT wo.WORKORDERID "Request ID", max(aau.FIRST_NAME) "Requester", max(wo.TITLE) "Subject",max(ti.FIRST_NAME) "Technician", longtodate(max(wo.CREATEDTIME)) "Created Time", CASE WHEN max(wos.notificationstatus) = 'REQ_REPLY' THEN max(c.description) WHEN max(wos.notificationstatus) = 'TECH_REPLY' THEN max(n.description) ELSE NULL END "Last conversation" FROM WorkOrder wo LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID LEFT
Request Management - report to get request onhold status comments
Request onhold comments. This report helps to find the reason for the request that are placed onhold. SELECT wo.WORKORDERID "Request ID", mdd.MODENAME "Request Mode", qd.QUEUENAME "Group", aau.FIRST_NAME "Requester", cd.CATEGORYNAME "Category", ti.FIRST_NAME "Technician", std.STATUSNAME "Request Status", (os.onholdcomments) "Reason For Stop Timer" FROM WorkOrder wo LEFT JOIN ModeDefinition mdd ON wo.MODEID=mdd.MODEID LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID
Request Management - query to fetch information on service catalog additional fields
Requests with service catalog additional fields. Service catalog additional fields can be a common field or category specific fields. These fields are stored in a dynamic table, hence we need to join the specific template to get the resultant. Run the below query to get table name and column name of the field you need in the report. select * from columnaliases where aliasname='NAME OF THE ADDITIONAL FIELD'; Replace table name and column name in the below query. SELECT wo.WORKORDERID AS "Request
Request Management - report to find the recipient email address
To find the recipient email address. Some requests are forwarded to others through the mail, this report helps to find the statistics what and how many requests are forwarded to others. To make any changes to this query, refer to this post. SELECT wo.workorderid "RequestID", wo.title "Subject", wor.to_cc_bcc "Parent Request", wor.recipient_email "Parent request email ", cr.TO_CC_BCC " In conversations", cr.recipient_email "Conversation email", nr.TO_CC_BCC "Sent mails", nr.recipient_email "Sent mail
SQL Cookbook for ServiceDesk Plus - Chapter 2 - Request Process Management
Requests based on SLA. To make any changes to this query, refer to this post. SELECT wo.WORKORDERID AS "Request ID", wo.TITLE AS "Subject", aau.FIRST_NAME AS "Requester", qd.QUEUENAME AS "Group", cd.CATEGORYNAME AS "Category", scd.NAME AS "Subcategory", icd.NAME AS "Item", ti.FIRST_NAME AS "Technician", std.STATUSNAME AS "Request Status", sla.slaname "SLA Name" FROM WorkOrder wo LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID LEFT JOIN WorkOrder_Queue
Request Management - to get the list of shared requests
Shared request - returns the list of shared requests. To make any changes to this query, refer to this post. SELECT wo.WORKORDERID AS "Request ID",
wo.TITLE AS "Subject",
aau.FIRST_NAME AS "Requester",
qd.QUEUENAME AS "Group",
ti.FIRST_NAME AS "Technician",
std.STATUSNAME AS "Request Status",
sa.first_name "Shared to technician" FROM WorkOrder wo
LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID
LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID
LEFT JOIN WorkOrderStates
Request Management - report to get information on linked requests
Linked requests - to find the child request ID that are linked to the parent request ID. To make any changes to this query, refer to this post. SELECT wos.linkedworkorderid "Request ID", wo.TITLE "Subject", std.STATUSNAME "Request Status", rtdef.NAME "Request Type", longtodate(wo.CREATEDTIME) "Created Time", wo.workorderid "Linked to" FROM WorkOrder wo LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID LEFT JOIN RequestTypeDefinition rtdef ON wos.REQUESTTYPEID=rtdef.REQUESTTYPEID LEFT
Request Management - Report to get information on merged requests
Merged requests - provides information as shown in screenshot below. To make any changes to this query, refer to this post. MSSQL: SELECT Workorderid "Parent Request ID",
(SELECT STUFF(
(SELECT cast(Child_woid AS varchar) + char(10)
FROM conversation co
WHERE conversation.Workorderid=co.Workorderid
FOR XML PATH ('')), 1, 0, '')) "Merged Request"FROM conversation
WHERE Child_woid IS NOT NULL
GROUP BY Workorderid PGSQL:
Request Management - quick overview of monthly opened, closed and overdue requests
This report provides a quick overview of monthly opened, closed and overdue requests. It provides you a quick determination of a large number of requests. This information can then be used by a request management administrator to determine if a particular department requires additional resources to efficiently manage the number of requests. MSSQL: SELECT 'Inbound' "Status", COUNT(CASE WHEN MONTH(dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (CREATEDTIME/1000),'1970-01-01 00:00:00'))=1 THEN 1
Request Management - most used request template, category and top requesters based on request count
To make any changes to these queries, refer to this post. Report to find the most used template in the application: SELECT serd.Name "Service Category", reqtl.templatename "Template name", count(wo.WORKORDERID) "Count of Request" FROM WorkOrder wo
LEFT JOIN RequestTemplate_list reqtl ON wo.TEMPLATEID=reqtl.TEMPLATEID
LEFT JOIN ServiceDefinition serd ON reqtl.PARENT_SERVICE=serd.SERVICEID
WHERE reqtl.isdeleted='0'
GROUP BY serd.Name,
reqtl.templatename
ORDER BY 3 DESC To find top used category
Request Management - requests based on incident and service templates
To make any changes to this query, refer to this post. Request based on incident and service templates: SELECT reqtl.TEMPLATENAME "Template Name", wo.WORKORDERID "Request ID", dpt.DEPTNAME "Department", sdo.NAME "Site", cd.CATEGORYNAME "Category", scd.NAME "Subcategory", std.STATUSNAME "Request Status", ti.FIRST_NAME "Technician" FROM WorkOrder wo LEFT JOIN RequestTemplate_list reqtl ON wo.TEMPLATEID = reqtl.TEMPLATEID LEFT JOIN DepartmentDefinition dpt ON wo.DEPTID = dpt.DEPTID LEFT JOIN SiteDefinition