Quantcast
Channel: SCN : Document List - SAP Crystal Reports
Viewing all 260 articles
Browse latest View live

Crystal Reports 2008 (12.x) Updates & Runtime Downloads

$
0
0

Purpose

 

The purpose of this document is to provide a quick look-up of all Support Packs, Fixed Issues and Distribution File downloads available for Crystal Reports 2008.

 

 

Visual Studio .NET Development

 

Crystal Reports 2008 is a 32 bit product. There are no 64 bit runtimes for this version of Crystal Reports. For supported versions of Visual Studio .NET, see the wiki Which Crystal Reports assembly versions are supported in which versions of Visual Studio .NET.

 

Service Packs, Fixed Issues and Distribution File downloads

 

Fixes for each Support Pack are prioritized and at this time will be released on a yearly bases. Service Pack 6 is scheduled for March 2013.

All Crystal Reports 2008 even numbered Service Packs are incremental. Incremental Service Packs are smaller, but must be installed on top of a previous version of Crystal Reports 2008. Thus as an example; in order to apply Service Pack 2, it is necessary to apply Service Pack 1 first. Full Service Packs are larger, but can be installed on workstations with no Crystal Reports 2008 installed (keycode required). The most recent Service Pack in the below table is listed first.

 

Note:At this time (May 2013) Service Pack 5 and Service Pack 6 for SAP Crystal Reports 2008 are only available on the SAP Market Service Place. Both SPs should be available soon on SCN via a new SAP Download Portal. SAP Crystal Reports 2008 SP6 for Windows - Supported Platforms can be seen at the following link:

 

http://scn.sap.com/docs/DOC-42222

 

 

 

Install ExecutableFixed IssuesRelease NotesMSIMSMClickOnce
Service Pack 7 (12.7.x)Service Pack 7 Fixed IssuesService Pack 7 Supported PlatformsCRRuntime_12_5_mlbCRRuntime_12_5CrystalReports 12.5
Service Pack 4 (12.4.x)^Service Pack 4 Fixed IssuesService Pack 4 Release NotesCRRuntime_12_4_mlbCRRuntime_12_4CrystalReports 12.4
Service Pack 3 (12.3.x)Service Pack 3 Fixed IssuesService Pack 3 Release NotesCRRuntime_12_3_mlbCRRuntime_12_3CrystalReports 12.3
Service Pack 2 (12.2.x) *Service Pack 2 Fixed IssuesService Pack 2 Release NotesCRRuntime_12_2_mlbCRRuntime_12_2CrystalReports 12.2
Service Pack 1 (12.1.x)NAService Pack 1 Release NotesCRRuntime_12_1_mlbCRRuntime_12_1CrystalReports 12.1
RTM (12.0)NANACRRuntime_12_0_mlbCRRuntime_12_0CrystalReports 12.0

 

* Incremental build - requires Service Pack 1 as a prerequisite

^ Incremental build - requires Service Pack 3 as a prerequisite

 

Note: File downloads for CR 2008 SP5 are no longer available via this document. A new downloads location will be put into effect soon.

 

Please post queries regarding downloads to the SAP Crystal Reports SCN Spaceas Discussions, not as Comments.

 

Related Content

 

Related Documents

 

What's New in Crystal Reports 2008

Crystal Reports 2008 User's Guide

Crystal Reports .NET SDK Developer Guide

Crystal Reports .NET API Reference

Report Application Server .NET SDK Developer Guide

Report Application Server .NET API Reference

Report Application Server .NET Object Model Diagram

 

For more information, use the search box in the right top corner of this page. Ensure that "All of SAP" is selected from the drop down.


BusinessObjects XI 3.1 SP7 Integration for JD Edwards EnterpriseOne - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP7 Integration for JD Edwards EnterpriseOne.

View this Document

BusinessObjects XI 3.1 SP7 Integration for Oracle E-Business Suite - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP7 Integration for Oracle E-Business Suite.

View this Document

BusinessObjects XI 3.1 SP6 Integration for SAP Solutions - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP5 Integration for SAP Solutions.

View this Document

BusinessObjects XI 3.1 SP7 Integration for SAP Solutions - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI 3.1 SP7 Integration for SAP Solutions.

View this Document

BusinessObjects XI 3.1 SP7 Integration for PeopleSoft Enterprise - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP7 Integration for PeopleSoft Enterprise.

View this Document

SAP Crystal Reports 2008 SP7 for Windows - Supported Platforms

$
0
0

This document contains information specific to platforms and configurations for the SAP Crystal Reports 2008 SP7 for Windows.

View this Document

BusinessObjects XI 3.1 SP7 Integration for Siebel - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP7 Integration for Siebel.

View this Document


Official Product Tutorials – SAP BusinessObjects Crystal Reports for Enterprise

$
0
0

The following tutorials have been developed to help you get started using the Business Intelligence Suite products. New content is added as soon as it becomes available, so check back on a regular basis.

 

You can submit and vote on ideas for enhancements to this product, or submit and vote on ideas for new tutorial topics or improvements to tutorial formats and delivery.

 

Looking for eLearning for the rest of the Business Intelligence Suite? Go to sap.com/LearnBI.

 

Key Concepts

  • NEW for 4.1 SP5 What’s New in Crystal Reports for Enterprise 4.1 SP5 (0:24)  video
  • NEW for 4.1 What's new in SAP Crystal Reports for Enterprise 4.1 (2:15)     interactive/ video
  • NEW for 4.0 SP5 What's new in SAP Crystal Reports for Enterprise 4.0 SP5 (:55)     interactive / video
  • NEW for 4.0 FP3  Concept: What's new in SAP Crystal Reports for enterprise 4.0 Feature Pack 3 (5:04)     interactive / video
  • NEW for 4.0  Concept: Navigate the interface (7:12)     interactive /video
  • Concept: Create a report (2:56)     interactive /video
  • Concept: Describe how the semantic layer works (2:11)     interactive /video
  • Concept: Compare Crystal Reports 2011 and Crystal Reports for enterprise     interactive
  • UPDATED  Concept: Compare Crystal Reports 2011 and Crystal Reports for enterprise 4.0 Feature Pack 3     interactive
  • UPDATED for 4.1 SP4  Concept: Navigate the interface (5:09)    interactive /video

 

Getting Started

 

Connecting to Data Sources

  • Connect to SAP HANA using a relational connection (1:53)     interactive /video
  • NEW for 4.0  Connect directly to a BEx query (3:50)     interactive /video
  • NEW for 4.0  Connect to an Analysis View (1:21)     interactive /video
  • Change the data source for a report (2:31)     interactive /video
  • NEW for 4.0 FP3  Create a report based on an unmodeled relational data source (5:51)     interactive / video
  • NEW for 4.0 FP3  Bind SAP BEx Report-to-Report Interface (RRI) actions to report objects (2:18)     interactive / video
  • NEW for 4.0 FP3  Map a report or report template to a data source (5:38)     interactive / video
  • NEW for 4.0 FP3  Work with scaled values in BEx queries (2:30)     interactive / video
  • NEW for 4.0 FP3  Perform level or prompt-based member selection on hierarchical data (3:12)     interactive / video
  • NEW for 4.1  Work with hierarchy and hierarchy node variables in BEx queries (3:22)     interactive / video
  • NEW for 4.1  Use freehand SQL commands with relational data sources (1:20)     interactive/ video
  • NEW for 4.1  Create an OLAP connection to a HANA View (1:14)     interactive/video
  • NEW for 4.1 SP3  Change the order of BEx variable or universe prompts (1:29)    interactive /video
  • NEW for 4.1 SP4  Create a connection and log on to an SAP HANA server (1:12)    interactive /video
  • NEW for 4.1 SP4  Save a report to the SAP HANA platform (1:01)    interactive /video
  • UPDATED for 4.1 SP4  Connect to a HANA view and create a report (2:45)    interactive /video
  • UPDATED for 4.1 SP4  Map a report to a new data source (2:23)    interactive /video

 

Working with Charts

 

Working with Tables and Crosstabs

 

Selecting, Sorting, Grouping, and Summarizing Data

 

Setting up Interactive Elements

 

Working with Formulas

 

Working with Subreports

 

Applying Formatting

 

To view the full Crystal Reports for enterprise 4.0 playlist on Youtube, click here.

 

To report a technical issue with a tutorial, send an email to: BI_Suite_eLearning@sap.com.

 

Additional Recommended Content

Crystal Reports for Enterprise 4.1 SP4: View the data for a dimension or hierarchy

$
0
0

You can view the data for a dimension or hierarchy without adding it to your report. In this tutorial, you will view the values for a hierarchy and several hierarchical levels in SAP Crystal Reports for Enterprise.

Watch this Tutorial

Crystal Reports for Enterprise 4.1 SP4: Save a report locally

$
0
0

You can save Crystal reports locally with or without data. In this tutorial, you will save a report locally both with and without data.

Watch this Tutorial

Crystal Reports for Enterprise 4.1 SP4: Create an interactive sort control

$
0
0

You can add a sort control to a group or column to enable users to change the sort direction when they view the report. In this tutorial, you will insert a sort control on a report column.

Watch this Tutorial

Crystal Report Using Sub Reports

$
0
0

Purpose of the document

This document is useful for a new user of Crystal Report Enterprise 4.0.

 

Introduction

In this Part we will understand that how to create Crystal Report using a Sub Report in Crystal Report Enterprise 4.0.

A Work Book can contain many Reports in the Form of Tabs (Circled in the above screenshot). So we have to use the “Sub Report” concept in creation of CRE.

 

Prerequisites for the Creation of Crystal Report:

To start preparation of a CRE on a workbook we need a Main Report where we will attach the Sub Reports.

To refer this document the only prerequisite is user should have knowledge of SAP BEx (Business Explorer).

Here
we refer a workbook to prepare a Crystal Report using Sub Reports,
below are the steps that a user should follow to start work on Crystal
Report Enterprise 4.0.


 

 

Creation of Crystal Report:


Now to create the Main Report login to CRE 4.0 and Click on the File Tab then select the option “From Data Source”.


Then the below screen will appear and you have to select the intended “Data Source”

 

 

 

Then Click on Next Tab and select any one or two fields into the “Result Objects for Query” Screen.



 

Then click on Finish Tab and execute this Main Report.

 

Then click on the Structure Tab (Circled).


 

 

Then right click and delete the fields. Now use the “Sub Report” Concept.

 

 

 

 

Then insert sections in Body Portion so that we can insert our reports as Sub Reports.

 

 

 

Inclusion of Sub Reports:


Then click on the “Sub Report” Tab and place the Sub Report into the Body Section.


 

Then the below screen comes where you have to use the Using Existing Report option and browse the Sub Report that you want to add here.


 

Note: Here I used an already prepared crystal report as a Sub Report.

         You can also create a Sub Report in the Main Report via selecting option “Create a new report” on the above screen.

         For creation of new sub report you should have the IDT connection.

         Then select the required report via Browse option and click on the Open Tab.

 

 

Then the below screen comes where you have to click on the Next Tab. If you click on the ADD Tab thenit
will show the filter on your main report (if it has) and you can link
that with the sub report. (Here the main report does not have any
filter)



Then on the Next screen you have to click on the ADD Tab then you will get the fields that will pass the data between the Main Report and the Sub Report through a Link.


 

So select the same fields in the Main Report and the Sub report Parameters and click on the Finish Tab.




Now your Sub report will appear into the Body Section.

Then Right Click on it and select the “Format Sub Report” Option.

 

 

 

Then give the Sub Report’s Name. To change the Sub Report you have to click on the Source Tab and Browse the report from Local Place.

If you choose On Demand option then only the Sub Report appears in the Page View (via Page Tab) and to get the data of that sub report you have to Double click on the Sub Report.


Usage of Tabs:


Sub Report:  Using this tab you can choose the report that you want to add/replace as a Sub Report into the Main CRE.

                   
When you click on the Source tab then it will take you to the file
selection window from there you can select your file.


 

 

 

 

When you click on Open the report will get affix on the Body section of the Main CRE.

 

General Tab: Here you can hide the sub report via writing formula.


 

 

If we select “Avoid Page Break” option here then the sub Reports will appear on the same page at structure level.


 

If we select the option of “Can Grow
then the sub report can expand up to the size of the “Body” section of
the Main Report. Otherwise you have to manually adjust the size of the
sub reports.

 

 

Font Tab: Using font tab you can set the font type, size and other settings.


 

If you choose “Strike through” then the sub report’s name will be strike out at structure level.

 

 

 

Using option “Underline” the sub report’s name will be underlined at structure level.


 

Using “Alignment” option we can set that where the sub report will be aligned into the Main Report.

 

Appearance Tab: Using this tab we can set the border of the Sup Report.

     If we choose the option “CloseBorder on Page Break” then the border will automatically get closed at the page end and the rest record will publish on the next page.

 

 

 

Section Level SettingIn the body section if you right click and select the option of “Format Sub Report", then on the “Paging” option you can give the page orientation type that will help to view your report as per the size.

                                     Here I selected “Landscape” as page orientation type because the number of columns is more in my report so the required width of the report is also more.



After successful execution of the report its output will be looks like the below screen shot.


 

 

Now you can move from one sub report to another by using the “Next Page” tab. (Circled Below)

 

 

 

Format Selection in CRE 4.0:

You
can also select the format in which you want to publish the report in
CRE 4.0 and can check if any change is required in your original crystal
report to support the required format.

Use the circled icon just below the Format tab and select the required format. (refer below screenshot)


 


After
selection of the format like “Export to PDF”, on the next window you
can select the number of pages of your report to check the publish
format and you can make this publish format as a default format for any
CRE.

 

 

 

Now when you click on the “OK” tab then on the next window you have to select the options regarding to save the report.

 

 

 

If you click on To file
tab then it will ask to store the file in the desired format and you
have to manually go to the stored place and open the report.

 

If you select To Application tab then the report gets open in Adobe Reader and then you can save it.

 

Now the report finally looks like: (in PDF format)

 

Printing Crystal Reports

$
0
0

Purpose

 

This document in an introduction to a series of documents that will discuss how Crystal reports formats and thus prints, exports and views reports. All of the documents in this series are authored by Donald Williams and Ludek Uher, both Senior Support Engineers at AGS Product Support. The series of documents will include the following headings:


Printing Crystal Reports – Basics

 

Printing Crystal Reports - More Basics

 

Printing Crystal Reports – Custom Paper Sizes (Under Construction)

 

Printing Crystal Reports – Architecture (Under Construction)

 

Printing Crystal Reports – Using .NET SDK (Under Construction)

 

 

Overview

 

The intent of this series of documents is to demystify how Crystal Reports prints, exports and looks in the various viewers (designer, BI Platform and Visual Studio .NET). The documents will explain how Crystal Reports uses printer drivers to design reports, how printer drivers affect report design and how to control report printing in Visual Studio .NET applications.

Printing Crystal Reports – The Basics

$
0
0

Purpose

 

Printing Crystal Reportsis a series of documents that explain how Crystal Reports behaves when viewing, exporting and printing. The series is authored by Donald Williams and Ludek Uher, both Senior Support Engineers at AGS Product Support. The documents apply to Crystal Reports 2013 and SAP Crystal Reports, Developer Version for Visual Studio .NET only.

 

 

Overview


Crystal Reports uses printer drivers to construct it’d design pane. Due to this printer dependency, when reports are deployed to other computers, the print and view may not be as expected.  Understanding the concepts covered in this series of documents will help you achieve consistent printing and viewing output when deploying reports to different environments.

 

 

Basics – Before Designing a Report


Crystal Reports relies on printer drivers to render the report (view, export and print). Therefore the initial consideration is not Crystal Reports. Rather, it is the printer driver that will be used when the report is being designed and the printing requirement when the report is deployed to other systems. The printer driver defines the report design pane; paper size, paper orientation, paper name and page margins. Additionally the report queries the printer driver for each of the font elements (font metrics), such as average character height, character width, height of the ascenders and descenders etc. The screen shot below shows the default paper properties of the HP Universal PCL 6 (HP PCL 6) printer driver.


Fig 1.png

   Fig. 1


When a report is created the report will use the default printer driver installed on the development computer.

 

Deploying a report may involve sharing the report with another Crystal Reports designer, running the report in an application that uses one of the Crystal Reports Solution Development Kits, or running the reports in a SAP BusinessObjects BI Platform setting.  Printer drivers used on deployed systems may
lead to output inconsistencies – when viewed, when exported and when printed.

 

Note: In this document, the term “printing” will typically encompass viewing, exporting and printing to a printer.

 

          Inconsistencies due to printer drivers


Inconsistencies (viewing, exporting and printing) may occur if the printer driver on the deployed system is different than the printer driver used to create the report. These inconsistencies are a result of the various methods that individual printer drivers use to measure text metrics such as font size. When printed, text-based objects may be misaligned, truncated, overprint each other and so on. Examples of text-based objects include string or character fields, text objects, memo fields, numeric fields, and formula fields.

 

Problems such as these may arise when you have:

 

  • Two identical printers, but each one is using a different printer driver.
  • Two different printers using the same printer driver.
  • Two different printers using different printer drivers.
  • One printer driver that uses the TrueType font and a second printer driver that maps TrueType fonts to PostScript fonts.
  • Two identical printers using the same printer driver, but each one is printing from a different version of Microsoft Windows.
  • Two identical printers using the same printer driver, but the printer drivers are different versions.
  • Two identical printers, two identical printer drivers, and two identical operating systems, but the resolution of the video drivers is different.

 

First step to resolving the above noted issues is to ensure that the installed printer driver is updated with the most recent patches and that it is designed for the Operating System.

 

It is the responsibility of the report author to design reports that accommodate printer driver dependencies and still print consistently using different printer drivers. To do this, Crystal Reports provides several design solutions. If taken into account when creating the report.

 

For reports that will be viewed online (Web applications or BI Platform viewer), you can avoid inconsistencies due to printer drivers by disabling the report's reliance on a printer driver. For more information on disabling a printer driver, see No Printer (optimize for screen).

 

 

 

The Crystal Reports Page Setup Dialog

 

This dialog box appears when you choose the Page Setup command from the File menu and for our example looks as in the following screen shot.

 

When the HP PCL 6 printer driver is set as the default printer driver, the report will use that printer’s information regarding paper size, paper name paper margins and more. Thus looking at the Page Setup dialog in the Crystal Reports designer, we see the following:

 

printing Crystal Reports Basics Fig 2.png

     Fig. 2

 

Note that the Document Size from the printer driver is the same as described in the Page Setup dialog; Letter (8.5’’ x 11’’). Also, the paper Margins information is retrieved from the HP PCL 6 printer driver. This is a critical piece of information as changing printer drivers may lead to, at minimum incorrect print out and at worst an apparent data loss. Using the above printer driver the report design pane will look as in the following screen shot:

 

printing Crystal Reports Basics Fig 3.png

     Fig. 3

 

Notice that the design pane is not 8.5’’ wide (Horizontal dimension). Rather it is 8.5’’ minus left + right margin. The same is the case for the paper length (Vertical dimension). The pane will be limited to 11’’ minus the top + bottom margin.

 

          No Printer (optimize for screen)

 

When the “No Printer (optimize for screen viewing)” option is enabled, the report does not use a printer driver to render the report layout and display. To see the effect, consider a report that is based on an HP PCL 6 printer driver with page size of 8 ½ X 11 as default. When the “No Printer” option is enabled, the Page Setup dialog displays the following:

 

printing Crystal Reports Basics Fig 4.png

          Fig. 4

 

Note the difference. Originally, the paper name was Letter (8.5’’ x 11’’), now it is 8.5 x 11’’ (Letter). Additionally the paper size has changed from 8.501 to 8.500 Horizontal and 11.001 to 11.000 Vertical. The change is due to the report using its own internal “printer driver” which locates the closest paper dimensions and paper name to that defined by the default printer driver used to create the initial report design pane.  The Crystal Reports available paper size design conditions in this case can be seen in the Page Setup dialog:

 

printing Crystal Reports Basics Fig 5.png

     Fig. 5

 

All of the paper sizes visible in the Page Setup dialog when the “No Printer” option is enabled are defined internally in the report engine and not by any printer driver. The option should be selected to format reports for web viewing as different printer drivers may render the report objects into different sizes, positions and so on. When the option is selected the report will not get associated with any printer. The report engine will format the report using the settings from the report or the settings provided from the code (if using one of the Crystal reports Solution Developer Kits). Use the “No Printer” option for reports that will be printed from web applications and from SAP BusinessObjects BI Platform (Business Objects Enterprise). Unless(!), the report must use a very particular and specific printer driver. An example may be a label printer.

 

NOTE: With the "No Printer" option enabled, exporting to any format, the selected paper size will not be maintained. The paper size will default to 8 1/2 X 11 inch paper size. To maintain selected paper size, the "No Printer" option must not be enabled.

 

          Dissociate Formatting Page Size and Printer Paper Size

 

For this option, we first need to understand what the option is actually trying to say. What is “Formatting Page Size” and what is “Printer Paper Size”?

Formatting Page Size is the page size as remembered by the report, but it is based on the size of the paper as defined by the printer driver. Printer Paper Size is the size of the paper as defined on the printer driver. When a report is initially designed, “Formatting Page Size” and “Printer Paper Size” are identical. There are a number of instances when this option needs to be considered;

 

  1. Creating a custom size (user defined paper size) report within the Crystal Reports Designer. This would usually apply to labels, but not exclusively.
  2. The report will be used to print on 8 ½ X 11 as well as A4 paper size.
  3. When creating reports for label printers. Labels will often be defined as custom paper size.
  4. View a report as one long page (used for web viewing).
  5. Viewing a report that is wider than paper size defined by a printer driver. This could be a 100 column report whose total width will span tens of inches. A typical printer driver will not be able to print any document with a width of tens of inches.

 

Note that the report engine will scale the report to fit on the paper it is requested to print on. This may result in smaller font being used. Margins may also be altered to conform to the scaling.

 

          Page Margins


Page Margins are also based on the paper size as defined on the printer driver. In the Page Setup dialog, these can be modified and saved into the report, thus over-riding the printer paper margins – if supported by the printer driver. Note that when Crystal Reports sees a paper margin on the printer driver that is set to zero, the margin will be adjusted to 0.25 inches. If you want a zero margin maintained, you must set it in the Page Setup dialog.

 

               Adjust Automatically


When enabled, this option takes effect if a new page size is selected. If the page size is large enough for the current printable area, Crystal Reports will increase or decrease the margins by enlarging or reducing the left/right and top/bottom margins by the same factor. If the new page size is smaller than the current printable area, Crystal Reports fills the entire page by reducing the margins to 0. Note that if a larger page is set after a smaller page size is set, the printable area will be kept and the left/right, top/bottom margin ratios will be 1:1.

 

               Margin Conditional Formula


The Conditional Formula allows you to control page margins on a set condition. For example a conditional formula could check for odd and even page number. If page number is odd, the page margin could be set to one inch, else two inches. For more details see the Crystal Reports Help file.

 

 

 

Report Initial Print Condition

 

We can finally look at how the report engine constructs and uses the design pane. We can also start to understand why a choice of printer driver may become one of the most important considerations in report design. When a report is created (File | New Report):

 

printing Crystal Reports Basics Fig 6.png

     Fig. 6

 

The report engine uses the default printer driver to build the design pane. However, the printer driver and its default page information is not saved into the report. Rather, the report engine looks for the closest matching paper information in its internal list and uses that information (see Fig. 5).

 

 

 

Printing Free Flow Document vs. Object Layout Document


Crystal Reports is an object layout oriented application as opposed to free flow design in applications such as Microsoft Word. A free flow document designed on an 8 ½ X 11 inch paper size, printed on an A4 paper (8.27 X 11.69 inches) will automatically adjust for the paper difference:

 

    printing Crystal Reports Basics Fig 7.png

           Fig. 7

 

The above example demonstrates the horizontal difference only, but similar differences would occur in the vertical dimension. The same text placed in a text object in Crystal Reports will look as follows:

 

printing Crystal Reports Basics Fig 8.png

     Fig. 8

 

Note that the last two words (“how to”) on the second line is cut to “hov”. This is because Crystal Reports cannot flow adjust to the smaller horizontal dimension of the A4 paper size.

It is interesting to see that in report design view, the whole text object is visible, but part of the object is rendered off screen or off paper and thus the reason why part of line two is cut off:

printing Crystal Reports Basics Fig 9.png

     Fig. 9

 

Different printer drivers may cause similar issues even if they use 8 ½ X 11 inch paper as they may define different default paper margins.

 

 

Conclusion


Crystal Reports uses printer drivers to create the report design pane and to render the reports to screen, print and export. Printer drivers will affect the report behavior when the report is deployed to other computers and it is the report author's responsibility to choose the correct report initial conditions.


Printing Crystal Reports - More Basics

$
0
0

Purpose

 

Printing Crystal Reportsis a series of documents that explain how Crystal Reports behaves when viewing, exporting and printing. The series is authored by Donald Williams and Ludek Uher, both Senior Support Engineers at AGS Product Support. The documents apply to Crystal Reports 2013 and SAP Crystal Reports, Developer Version for Visual Studio .NET only.

 

 

Overview

 

This document builds on, and adds to the document Printing Crystal Reports - The Basics. This document provides explanation as to why Crystal Reports and most other applications for Microsoft Windows Operating Systems are dependent on printer drivers and fonts when printing documents, viewing documents and in the case of Crystal Reports exporting to other formats.

 

With this knowledge, report designers, application developers and other CR users who print on multiple platforms will be better equipped to design reports that will accommodate printer driver dependency and print consistently across multiple environments.

 

Significant parts of this document uses information from the SAP document Crystal Reports 5, 6,7 & 8 Printer Driver Dependency; How to design reports that print consistently in different PC environments. Additional documents referenced in this series of are listed in the introductory document Printing Crystal Reports. As well, there are many additions and new information applicable to SAP Crystal Reports 2013 and SAP Crystal Reports, Developer Version for Visual Studio .NET.

 

 

Printer Drivers and Fonts

 

Before considering printer, viewer and export issues with deployed reports and how to resolve such issues, it is necessary to review how Microsoft Windows Operating Systems handle printers and fonts.

 

     Fonts

 

The choice of font type in report design must be one of the first considerations. True Type and Open Type fonts would apply for the most generic usage reports. The Microsoft document What's the difference between TrueType, PostScript, and OpenType fonts?, explains the differences between the fonts and their best usage:

 

What's the difference between TrueType, PostScript, and OpenType fonts?


TrueType fonts can be scaled to any size and are clear and readable in all sizes. They can be sent to any printer or other output device that is supported by Windows. OpenType fonts are related to TrueType fonts, but they incorporate a greater extension of the basic character set, including small capitalization, old-style numerals, and more detailed shapes, such as glyphs and ligatures. OpenType fonts can also be scaled to any size, are clear and readable in all sizes, and can be sent to any printer or other output device that is supported by Windows.

 

PostScript fonts are smooth, detailed, and of high quality. They are often used for printing, especially professional-quality printing, such as books or magazines. 

 

Which font format will work best for me?

 

It depends. If you want a font that prints well and is easy to read on the screen, then consider using a TrueType font. If you need a large character set for language coverage and fine typography, then you might want to use an OpenType font. If you need to print professional-quality print publications, such as glossy magazines or commercial printing, PostScript is a good choice.

 

The following considerations must be made regarding font choices before designing a Crystal Report:

  •   Will the report be only viewed in the Crystal Reports designer on the report author’s computer?
  • Will the report be viewed on other computers using the Crystal reports designer or the Crystal Reports viewer?
  • Will the reports be printed?
  • Will the reports be exported?
  • Will the reports be used in a Visual Studio .NET Windows application?
  • Will the reports be used in a Visual Studio .NET Web  application?
  • Will the reports be used with Crystal Reports Server or SAP BusinessObjects BI Platform?
  • Will the report always use the same printer driver?

 

                                   A note for Visual Studio .NET developers

 

Visual Studio does not support fonts that are not True Type or Open Type. PostScript-Type-1-fonts (.pfm, .pfb) are not supported by GDI+.From SAP KBA 1706167 - Error: Failed to export the report - when exporting to PDF file format:

 


When using Font, InstalledFontCollection, FontDialog and SystemFonts, the following font formats are not allowed by the .NET Framework:

Device-specific/printer fonts

Raster/bitmap fonts

OpenType (Microsoft fonts are allowed, Adobe fonts are not allowed)

PostScript Type 1

Use TrueTypeFonts

Use OpenType fonts from Miscrosoft only


Once a correct font is chosen for the report, the next consideration is; how will printer drivers affect my reports?

 

 

How MS Windows Applications Use Printer Drivers to Paginate a Document


All Microsoft Windows programs require a printer driver to paginate documents. Printer drivers measure font information, based on the particular font selected and the font’s point size. The printer driver applies values (in pixels) such as the average character height, character width, height of the ascenders and descenders, internal leading, external leading, and maximum character width and more  to each of the font elements True type fonts can be sized to any height that is accepted by the printer driver. True type fonts are WYSIWYG type fonts meaning they can be printed exactly as they appear on the screen. For more information on True Type Fonts, search the Windows online help.

 

printing Crystal Reports More Basics Fig 1.png

 

When a particular font is selected, the MS Windows program executes a GetTextMetrics API call that queries the printer driver. The printer driver returns the TextMetric structure that contains the elements mentioned above and their assigned values. A structure exists for all fonts and all point sizes of a specific font. Now that the MS Windows application has all of the font information, it can assemble or paginate the document.

 

Inconsistency may crop up because different printer drivers measure the same font differently. For example, if a TrueType font is realized (measured) on two printers that use the same printer driver and installed on the same version of MS Windows, the two fonts should have identical text metrics (the values, in pixels, of each of font elements should be the same). Problems may arise when:

 

     •Two identical printers, but each one is using a different printer driver. Many printers can be driven using several different print drivers.

     • Two different printers using the same printer driver. Some drivers can be used to drive several different printers.

     • Two different printers using different printer drivers.

  • One printer driver that uses the TrueType font while the other maps the TrueType font to a PostScript font (e.g. LaserJet in PCL mode versus  LaserJet in Postscript mode).

     • Two identical printers using the same printer drivers but each one is printing from a different version of MS Windows.

     • Two identical printers where each printer is using the same printer driver, such as Hppcl5ms.drv, but the printer drivers are different versions.

  • Two identical printers, two identical printer drivers, and two identical operating systems; however, the resolutions of the video drivers are different.

 

 

For example, a document using one printer driver may require six full lines to display a block of text; however, another printer driver that measures fonts narrower could result in the same block of text requiring less than six full lines. A third printer driver that measures fonts wider could require six full lines plus a seventh line to display the last one or two words.

 

     Unicode Printer Drivers

 

Crystal Reports 9 and above use the Microsoft Unicode Script Processor library (USP10.dll), also known as Uniscribe.  The Unicode Standard defines codes for characters used in all the major languages written today. Scripts include the European alphabetic scripts, Middle Eastern right-to-left scripts, and many
scripts of Asia. Additionally:

 

  • Unicode provides a unique encoding for characters, no matter what the platform, program or language.
  • Unicode is required by modern standards for XML, Java, ECMA Script (JavaScript), LDAP, CORBA 3.0, WML and so on.
  • Unicode is supported in many operating systems, all modern browsers, and many other products.
  • Unicode enables a single software product or website to be designed to target multiple platforms, languages and countries without re-engineering. It allows data to be transported through many different systems without corruption.
  • Uniscribe also handles scripts written from right to left, such as Arabic or Hebrew, and supports the mixing of scripts. Therefore, Crystal Reports, beginning with Version 9, can display multiple language characters.

 

Note:

Most older dot matrix printers are not Unicode compliant resulting in slow printing, incorrect print layout and other issues. If you are using a dot matrix printer, ensure that the printer driver is Unicode compliant and designed for the Operating System.

 

 

An Exercise in Printer Driver Dependency

 

To see an example of printer driver dependency, using MS Word, MS Excel and Crystal Reports create a few documents using:

  • A word processor such as Microsoft Word.
  • A spreadsheet application such as Microsoft Excel.
  • SAP Crystal Reports.
  • And/or other applications that you have installed.

 

 

1. Design these documents using your current printer set as the default printer. The information in these documents should completely fill the page and print      right up to the margins.

 

2. Print and close the documents. Make a note of where the pages break and individual lines wrap the text.

 

3. Set up another printer and set it as the default printer. You do not need to have the actual physical printer present to set one up. If you do not have a       second physical printer, you will only be able to view the examples on screen and compare them to your printed examples. If you can, make sure that the      actual printer driver used by the second printer is different. Many printer drivers are universal drivers and are used to drive a number of different printers.

 

4. Open each of the three documents again and preview them without making any modifications to them. If you have access to two very different printers,      take the opportunity to print the examples and compare them. Printing to a postscript printer using a postscript and a non-postscript driver will also yield      similar results.

 

You will notice that while no information is lost, line breaks, width of the fonts, inter-line spacing, inter-character spacing, and page breaks, etc., will all be different. Depending on the drivers you choose for this exercise, the difference between the two sets of documents will vary from no difference at all to significant reformatting occurring.

The results of the above exercise will occur using all versions of MS Windows. Different programs and different drivers will illustrate varying degrees of difference. Also, the same printer driver used in a different version of MS Windows will yield different results.

As another example, instead of changing the printer driver for the second set of documents, simply change the video resolution. You will also notice differences. The important point to note is that different hardware and software environments interpret and print the same documents differently.

 

 

Conclusion

 

The choice of application, fonts, printer drivers, video driver, screen resolution, Operating System and more influence the way any document will print in a Windows environment. It is up to the author of the document, be it Crystal Report or other, to decide on the best way to construct the document –  depending on the use case scenario.

Using Optional Parameters in a Command Object

$
0
0

It is always nice to have options.  Optional parameters can greatly enhance the functionality of your Crystal Reports and can be designated as such when you are creating a new parameter outside of a Command object by setting the Optional Prompt setting to “True”.

However, there is no way to specify a parameter as optional when created and used within the Command object.

I had always thought you could not have optional parameters when using a Command object.  I guess that technically isn’t true.  You can have optional parameters in your report when using a Command object, but not in your Command object.  Any optional parameter values you specify will not be used when running the query against your data source.  Instead those optional parameter values will be used to filter your data within Crystal Reports once the data is brought back from the database. Depending on the amount of data returned by your Command object query this could be a negligible cost or it could be prohibitive.

 

The report I am working on that prompted me to write this up has 17 optional parameters including 3 pairs of date ranges and no required parameters.  Since I couldn’t pass any of those optional parameter values along to be processed as part of my query I had avoided doing this report in Crystal Reports. However, this report was a replacement of an existing report embedded in a C# windows forms application based on a stored procedure.  The query was mostly written for me so I could just drop it in a Command object, right?

 

Well, I did some testing and my base query without out any of the optional parameter values returned about 1.1 million rows and took just over a minute to run in SQL Server. Certainly not a preferable situation, but it seemed better than trying to build a universe and a Crystal Report for Enterprise or Web Intelligence report given the short time frame I have to complete this.

 

So I decided to go down the road of building this report in Crystal Reports despite not being able to pass any of those optional parameter values to the Command object.  I got the report to the point of running right around 3 minutes.  I am not concerned about the impact on the database because I am hitting a copy, not the live Production database.  Here is the Performance Information from within Crystal Reports of my initial attempt; functional, but very cumbersome.

 

 

After wrestling with this report for about a week I had an idea.  Would it work to create a shell main report with all of the parameters set to optional and a subreport with all of the parameters created with the Command object and therefore required?  In order for this to work I figured all of the parameters in the subreport would need default values.  I would link the optional parameters in my main report to the required parameters in my subreport.  Then in my Command object query I could check for the default value of each parameter and negate the corresponding section the where clause of my query with some creative SQL; something like this…

SELECT * FROM MyTable

WHERE (‘N/A’ = ‘{?MyParameter}’ OR MyColumn = ‘{?MyParameter}’)

If no value is provided for MyParameter then its value would be the default value of “N/A” making that portion of the where clause true and thus return all rows.  If a value is provided for MyParameter then only those rows where MyColumn equals MyParameter would be returned.  The database I am using is Microsoft SQL Server 2008 R2.  Keep in mind that the syntax in the Command object is subject to whatever database to which you are connecting and therefore may be different that the examples I am providing.


As I worked through this my thought of specifying and default value and then checking for that didn’t work out as planned.  It seemed as though the main report was passing along NULL or something.  I am not exactly sure, but I do know that the parameter values in my subreport were not being set to their default values when the corresponding optional parameter in the main report was not given a value.


So I removed all of the default values for my Command object parameters.  Then for each optional parameter in my main report I created a formula to detect if a value had been provided and if it hadn’t to set it to something that I would check for in the Command object query of my subreport.  You could use whatever values you want to represent not specifying an optional parameter value, but here is what I used from my values for strings, numbers and dates to signify that no value had been selected…

String = N/A

Number = 0

Date = 01/01/1900

So my formulas (using Crystal Syntax) for each type look something like this…

If HasValue({?MyStringParameter}) Then

     {?MyStringParameter}

Else

     "N/A"

If HasValue({?MyNumberParameter}) Then

     {?MyNumberParameter}

Else

    0

If HasValue({?MyDateParameter}) Then

     {?MyDateParameter}

Else

     CDate ("01/01/1900")

There are some settings available when creating parameters that I wanted to use such as allowing multiple values or range of values, but not together in the same parameter.  Perhaps there are other scenarios which need special attention, but dealing each of those separately was enough for my report.  When allowing multiple values you are in essence turning your parameter result into an array.  I couldn’t follow the pattern of the three formula examples above to pass along that no value had been selected for a multi-value optional parameter since as I learned “[T]he result of a formula cannot be an array.”


 

I came up with this for situations where I wanted multiple values…

If HasValue({?MyMultiValueStringParameter}) Then              

     "~" & Join({?MyMultiValueStringParameter},"~,~") & "~"

Else

     "N/A"

That results in a string like this “~Value1~,~Value2~”.  I used the tilde (“~”) as my special character, but you can use whatever character you want to as long as it is not going to be legitimately found in your data.

SELECT * FROM MyTable

WHERE (‘N/A’ = ‘{?MyMultiValueStringParameter}’ OR PATINDEX(‘%~’ + MyColumn + ‘~%’, ‘{?MyMultiValueStringParameter}’) > 0)

Again, if no value is provided for MyMultiValueStringParameter then its value would be the default value of “N/A” making that portion of the where clause true and thus return all rows.  If a value or values are provided for MyMultiValueStringParameter then only those rows where MyColumn surrounded by tildes is found in the “~Value1~,~Value2~” would be returned.  Note that “PATINDEX” is a Microsoft SQL Server function.  If you are using a different database you will have to use the corresponding function for your database.

 

In order to deal with optional parameters that allow range of values I created formulas for the beginning and end range values; dates in my case.  Here is formula for MyBeginngingDate...

If HasValue({?MyDateRangeParameter}) Then

                Minimum({?MyDateRangeParameter})

Else

                CDate ("01/01/1900")

And MyEndingDate…

If HasValue({?MyDateRangeParameter}) Then

                Maximum({?MyDateRangeParameter})

Else

                CDate ("01/01/1900")

Finally, here is how you would put all of these optional parameter values together in the Command object SQL…

SELECT * FROM MyTable

WHERE (‘N/A’ = ‘{?MyStringParameter}’ OR MyColumn = ‘{?MyStringParameter}’)

     AND (0 = {?MyNumberParameter} OR MyNumberColumn = {?MyNumberParameter})

     AND ('01/01/1900' = {?MyDateParameter} OR CONVERT (DATE,  MyDateColumn1, 101) = {? MyDateParameter})

     AND ('01/01/1900' = {?MyBeginningDate} OR CONVERT (DATE,  MyDateColumn2, 101) >= {?MyBeginningDate})

     AND ('01/01/1900' = {?MyEndingDate} OR CONVERT (DATE,  MyDateColumn2,, 101) <= {?MyEndingDate})

     AND (‘N/A’ = ‘{?MyMultiValueStringParameter}’ OR PATINDEX(‘%~’ + MyMultiValueColumn + ‘~%’, ‘{?MyMultiValueStringParameter}’) > 0)

I did get stuck at a few points which I want to highlight.

  • A Command object parameter of type Date or Number does not require quotes around it, but those of type String do.  I know that seems so simple, but I think that tripped me up for nearly a full day.
  • It took me a while to realize I couldn’t deal with a multi-value optional parameter with a type of Number since I couldn’t pass along the array of numbers in my formula if in fact some values had been chosen.  I had to force those parameters to have type of String.


You may be wondering what kind of performance gains were realized.  Was it worth the effort?  Absolutely! This report went from running in approximately 3 minutes to less than 2 secondsHere is the Performance Information again...


 

I am pretty sure there are other sources available that detail bits and pieces of how to do this, but I had not found a comprehensive resource with everything put together from start to finish.  Here are a couple links that used as resources and sparked some ideas along the way…

 

How to create subreports in Crystal Reports - http://scn.sap.com/docs/DOC-21638

Multi-value parameter in command object - http://www.forumtopics.com/busobj/viewtopic.php?p=995432

Extracting date range parameter values - http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=19282

 

Enjoy,

 

Noel

Crystal Reports for Enterprise 4.1 SP5: What's new in Crystal Reports for Enterprise 4.1 SP5

$
0
0

SAP Crystal Reports for Enterprise 4.1 SP5 introduces one new feature. This tutorial reviews the new feature of this release.

Watch this Tutorial

BusinessObjects XI 3.1 SP7 Integration for JD Edwards EnterpriseOne - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP7 Integration for JD Edwards EnterpriseOne.

View this Document

BusinessObjects XI 3.1 SP7 Integration for Oracle E-Business Suite - Supported Platform Info

$
0
0

This document lists specific platforms and configurations for the BusinessObjects XI SP7 Integration for Oracle E-Business Suite.

View this Document

Viewing all 260 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>