AddAdd-Ins with Business Objects
Bob Lang Royal & Sun Alliance Insurance
Agenda
Definition How to create an add-in addHow to invoke an add-in addHow users can access an invoked add-in addShare some tips\tricks tips\ Demo RSA KPI Wizard add-in add-
www.ncboug.com
Definition
Add-Ins are Visual Basic for Applications Addprograms that add optional commands and features to BusinessObjects. Common Uses: Automation of tasks Additional functionality Easier maintenance
www.ncboug.com
Creating an Add-In Add1. Create a normal Business Objects document 2. Remove all non-used data providers and nonreports
File can contain reports, data providers, etc
3. Add necessary VBA macros to the document 4. Save file as Add-In (.rea) file extension Addwww.ncboug.com
Invoking an Add-In AddInvoking the Add-In will make the Add-In available to AddAddthe user whenever Business Objects is launched
1. 2. 3.
4. Note: When a user installs an Add-In, Addit is only installed for that user. If that user logs on under a different name, the AddAdd-In will not be available.
www.ncboug.com
User Accessing an Add-In after Invoked Add Via Tools«Macro window Create Custom Menu Item
Private Sub Document_Open() Dim ctrl As busobj.CmdBarControl Set ctrl = Application.CmdBars.Item(2).Controls.Item("&Data").Controls.Add(1, , 15) ctrl.Caption = "&RSA KPI Wizard..." ctrl.DescriptionText = "Allow user to easily create the various RSA KPIs" ctrl.OnAction = ThisDocument.Name & Right(ThisDocument.FullName, 4) & "!RunKPIWizard" End Sub
Create Custom Toolbar
Private Sub Document_Open() Set Bar = Application.CmdBars.Add("RSA KPI Wizard", boBarTop) Bar.Visible = True Set Button1 = Bar.Controls.Add(boControlButton, 1) Button1.TooltipText = "RSA KPI Wizard" Button1.OnAction = ThisDocument.Name & Right(ThisDocument.FullName, 4) & "!RunKPIWizard" Application.Clipboard.SetData frmStorage!imgSpreader.Picture Button1.PasteFace End Sub
www.ncboug.com
AddAdd-Ins Tips\Tricks Tips\
Keep a version of file as ´.repµ file If you create custom menu or toolbar, remove the item(s) in the Document_BeforeClose() event If you refresh any data providers, add the following command on the Document_BeforeClose() event:
ThisDocument.save
www.ncboug.com
AddAdd-Ins Tips\Tricks - continued Tips\
Use ThisDocument instead of ActiveDocument to reference objects in the AddAdd-In
For ex. ActiveDocument.Name ThisDocument.Name -Name of the active document -Name of file running the code
Use ´Application.Interactive = Falseµ to remove the standard prompts that Business Objects displays (Make sure you end your code with ´Application.Interactive = Trueµ)
www.ncboug.com
AddAdd-Ins Tips\Tricks - continued Tips\ If BCA is going to use Add-Ins, then a Addregistry key needs to be added to BCA server, making it available to all users:
HKEY_LOCAL_MACHINE\SOFTWARE\Business HKEY_LOCAL_MACHINE\SOFTWARE\ Objects\BusinessObjects\5.0\ Objects\BusinessObjects\5.0\ BusObj General Preferences\busobj\Options\Addin\XXXX Preferences\busobj\Options\Addin\ XXXX = the name of the add-in addFileName = string value that contains the complete file patch of rea file Installed = Dword value where 1 = installed \ 0 = non installed
www.ncboug.com
AddAdd-In Demo ² RSA KPI Wizard
Issue: In order to slice and dice with ratios, the ratios need to be created in the report Challenge: Many users are hesitant to create report side variables Solution: RSA KPI Wizard ² user selects the desired KPI from a form and the wizard creates the report side variable.