Avec Sharepoint et SSRS, on peut facilement créer un rapport que l’on enverra automatiquement par mail ou que l’on enregistrera dans un dossier. C’est sympa mais encore faut-il être sûr que la génération de ses rapports se déroule bien. Je vais donc vous donner trois possibilités pour surveiller cette génération des documents via un abonnement.
Le but va être d’aller chercher le statut de la dernière exécution d’un abonnement. Par exemple : ‘Done: 4 processed of 4 total; 4 errors.’
Pour cela, nous allons ouvrir les souscriptions d’un rapport. Technique longue et fastidieuse si nous devons le faire pour tous les rapports et tous les abonnements.
Dans Sharepoint :
Plus rapide et plus pratique que la version manuelle via Sharepoint. Mais il n’en reste pas moins que vous devez le faire tous les jours.
SELECT [ModifiedDate]
,[Description]
,[LastStatus]
,[LastRunTime]
FROM [ReportingService_XXXXXXX].[dbo].[Subscriptions]
WHERE Description = ‘’
ORDER BY [LastRunTime] DESC
SELECT R.ScheduleID AS JobName
,C.NAME AS ReportName
,C.[Path] AS ReportPath
,S.SubscriptionID
,SUBSTRING(S.DeliveryExtension
, 14
, len(S.DeliveryExtension)) AS DeleveryType
,S.[Description] AS Subscription_Desc
,S.LastStatus AS Subscription_Exec_Status
,C.CreationDate
,C.ModifiedDate
,S.LastRunTime
,[LastStatus]
FROM dbo.[Catalog] C
iNNER JOIN dbo.Subscriptions S
ON S.Report_OID = C.ItemID
iNNER JOIN dbo.ReportSchedule R
ON R.SubscriptionID = S.SubscriptionID
-- WHERE C.Name like 'GenerationPDF'
Ben oui, pourquoi se priver de Sharepoint alors que nous l’utilisons justement pour gérer toute sorte d’abonnement.
Donc créez un nouveau rapport SSRS qui va chercher les données de statut de dernière exécution de l’abonnement :
SELECT [ModifiedDate]
,[Description]
,[LastStatus]
,[LastRunTime]
FROM [ReportingService_XXXXXXX].[dbo].[Subscriptions]
WHERE Description = ‘’
ORDER BY [LastRunTime] DESC
Puis déposez le sur votre Sharepoint et créez un abonnement de type Email sur celui-ci.
Il existe bien sûr plein d’autres possibilités d’envoyer un suivi de l’abonnement.
Par exemple, Via SSMS en créant un Job qui envoie un mail.
Si vous avez des solutions plus intéressantes n’hésitez pas à en parler dans les commentaires ci-dessous ou à donner des urls qui en proposent.
Pour aller plus loin et sur le même sujet je vous propose de lire aussi:
[SP2010] Message d’erreur ‘MOSS MA NOT FOUND’
Dans le monde de l'agilité, le Product Owner se doit d'écrire des user stories simples,… Read More
Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More
Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More
Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More
Si quelqu'un m'avait dit en Janvier que je réécrirais un article dans l'année sur des… Read More
Il y a quelques semaines, mois, voire années (tout est subjectif) nos enfants (et nos… Read More
View Comments