
- •Seagate Crystal Web Reports Server Overview
- •What is the Web Reports Server?
- •Who should use the Web Reports Server?
- •Web Reports Server Features
- •New Features in Version 7
- •The Web Reports Server vs. Active Server Pages
- •Sample Web Sites
- •Implementing the Web Reports Server
- •Choosing a Web Reports Server
- •System Requirements
- •Installing the Web Reports Server
- •Confirming Correct Installation
- •Virtual Directories
- •Creating a Web Site
- •For More Information
- •Crystal Web Reports Server Administration
- •The Web Reports Server Configuration Application
- •Page Server Tab
- •Image Server Tab
- •Report Exporting Tab
- •Server Mappings Tab
- •Report Viewing Tab
- •The Page Server and the Image Server
- •Smart Navigation
- •Drilling Down on Data
- •Database Location
- •Web Reports Server Commands
- •The Crystal Web Reports Server Command Expert
- •Constructing Report Requests
- •Changing Selection Formulas in Web Reports
- •SQL and ODBC Data Sources
- •SQL Stored Procedures and Parameter Fields
- •Report Exporting
- •Refreshing Web Report Data
- •Web Reports Server Architecture
- •The Web Reports Server Extension
- •The Seagate Crystal Web Image Server
- •The Seagate Crystal Web Page Server
- •Report Processing
- •Job Manager Overview
- •Seagate Crystal Report Engine Automation Server
- •Visual InterDev Design-time ActiveX Control
- •Using an Existing Report
- •Building a Report at Runtime
- •Editing Active Server Pages
- •Customizing the Crystal Smart Viewer
- •Modifying the Report
- •Session Timeout
- •Sample Web Site
- •Crystal Smart Viewer Overview
- •Features of the Crystal Smart Viewers
- •Printing from the Crystal Smart Viewers
- •Using Crystal Smart Viewers in Applications
- •Crystal Smart Viewer for HTML
- •Limitations of HTML Reports
- •Crystal Smart Viewer for Java
- •Adding the Viewer to a Web Page
- •Crystal Smart Viewer for ActiveX
- •AuthentiCode Certification
- •Adding the Viewer to a Web Page
- •Downloading the Viewer from the Server
- •ActiveX Viewer Example
- •Introduction to the Crystal Report Engine
- •Before using the Crystal Report Engine in your application
- •Using the Crystal Report Engine
- •Crystal Report Engine API
- •Declarations for the Crystal Report Engine API (REAPI)
- •Using the Crystal Report Engine API
- •The Print-Only Link
- •The Custom-Print Link
- •Working with Parameter Values and Ranges
- •Working with section codes
- •Crystal Report Engine API variable length strings
- •Crystal Report Engine API structures
- •Working with subreports
- •Changing report formats
- •Exporting reports
- •PEExportTo Overview
- •PEExportOptions Structure
- •Considerations when using the export functions
- •Handling Preview Window Events
- •Distributing Crystal Report Engine Applications
- •Additional Sources of Information
- •Using the Crystal Report Engine API in Visual Basic
- •When to Open/Close the Crystal Report Engine
- •Embedded Quotes in Visual Basic Calls to the Crystal Report Engine
- •Passing Dates/Date Ranges in Visual Basic using the Crystal Report Engine API Calls
- •Identifying String Issues in Visual Basic Links to the Crystal Report Engine
- •Hard-coded Nulls in Visual Basic User Defined Types
- •Visual Basic Wrapper DLL
- •Crystal ActiveX Controls
- •Adding the ActiveX Control to your Project
- •Using the ActiveX Controls
- •Upgrading from the Crystal Custom Control
- •Crystal Report Engine Automation Server
- •Adding the Automation Server to your Visual Basic Project
- •Using the Automation Server in Visual Basic
- •Object Name Conflicts
- •Viewing the Crystal Report Engine Object Library
- •Handling Preview Window Events
- •Distributing the Automation Server with Visual Basic Applications
- •Sample Applications
- •Active Data Driver
- •Data Definition Files
- •Using the Active Data Driver
- •Creating Data Definition Files
- •Using ActiveX Data Sources at Design Time
- •Crystal Data Object
- •CDO vs. the Crystal Data Source Type Library
- •Using the Crystal Data Object
- •Crystal Data Object Model
- •Crystal Data Source Type Library
- •Creating a new project and class
- •Adding the type library
- •Implementing the functions
- •Passing the CRDataSource object to the Active Data Driver
- •Crystal Data Source Projects
- •Grid Controls and the Crystal Report Engine
- •Bound Report Driver and Bound Report Files
- •Crystal ActiveX Control Properties
- •Creating a Bound Report using the Crystal ActiveX Control
- •Creating a Formatted Bound Report
- •Creating a Formatted Bound Report at Runtime
- •Sample Application
- •ActiveX designers
- •The Report Designer Component vs. Seagate Crystal Reports
- •Data Access
- •No drag and drop between reports – use copy and paste
- •Conditional Formatting
- •Preview Window
- •Pictures
- •Guidelines
- •Subreports
- •The dual formula environment
- •Application Distribution
- •Installing the Report Designer Component
- •System Requirements
- •Installation
- •Using the Seagate Crystal Report Designer Component
- •Adding the Report Designer Component to a Project
- •Selecting Data
- •The Report Expert
- •Adding the Smart Viewer
- •Running the Application
- •CrystalReport1 - The Report Designer Component
- •CRViewer1 - The Smart Viewer Control
- •The Code
- •Report Packages
- •Working with data
- •ADO and OLEDB
- •Connecting to data with ADO
- •Connecting to data with RDO
- •Connecting to data with DAO
- •Data Environments
- •Data Definition Files
- •Report Templates
- •ODBC, SQL, and PC data sources
- •Report Designer Overview
- •Introduction to the Report Designer Component
- •Report Designer Architecture
- •Report Designer Object Model Programming
- •Report Designer Object Model Introduction
- •Obtaining a Report object
- •Displaying the report in the Smart Viewer
- •Setting a new data source for the report
- •Using ReadRecords
- •Passing fields in the correct order
- •Working with secure data in reports
- •Handling the Format event
- •Changing the contents of a Text object
- •Changing OLE object images
- •Working with Sections
- •Working with the ReportObjects collection
- •Working with the FieldObject object
- •Working with the SubreportObject object
- •Working with the Database and DatabaseTables objects
- •Working with the CrossTabObject object
- •Exporting a report
- •The Application object
- •Report events
- •Microsoft Access Sessions
- •Programmatic ID
- •Report Distribution Considerations
- •Distributing reports as part of the application
- •Saving reports as external files
- •Saving data with reports
- •VCL Component Overview
- •Installation
- •Delphi 2
- •Delphi 3 & 4
- •C++ Builder 3
- •Programming Overview
- •Introduction to the Object Inspector
- •Changing Properties in the Object Inspector
- •Changing Properties at Runtime
- •Delphi Programmers introduction to the SCR Print Engine
- •Dealing with SubClass Objects
- •Consistent Code
- •Using the Retrieve method
- •Working with subreports
- •Other Guidelines
- •Programming Tips
- •Always Set ReportName First
- •Discard Saved Data
- •Verify Database
- •Connecting to SQL Servers
- •Changing Tables & Formulas
- •Changing Groups & Summary fields
- •Using the Send methods
- •Using the JobNumber property
- •TCrpeString
- •Introduction
- •TCrpeString VCL Properties
- •Using the TCrpeString
- •Using Variables with Formulas
- •Introduction
- •Examples
- •About Section Names
- •Introduction
- •Methodology
- •StrToSectionCode
- •C++ Builder 3
- •Introduction
- •Code Syntax
- •Additional Code Examples
- •Known Problems
- •Retrieving ParamFields from a Subreport
- •DialogParent and Temporary Forms
- •Technical Support

Running the Page Server as an NT Service
On Windows NT systems, the Page Server can be set up to run as an NT service. It is installed under a system account by default. NT services run in the background and do not require a user or administrator to be logged on to the web server machine. Most web server systems should run the Page Server as an NT service for best performance.
The Page Server appears as Crystal Web Page Server in the Windows NT Services control panel.
Job Manager Overview
Page caching and job sharing are implemented via the Job Manager (CRJM). This section provides a general description of the Job Managers function as it concerns Job Sharing and Page Caching:
When a client requests a report, that has not been requested before, the following occurs:
●A new report Job is created. A cache is created, which will hold report pages as they are requested. A reference to the report job is created. The reference has a unique id (Request Id) by which the client can access the job in the future.
●There is usually a refresh interval associated with a report job.This is the time interval (specified as the Database Refresh Time in the Configuration Manager) after which a new request for the same report will result in accessing the database for updated information. In other words if a new client requests the report after the refresh interval for the existing report job then new report job is created as a result.
●If a client referencing an existing report job selects refresh then a new report job is created and the client gets a reference to the new job.
Job Sharing
If the report contains saved data and there are no SF# and GF# commands or if a report does not have saved data and there ar no SF#,GF#,PASSWORD#,USER#,PROMPT# or promptOnRefresh# commands then the resulting report job can be shared. What this means is that requests for the same report (which occur within the same refresh interval) will result in references to the same report job.
There are conditions under which a shared report job will no longer be shared:
●If a client sharing an existing report job selects refresh then a new report job will be created and the client will receive a reference to the new report job.
●If a client sharing an existing report job submits a page request that includes one of the commands listed previously then a new report job will be created and the client will receive a reference to the new report job.
Page Caching
Associated with each report job is a cache to store requested pages. The pages are generated as requested, passed to the client and stored in the cache. If another client, who is sharing the same report job, requests a page which is already cached then that client will received the cached page. This can greatly reduce access time (subject to the traffic conditions of your network at any given time).
Crystal Web Report Server |
41 |
Job Examples
Reports with Saved Data
A report that is saved with data and does NOT have the sf or gf parameters applied to it, will have its pages shared by all users. If the report has the gf or sf parameters applied, the caching will be by user (same as Crystal Reports 6.0).
Reports without Saved Data
A report without saved data that does NOT have the sf, gf, user#, password#,promptOnRefresh, or prompt# parameters applied to it, will have its pages shared by all users. Due to the reports not being saved with data, the user must specify the database refresh time interval in the Web Reports Server Configuration utility. This interval indicates how often the database will be accessed. For example:
1.The database refresh time is set to 5 minutes.
2.User A selects report A1 (without saved data). Since User A is the first person to select this report, the database is accessed.
3.Two minutes after User A requested Report A1, User B selects Report A1. User A and User B will share the report's pages because the report was requested before the database refresh time expired. Thus, the database is not accessed.
4.Six minutes after User A requested Report A1, User C selects Report A1. Since the database refresh time interval has expired (the setting is 5 minutes and 6 minutes have passed since the database was accessed for this report), the database will be accessed and User C will not share his pages with User A and User B.
5.One minute after User C requested Report A1, User A selects his viewer's refresh button. User A and User C will share cached pages because User A requested accessing the database inside the database refresh time interval. The database was accessed one minute before by User C, and the database refresh time is 5 minutes.
6.Four minutes after User C requested Report A1, User B selects his viewer's refresh button. User B, User A and User C will share cached pages because User B requested accessing the database inside the database refresh time interval. The database was accessed four minutes before by User C, and the database refresh time is 5 minutes.
7.If the report has the sf, gf, user#, password#, promptOnRefresh#, or prompt# parameters applied, the caching will be by user (same as Crystal Reports 6.0).
Crystal Web Report Server |
42 |
Volume 1 |
|
2 |
Building Active Web Sites |
What you will find in this chapter...
Note: This chapter contains information specific to the
Professional Edition of Seagate Crystal Reports.
Seagate Crystal Report Engine Automation Server, Page 44
Visual InterDev Design-time ActiveX Control, Page 44
...including an overview, using an existing report, and building a report at runtime.
Editing Active Server Pages, Page 47
...including customizing the Smart Viewer, modifying the report, and session timeouts.
Sample Web Site, Page 48
Building Active Web Sites |
43 |