If you're
investigating migration to BI 4.0, you probably already know that BI 4.0
doesn't include a plug-in to let you schedule Web Intelligence reports from .NET applications. If that's all that was
keeping you from migrating, then we have good news: the APOS WebI .NET plug-in lets you schedule WebIs and manage defaults
from .NET applications.
We created this plug-in to allow our own well managed BI solutions to work with BI 4.0, and now we're offering to the SAP BusinessObjects developer community. The APOS WebI .NET plug-in lets the developer handle format, prompt information, and other flags while scheduling Web Intelligence reports from .NET apps or saving report defaults.
Another issue that our plug-in solves is prompt reconstruction. When you create a new Web Intelligence report, or update an existing one, the prompt information on the report object becomes unavailable to the developer through the SDK. The APOS WebI .NET plug-in uses prompt reconstruction functionality to let the developer access the prompt information. You can schedule the report with the reconstructed prompts or save the report object for later use. You do not have to update the source report in order to schedule an instance.
You will notice that we are not using the GetPluginInterface method to initialize our plug-in. On a Web Intelligence object that method simply fails regardless of what you try to do with the returned object. We actually support using the plug-in interface to initialize our plug-in but this will not work with a Web Intelligence object. We tested it with other InfoObjects with no issues.
Example:
We created this plug-in to allow our own well managed BI solutions to work with BI 4.0, and now we're offering to the SAP BusinessObjects developer community. The APOS WebI .NET plug-in lets the developer handle format, prompt information, and other flags while scheduling Web Intelligence reports from .NET apps or saving report defaults.
Another issue that our plug-in solves is prompt reconstruction. When you create a new Web Intelligence report, or update an existing one, the prompt information on the report object becomes unavailable to the developer through the SDK. The APOS WebI .NET plug-in uses prompt reconstruction functionality to let the developer access the prompt information. You can schedule the report with the reconstructed prompts or save the report object for later use. You do not have to update the source report in order to schedule an instance.
You will notice that we are not using the GetPluginInterface method to initialize our plug-in. On a Web Intelligence object that method simply fails regardless of what you try to do with the returned object. We actually support using the plug-in interface to initialize our plug-in but this will not work with a Web Intelligence object. We tested it with other InfoObjects with no issues.
Example:
Using sm As CrystalDecisions.Enterprise.SessionMgr = New
CrystalDecisions.Enterprise.SessionMgr
Using es As
CrystalDecisions.Enterprise.EnterpriseSession
= sm.Logon("My Account", "My Password", "My
CMS", "secEnterprise")
Using iStore As
CrystalDecisions.Enterprise.InfoStore =
es.GetService("InfoStore")
Using objs As
CrystalDecisions.Enterprise.InfoObjects =
iStore.Query("SELECT TOP 1 * FROM
CI_INFOOBJECTS WHERE SI_NAME = 'My Report'")
Using obj As
CrystalDecisions.Enterprise.InfoObject =
objs(1)
Using plg As
APOSWebiPlugIn.webi = New APOSWebiPlugIn.webi(obj)
plg.WebiAPOSLicenseKey = "<your key
here>"
'Choose to schedule to XLS format
plg.WebiFormat = APOSWebiPlugIn.CeWebiFormat.ceWebiFormatExcel
'Get the list of prompt names
Dim prompts As List(Of String) = plg.WebiGetPromptList()
'GEt the lsit of values for the first prompt
Dim vals As List(Of
APOSWebiPlugIn.WebiPromptValue) =
plg.WebiGetPromptValues(prompts(0))
'Clear the list of values
vals.Clear()
'Add Texas as the only value for the prompt
vals.Add(New APOSWebiPlugIn.WebiPromptValue("Texas"))
'Save the list of values back to the report
plg.WebiSetPromptValues(prompts(0), vals)
'Schedule the report
iStore.Schedule(objs)
End Using
End Using
End Using
End Using
es.Logoff()
End Using
End Using
You are welcome to try it and let me know
what you think. Just email webiplugin@apos.com
to ask for the library or send in any comments.
No comments:
Post a Comment