Report for open requests older than 3 months

Report for open requests older than 3 months

Hi all, I am trying to develop a report that will show any open requests older than 3 months old since created.

I want it to be automated so will need to use a getdate function of some sort.

I wrote a query in SQL that works well converting the createddate value to yyyy-mm-dd but doesn't work in ServiceDesk.

In ServiceDesk I have tried using the datetolong function but it returns an error saying longtodate not closed properly.

Here is the SQL query that works in MSSQL -

  1. SELECT wo.WORKORDERID "Request ID",aau.FIRST_NAME "Requester",dpt.DEPTNAME "Department",
  2. wo.TITLE "Subject",ti.FIRST_NAME "Technician",wo.CREATEDTIME "Created Time",std.STATUSNAME "Request Status"
  3. FROM WorkOrder_Threaded wot INNER JOIN WorkOrder wo ON wot.WORKORDERID=wo.WORKORDERID LEFT JOIN SDUser sdu
  4. ON wo.REQUESTERID=sdu.USERID LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID LEFT JOIN DepartmentDefinition dpt
  5. ON wo.DEPTID=dpt.DEPTID LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID LEFT JOIN SDUser td
  6. ON wos.OWNERID=td.USERID LEFT JOIN AaaUser ti ON td.USERID=ti.USER_ID LEFT JOIN StatusDefinition std
  7. ON wos.STATUSID=std.STATUSID
  8. WHERE  ((( DATEADD(s,wo.CREATEDTIME/1000,'01-01-1970') >= convert(varchar(10), DATEADD(mm, -3, GETDATE()),120) and DATEADD(s,wo.CREATEDTIME/1000,'01-01-1970') <= convert(varchar,(select CONVERT(varchar(10), GETDATE(), 120)),21))
  9. AND ((wo.CREATEDTIME != 0) AND (wo.CREATEDTIME IS NOT NULL)))
  10. AND (((std.STATUSNAME != N'Closed' COLLATE Latin1_General_CS_AI) AND (std.STATUSNAME != N'Resolved' COLLATE Latin1_General_CS_AI))
  11. OR (std.STATUSNAME IS NULL)))  AND wot.THD_WOID=wot.WORKORDERID

Here is the query I am trying to use in ServiceDesk, mind you this isn't completed but as I can't even get the datetolong function working I haven't progressed -

  1. SELECT wo.WORKORDERID "Request ID",aau.FIRST_NAME "Requester",dpt.DEPTNAME "Department",wo.TITLE "Subject",ti.FIRST_NAME "Technician",wo.CREATEDTIME "Created Time",std.STATUSNAME "Request Status" FROM WorkOrder_Threaded wot INNER JOIN WorkOrder wo ON wot.WORKORDERID=wo.WORKORDERID LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID LEFT JOIN DepartmentDefinition dpt ON wo.DEPTID=dpt.DEPTID LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID LEFT JOIN SDUser td ON wos.OWNERID=td.USERID LEFT JOIN AaaUser ti ON td.USERID=ti.USER_ID LEFT JOIN StatusDefinition std ON wos.STATUSID=std.STATUSID WHERE  (((wo.CREATEDTIME >= DATETOLONG('2010-08-01 00:00:00')) AND ((wo.CREATEDTIME != 0) AND (wo.CREATEDTIME IS NOT NULL))) AND (((std.STATUSNAME != N'Closed' COLLATE Latin1_General_CS_AI) AND (std.STATUSNAME != N'Resolved' COLLATE Latin1_General_CS_AI)) OR (std.STATUSNAME IS NULL)))  AND wot.THD_WOID=wot.WORKORDERID
Any assistance would be great.

Thanks
Joel


















                  New to ADSelfService Plus?