
- •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

NOTE: If an existing report is inserted as the subreport, then the subreportname includes the file extension (for example, user0@subreportname.rpt). However, if the subreport was created inside the main report (with Insert | Subreport, and using the Report Expert to create the new report) then the name of the subreport usually does not contain a file extension (for example, user0@subreportname) unless one is added in the"Report Name" text box of the Insert | Subreport dialog box.
NOTE: Make sure user IDs appear in the URL in the same order in which the password-protected databases appear in the report. Additionally, subreport user IDs must appear in the same order that the subreports appear in the report. If user IDs are not passed using the URL address, the user will be prompted for logon information at runtime.
NOTE: Reports that have the USER# or PASSWORD# commands applied will not have their pages shared. Caching will be by user.
SQL Stored Procedures and Parameter Fields
Seagate Crystal Reports supports designing reports based on stored procedures in SQL databases. Additionally, the Report Designer allows you to create parameter fields in the report itself. Both stored procedures and parameter fields can prompt users at runtime for a value to base the report on. For instance, a sales person may want to see sales information for their region only. When they request the report, the report can prompt that sales person to enter a region name. The report then delivers data just for that region.
When the Web Reports Server encounters a report containing a stored procedure or parameter field, it can automatically prompt the user requesting the report to provide a parameter value. The report is then generated based on the user’s input. The prompting page is dynamically generated at runtime based on the actual stored procedure or parameter field. The following image is an example of a parameter value prompt:
To prevent users from specifying their own values for parameter fields or stored procedures, use the PROMPT# command, Page 35 when specifying the URL of a report. PROMPT# lets you specify values for one or more parameter fields in a report. Alternately, you can design your own web based forms that accept user input and dynamically create the URL that includes the PROMPT# parameter and value.
NOTE: Users should not surround parameter values with quotation marks. All values are sent to the report as strings, regardless of the type of data. Parameters that expect numeric values interpret the string received when necessary.
Crystal Web Report Server |
34 |
The Crystal Web Reports Server does not validate any parameter values you specify for stored procedures or parameter fields. If the value you pass to the parameter is invalid, passing text information when a number is expected, for example, an error will not be returned to the web browser. In addition, the Crystal Web Reports Server does not allow you to change the format expected by parameters. Be sure to test any web site that accesses reports with stored procedures or parameter fields before allowing users to request such reports.
NOTE: Parameter fields and SQL stored procedures limit the effectiveness of report caching and job sharing. Since each report containing stored procedures or parameter fields may generate a different set of data every time it is requested, multiple requests for the same report may not be distributable among multiple users.
PROMPT# command
Specifies values for parameter fields in the report. parameter values are assigned to parameters in the order in which they exist in the report.
PROMPT#=<value>
«<value> is a string.»
For example:
prompt0=CA
NOTE: Do not use quotation marks around parameter values to indicate string values. All parameter values are passed to the report as strings. Intended numeric values are translated from strings to numbers by the report.
If the report contains more than one parameter field multiple values can be passed to parameters by incrementing the PROMPT index value. For example:
prompt0=CA&prompt1=1000
NOTE: Make sure parameter values appear in the URL in the same order in which the parameter fields and stored procedures appear in the report. If parameter values are not passed using the URL address, the user requesting the report will be prompted to provide values at runtime.
NOTE: Reports that have the PROMPT# command applied will not have their pages shared. Caching will be by user.
promptOnRefresh# command
Specifies whether report should prompt for parameter field values when refreshed.
promptOnRefresh#=<value>
«<value> is 0 or 1.»
For example:
promptOnRefresh=1
NOTE: Reports that have the promptOnRefresh command applied will not have their pages shared. Caching will be by user.
Crystal Web Report Server |
35 |

Report Exporting
The report server can export requested reports to the following formats,
●HTML 3.0(Draft Standard)
●HTML 3.2(Extended)
●HTML 3.2(Standard)
●Seagate Crystal Reports(RPT)
●Excel 2.1(XLS)
●Excel 3.0(XLS)
●Excel 4.0(XLS)
●Excel 5.0(XLS)
●Excel5.0(XLS)Extended
●Rich Text Format(RTF)
●Word Document(DOC)
The report server will assign the CONTENT-TYPE header the appropriate MIME-TYPE, therefore the browser can be configured to launch the appropriate application after downloading the file. To issue a request to the report server to export a report, the query string must contain two commands. These commands are "CMD" and "EXPORT_FMT". The CMD command must always be assigned the value "EXPORT", and the "EXPORT_FMT" command is assigned the desired Export Format. The table below lists the supported export formats and their corresponding EXPORT_FMT representation.
CMD# and EXPORT_FMT commands
Specifies that the report should be exported to the indicated format.
cmd=EXPORT&EXPORT_FMT=<EXPORT_FMT representation>
«<EXPORT_FMTt representation > is one of the following:
Export Format |
EXPORT_FMT Representation |
HTML 3.0(Draft Standard) |
U2FHTML:0 |
HTML3.2(Extended) |
U2FHTML:1 |
HTML 3.2(Standard) |
U2FHTML:2 |
Seagate Crystal Reports(RPT) |
U2FCR:0 |
Excel 2.1(XLS) |
U2FXLS:0 |
Excel 3.0(XLS) |
U2FXLS:1 |
Excel 4.0(XLS) |
U2FXLS:2 |
Excel 5.0(XLS) |
U2FXLS:3 |
Excel 5.0(XLS)Extended |
U2FXLS:4 |
Rich Text format(RTF) |
U2FRTF:0 |
Word Document(DOC) |
U2FWORDW:0» |
Crystal Web Report Server |
36 |