The following query will give list of subscriptions with reportName
SELECT s.SubscriptionID,
C.ItemID as ReportID,C.Name as ReportName,C.path as ReportPath,
u.UserName AS ModifiedUser,s.Modifieddate,Schedule.LastRunTime,s.EventType,DeliveryExtension,s.Description,
LastStatus,
CASE WHEN LastStatus LIKE 'Mail sent to%' OR LastStatus LIKE 'The File %' OR LastStatus LIKE '%0 error%' THEN 'Success'
WHEN LastStatus LIKE '%pending%' THEN 'Pending'
WHEN LastStatus LIKE '%Cache refresh succeeded.%' THEN 'CACHE'
WHEN LastStatus LIKE '%Ready%' THEN 'Ready'
ELSE 'Failure' END as Status,
SUBSTRING(ExtensionSettings, LEN('<Name>TO</Name><Value>') + CHARINDEX('<Name>TO</Name><Value>', ExtensionSettings), CHARINDEX('</Value>', ExtensionSettings,
CHARINDEX('<Name>TO</Name><Value>', ExtensionSettings) + 1) - (LEN('<Name>TO</Name><Value>') + CHARINDEX('<Name>TO</Name><Value>', ExtensionSettings))) AS 'To List',
CASE CHARINDEX('<Name>CC</Name><Value>', ExtensionSettings) WHEN 0 THEN
'' ELSE
SUBSTRING(ExtensionSettings, LEN('<Name>CC</Name><Value>') + CHARINDEX('<Name>CC</Name><Value>', ExtensionSettings), CHARINDEX('</Value>', ExtensionSettings,
CHARINDEX('<Name>CC</Name><Value>', ExtensionSettings) + 1) - (LEN('<Name>CC</Name><Value>') + CHARINDEX('<Name>CC</Name><Value>', ExtensionSettings)))
END AS 'CC List',
CASE CHARINDEX('<Name>BCC</Name><Value>', ExtensionSettings) WHEN 0 THEN
'' ELSE
SUBSTRING(ExtensionSettings, LEN('<Name>BCC</Name><Value>') + CHARINDEX('<Name>BCC</Name><Value>', ExtensionSettings), CHARINDEX('</Value>', ExtensionSettings,
CHARINDEX('<Name>BCC</Name><Value>', ExtensionSettings) + 1) - (LEN('<Name>BCC</Name><Value>') + CHARINDEX('<Name>BCC</Name><Value>', ExtensionSettings)))
END AS 'BCC List'
FROM ReportServer.dbo.[Catalog] c INNER JOIN hvtsql07.ReportServer.dbo.Subscriptions s ON s.Report_OID = c.ItemID
INNER JOIN ReportServer.dbo.Users u ON u.UserID = s.OwnerID
INNER JOIN ReportServer.dbo.ReportSchedule ON ReportSchedule.SubscriptionID = s.SubscriptionID
INNER JOIN ReportServer.dbo.Schedule ON ReportSchedule.ScheduleID = Schedule.ScheduleID
WHERE CONVERT(varchar,Schedule.LastRunTime,112)=CONVERT(varchar,getdate(),112) ORDER BY c.Name
INNER JOIN ReportServer.dbo.Users u ON u.UserID = s.OwnerID
INNER JOIN ReportServer.dbo.ReportSchedule ON ReportSchedule.SubscriptionID = s.SubscriptionID
INNER JOIN ReportServer.dbo.Schedule ON ReportSchedule.ScheduleID = Schedule.ScheduleID
WHERE CONVERT(varchar,Schedule.LastRunTime,112)=CONVERT(varchar,getdate(),112) ORDER BY c.Name
No comments:
Post a Comment