We are using Business Objects v6.5.1; currently using/publishing full-client reports into infoview/WEBI v6.5.1.
This is running on WinTel WEB server with Windows Server 2003 SP3 and the BO Repository is on a SQL 2000 Server.
We have today a Visual Baisc .NET application that runs constantly performing some data audit controls (basically to verify if the ETL tools is working properly or if an error has occured ). If there is an error or incomplete data (as per our definition of that ) this VB.NET application sends an alert email to the proper support team.
This is been done basically by running some SQL Queries and converting the resultset into HTML and send it via email.
What we are looking for is to have that VB.NET application run some data-audit reports (develop on BO full-client) and send the results via email to the support-team (if possible as a PDF attachment); the full-client reports (.REP) can be saved on the same folder of the VB.NET application .
Will the the box running the VB.NET application need to have BO-Report installed ? and can it loging into BO-Reporter and run the reports unattended ?
We do have 1 license for BroadCast Agent v6.5.1, but haven’t use it yet . Also it is our understanding that BCA will not ‘email’ the reports (it will send them to a BO user’s inbox instead ).
Although I have read somewere before that via VBA/SDK code it is possible (if we only had more hours during the day )
Didn’t thought about licensing (yet), but I hope we can use a single name-user license for this monitoring application.
This VBA Code will Open a report, Refresh it and Save refreshed copy as XLS. Most of it is plagiarized form other posts in this forum
Dim boDoc As busobj.Document
Dim bo As busobj.Application
Dim FilePath, ReportName, RepoName, PartFileName As String
Path = "C:\Program Files\My Business Objects Documents\userDocs\"
SavePath = "C:\location to save files\"
Usrnm = "user"
Pswrd = "password"
RepoName = "BOMAIN"
ReportName = "testBORep"
Set bo = CreateObject("BusinessObjects.Application")
bo.LoginAs Usrnm, Pswrd, False, RepoName
Set boDoc = bo.Documents.Open(Path & ReportName & ".rpt", True, False)
Dim promptName, promptValue As String
promptName = "Select Year"
promptValue = "2006"
boDoc.Variables.Item(promptName).Value = promptValue
bo.Application.Interactive = False
boDoc.Refresh
boDoc.SaveAs SavePath & ReportName & ".xls"
boDoc.Close
bo.Quit
You will need to install BO on the machine that is trying to run this code.
You can easily convert it to mail the report instead of saving it. And then you can save this as VBS script. This script can be scheduled to run from Windows Task Scheduler.