cancel
Showing results for 
Search instead for 
Did you mean: 

Getting Started with BOBJ .NET SDK 3.1 SP4 EDGE

tammy_datri
Explorer
0 Kudos

I am trying to get started with some SDK work (.NET).  I have not done SDK since my 6.5 days of VBA in Full Client Documents.  I have downloaded all of the documentation I can find about the SDK but something that would be really helpful would be a general overview of how to get started.

  • What do I have to download or where do I find the files I need? (object libraries, .jar files, runtime)
  • How do I add .NET SDK to my .NET applications?  (register .dll, copy files to folders.)
  • One article I found referenced a runtime download file that isn't in my list of products in Service Marketplace.  How do I get them?  I currently have a support ticket open on this one.
  • Is there a way to call the JAVA SDK from a .NET application? 

I am on 3.1 SP4 right now.  But will also need to know the same information for when I upgrade to 4.1 next year sometime!

  • What's compatible?
  • What's different?
  • What's new?

Accepted Solutions (1)

Accepted Solutions (1)

DellSC
Active Contributor
0 Kudos

Hi Tammy!

The .NET and Java SDKs can be installed from either the server install or the client install in 3.1.  When you do the installation, it registers the .NET assemblies in the GAC so that they are available when you select the "References" for a project in Visual Studio.

There is no way to run the Java SDK directly from .NET without installing a third-party component that will translate the Java to .NET.  I've played with this a bit recently for a project for a client - it's very memory intensive and can be slow.  I finally ended up writing the code I needed in Java (access to assign/read custom access levels is not available in the .NET SDK until the SP5 release of BI 4.0) and shelling out to it to get the functionality I needed. 

The move to 4.x is a little problematic because the COM Interop modules are embedded in the .NET assemblies.  So, if you use VS 2008, you need to use the Interface versions of the classes (e.g. IInfoStore instead of InfoStore, etc.)  If you're in VS 2010, there is a property in the assembly reference called "Embed Interop Types" which you can set to False and use the non-Interface version of the classes.

Also in 4.x there are some problems getting to the properties of specific reports in the regular SDK - you have to use the Web Services SDK to access them.

Are you working in C#, VB.NET, or VBA?  If you're interested, I have a lot of sample C# code on my website:  www.dellstinnett.com/sample_code.html.

-Dell

tammy_datri
Explorer
0 Kudos

Thanks Dell.  Good to hear from you.  Your info was helpful to our developer.

We are using C# for our development.

One thing we are still confused on is the runtime executables.  Do we have to install the Client on every server that will be running the SDK?  I saw an SAP support ticket for a download that suggested we would have a file in our downloads screen but I don't have one in mine.  I submitted a support ticket weeks ago asking if something might be missing from my profile but have not heard back.  I plan to follow up with some of my contacts at SAP today.  How do you deploy an app with SDK?  Do you have to install a runtime somewhere or can it only run from the BOE server?  Sorry if this is a dumb question.

Tammy

DellSC
Active Contributor
0 Kudos

You don't have to install the full client - you do a custom install and just install the SDK.  You can also check the server install - I don't remember whether the SDK is available there or not.

In the past I've installed a couple of ways:

1.  Install the full SDK on the server and then install the app.

2.  In Visual Studio, create an installer for the app that includes the SDK .dll files that are required to run the app.  They get installed to the same folder as the app.

Either method works.

-Dell

tammy_datri
Explorer
0 Kudos

Notes from our developer here....

Here are some questions to ask of Dell.

Would installing the BusinessObjects Enterprise XI 3.1 .Net runtime redistributable package (boxi31_net_sdk.msi) be another technique to get the assemblies loaded onto the server running the custom application?

Is it best to develop with Visual Studio 2008, Visual Studio 2010, or Visual Studio 2012 when utilizing the 3.1 .Net SDKs?

Could using the Visual Studio 2010 be a cause of the error below when one invokes this .GetService method?

EnterpriseService oReportEnginesService = enterpriseSession.GetService("ReportEngines");

Note: The version of BusinessObjects.Foundation.Logging Assembly installed is 12.0.1100.0.   Assemblies were load by installing the Client Tools on a Windows 7 32-bit workstation.

log4net:ERROR XmlHierarchyConfigurator: Could not create Appender [A1] of type [BusinessObjects.Foundation.Logging.Log4net.RollingFileAppender, BusinessObjects.Foundation.Logging, Version=12.0.0.0, Culture=neutral, PublicKeyToken=692fbea5521e1304].

Reported error follows.

  1. System.IO.FileNotFoundException: Could not load file or assembly 'BusinessObjects.Foundation.Logging, Version=12.0.0.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.File name: 'BusinessObjects.Foundation.Logging, Version=12.0.0.0, Culture=neutral, PublicKeyToken=692fbea5521e1304'

   at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)

   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError,Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)

   at System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)

   at System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase)

   at log4net.Util.SystemInfo.GetTypeFromString(Assembly relativeAssembly, String typeName, Boolean throwOnError, Boolean ignoreCase)

   at log4net.Util.SystemInfo.GetTypeFromString(String typeName, Boolean throwOnError, Boolean ignoreCase)

   at log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement appenderElement)

DellSC
Active Contributor
0 Kudos

Yes, installing that package is another option.

I'm currently using VS2010.  With the 3.1 SDK I get a message that it want' to upgrade the Crystal references - I click on Cancel.  Otherwise the project will lose its references.  It works as well as VS 2008 when you remember to turn off Embed Interop Types on the references.

I have seen this error before.  I did one of two things in the Project Properties to solve it:

1.  Change the Target Framework from ".NET Framework 4 Client Profile" to ".NET Framework 4".

2.  Set the platform target to "x86".  The SDK is NOT 64-bit compatible!

-Dell

former_member183750
Active Contributor
0 Kudos

Hello Tammy

I've been following this tread with interest as I always learn tons from Dell. And on occasion I can actually add value my self . In this case, there are two things to consider;

1) The assemblies from BusinessObjects Enterprise XI 3.1 v 12.x) are not supported in VS2010 (only assemblies from BI 4.0 (v 14.x) are supported in that version of .NET). Now, I am not saying this is the cause of the issue as theoretically the assemblies should work - as long as framework 4.0 is not used. However, the developer is in an untested and thus unsupported environment. If the developer wants to use the 12.x assemblies, I'd strongly recommend using VS2008.

2) The log4net error is well documented on these forums as well as KBases, etc. Simply use the search term 'log4net crystal net' in the search box at the top of this web page and you should get a  number of hits (KBs, discussions, wiki(s), etc., etc.).

- Ludek

Follow us on Twitter

Got Enhancement ideas? Try the SAP Idea Place

Share Your Knowledge in SCN Topic Spaces

Answers (0)