There are several reasons why a Crystal Enterprise system might be broken up into server groups. Servers could be split up by geography, or by the database server they access. If this is the case, its often a requirement when scheduling that the report job run on a server in a specific server group. This is programmatically set via the ISchedulingInfo interface. The setServerGroup method can be called to indicate which server group to use. It accepts an integer that is the ID of the server group. The ID can be obtained by an InfoStore query. In addition, the setServerGroupChoice enables the developer to specify an additional level of control. It accepts a member of the GroupChoice enumeration as described here:
The following code schedules a report using a preferred server group of Vancouver Servers:
IInfoObjects serverGroupResults = iStore.query("SELECT SI_ID FROM CI_SYSTEMOBJECTS WHERE SI_NAME=Vancouver Servers"); IInfoObject serverGroup = (IInfoObject) serverGroupResults.get(0); ISchedulingInfo sched = report.getSchedulingInfo(); sched.setRightNow(true); sched.setServerGroup(serverGroup.getID()); sched.setServerGroupChoice(ISchedulingInfo.GroupChoice.PREFERRED); iStore.schedule(results);
All the settings around scheduling discussed this far in this chapter have been accessed via the ISchedulingInfo interface. These options are directly tied to the actual scheduling process. However, there are some other options that are relevant when scheduling that are accessed through the IReport interface. They are as follows:
Part I. Crystal Reports Design
Creating and Designing Basic Reports
Selecting and Grouping Data
Filtering, Sorting, and Summarizing Data
Understanding and Implementing Formulas
Implementing Parameters for Dynamic Reporting
Part II. Formatting Crystal Reports
Fundamentals of Report Formatting
Working with Report Sections
Visualizing Your Data with Charts and Maps
Custom Formatting Techniques
Part III. Advanced Crystal Reports Design
Using Cross-Tabs for Summarized Reporting
Using Record Selections and Alerts for Interactive Reporting
Using Subreports and Multi-Pass Reporting
Using Formulas and Custom Functions
Designing Effective Report Templates
Additional Data Sources for Crystal Reports
Multidimensional Reporting Against OLAP Data with Crystal Reports
Part IV. Enterprise Report Design Analytic, Web-based, and Excel Report Design
Introduction to Crystal Repository
Crystal Reports Semantic Layer Business Views
Creating Crystal Analysis Reports
Advanced Crystal Analysis Report Design
Ad-Hoc Application and Excel Plug-in for Ad-Hoc and Analytic Reporting
Part V. Web Report Distribution Using Crystal Enterprise
Introduction to Crystal Enterprise
Using Crystal Enterprise with Web Desktop
Crystal Enterprise Architecture
Planning Considerations When Deploying Crystal Enterprise
Deploying Crystal Enterprise in a Complex Network Environment
Administering and Configuring Crystal Enterprise
Part VI. Customized Report Distribution Using Crystal Reports Components
Java Reporting Components
Crystal Reports .NET Components
COM Reporting Components
Part VII. Customized Report Distribution Using Crystal Enterprise Embedded Edition
Introduction to Crystal Enterprise Embedded Edition
Crystal Enterprise Viewing Reports
Crystal Enterprise Embedded Report Modification and Creation
Part VIII. Customized Report Distribution Using Crystal Enterprise Professional
Introduction to the Crystal Enterprise Professional Object Model
Creating Enterprise Reports Applications with Crystal Enterprise Part I
Creating Enterprise Reporting Applications with Crystal Enterprise Part II
Appendix A. Using Sql Queries In Crystal Reports
Creating Enterprise Reporting Applications with Crystal Enterprise Part II