BusinessObjects Board

.net and Desktop Intelligence

Dear Community,

Please help.
I’d like to adapt my existing applications from COM .Net.

In .com I had to do the followings to access the Business Objects from VB:
Project->Add References->Click on the COM tab->Business Objects 11.5 Object Library

Now that I’ve installed the .Net SDK, I do not see any possibilities to add a reference under .Net. (I can still add the COM reference, but this is not what I want).

Maybe my fault but I did not find any documentation for DESKI on the BusinessObjects site (a lot for web applications though)

Please advise what is the equivalent of the above.
Thanks,
Marton


vilmarci :netherlands: (BOB member since 2006-10-04)

There isn’t a .NET SDK for DESKI…
COM is the only option for DESKI SDK, which means that you would need to add a COM reference from your .NET program(s) (as you mentioned). Until Business Objects releases a .NET SDK for DESKI, we need to reference the COM object libraries. (I’ve been inquiring about .NET SDKs for DESKI and Designer for a few years, but have received no indication from BO that one will be released)


jresendez :mexico: (BOB member since 2004-05-03)

It depends on what you are hoping to do with your .NET application. If you are wanting to refresh / view Desktop Intelligence documents in a web application, then the Report Engine SDK will handle it. If you are moving a client application to .NET, and wanting to create / edit documents, then using the wrapper for the COM library is the only option.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Hm… aren’t the 2.8 and 3.5 folders in the Business Objects install folder the .Net SDK?

Anyway… I wanted to adapt a client application that I can use to schedule and run DESKI reports.

The reason why I am looking for a different solution:
When I use the COM reference the compiled application fails with this exception:



************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'Interop.busobj, Version=11.5.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'Interop.busobj, Version=11.5.0.0, Culture=neutral, PublicKeyToken=null'
   at WindowsApplication1.Flow.Start()
   at WindowsApplication1.Form1.Button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I checked, and there is an Interop.busobj.dll file in the bin folder of the project.
Strange is that I can buil and run the application from Visual Studio, it only fails when running the compiled stuff.

Please advise,
Thanks,
Marton


vilmarci :netherlands: (BOB member since 2006-10-04)

The solution that will be the most robust long-term is to use the Web Services SDK. BusObj already provides a .NET consumer API for Web Services.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Thanks Dwayne,
Finally I am able to use the com reference without issues, but looks like the application is running only on my PC. Maybe there is a static reference somewhere… I will check deeper.

Anyway, we have an official comment from BO support saying that the Universe and the Desktop Intelligence SDKs are available in COM only.

So I guess this topic can be closed.

Thanks again,
Marton


vilmarci :netherlands: (BOB member since 2006-10-04)

Hi Dwayne,

I need to create DeskI report using SDK. Can you please help me on same? Which COM or DLL I need to include & which class I will used?

Thanks


2732829 (BOB member since 2009-03-06)

Hi,
Creating a report with the SDK is not really supported. I tried a long time ago. You can create the query conditions, add all the data returned (that deski does by default when creating a new report), create formulas and a few other basic thing, but cannot create a complete report as you would do by hand.


vilmarci :netherlands: (BOB member since 2006-10-04)

Thanks Dwayne,

IF I have one DeskI report so can I add Universe objectusing SDK. Please let me if you know this.


2732829 (BOB member since 2009-03-06)

Yes. Take a look at this utility … Copy Data Providers / Copy Report Variables. It creates an entire new data provider, but the techniques could be adapted to add objects to an existing data provider.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Hi Dwayne,

Can you please let me how can I add filter in Desktop Reports through SDK.


2732829 (BOB member since 2009-03-06)

You can add a global filter for a report tab using the .AddComplexFilter method. Search BOB for AddComplexFilter and you’ll find several examples.

Adding a filter on a specific table (report block) is not possible, but there is a workaround. Manually create a variable … like … and give it a formula of = 1=1, which is always true. Manually set a filter on the table using that variable, and select 1 (true). Now with VBA, you can change the formula behind dynamically. For example:

ThisDocument.DocumentVariables("myFilter").Formula = "=<Country> = ""US"""

Dwayne Hoffpauir :us: (BOB member since 2002-09-19)