An important change has occurred to the report engine object model in version XI of Crystal Reports. In fact, you might not even have realized this change has taken place after using Crystal Reports XI for quite some time; however, it's important to understand. The object model that was previously supplied with the various .NET offerings that Business Objects has produced has talked directly to the Crystal Reports print engine. In version XI, the object model talks to the Report Application Server (a component of BusinessObjects Enterprise and Crystal Reports Server), and then in turn to the Crystal Reports engine. Although there is no immediate noticeable change to the way the engine operates, this is an important change for two key reasons:
As for the first point, the Report Application Server's API is available through the standard report engine object model. To access it, use the ReportClientDocument property of the ReportDocument object. The ReportClientDocument is the equivalent to the ReportDocument for the Report Application Server. It includes the capability to not only open and change reports, but also to create reports from scratch, add new report objects, add new data sources, and so on. For more information on the Report Application Server APIs, consult Chapter 34, "Crystal Report Modification and Creation APIs." |