Skip to Content
Former Member
Jul 31, 2015 at 12:51 AM

Problems using .NET to invoke CR 2013 vs CR 2008. Class


Got a customer with an application that integrates via .NET with CR. They have code that worked with CR 2008 and are running into issues not that they are using CR 2013. They just upgraded to BOE 4.1 from 3.1x and their programmatic invocation of reports is broken.

They have been spinning their wheel with SAP Support and getting frustrated.

Thought maybe one of you gurus might recognize this issue. Is it a path setting, a 64-bit vs 32 bit thing, wrong version of CR etc? The original class ReportDocument has a bunch of methods that don't seem to be supported any longer? Is there a merge module, DLL missing? See their problem description below:


We upgraded from BO 3.1 SP5 to BO 4.1 SP6. Within our .Net application, we are invoking Crystal Reports 2008 (now Crystal 2013) through code but are encountering errors. Below are the latest from our developer. Please let me know if you can offer some assistance or point us to the right direction if you have seen similar error in the past. Thanks in advance. –


  1. 1. Exception: “Could not load file or assembly 'BusinessObjects.Enterprise.Sdk' or one of its dependencies. An attempt was made to load a program with an incorrect format.”

Still outstanding, waiting for the input from the BO team.

  1. 2. A first chance exception of type 'CrystalDecisions.CrystalReports.Engine.LoadSaveReportException' occurred in CrystalDecisions.CrystalReports.Engine.dll

Additional information: Invalid report file path.

As per the suggestion given, ReportClientDocument class was used instead of ReportDocument class. But there are multiple properties/functions which are not available in the new class (and are widely used in the solution) but were available in ReportDocument as below:

  • oRptDocument.ReportDefinition.ReportObjects
  • oRptDocument.SetDataSource
  • oRptDocument.SetParameterValue
  • oRptDocument.RecordSelectionFormula

Can’t we have a solution to the existing problem in such a way that instead of using new class we should go ahead with existing class only (and sort out the issue with creating an instance of ReportDocument class).


I'm sure somebody can recognize this error - any suggestions would be appreciated.