Crystal Reports





Crystal Reports is a business intelligence application from SAP SE. It is used to graphically design data connections and report layouts from a wide range of data sources including Excel spreadsheets, Oracle, SQL Server databases and Access databases, BusinessObjects Enterprise business views, and local file-system information. Report designers can place fields from these sources on the report design surface, and can also deploy them in custom formulas (using either BASIC or Crystal's own syntax), which are then placed on the design surface. Crystal Reports also supports subreports, graphing, and a limited amount of GIS functionality.

Share tech news, updates, or what's on your mind.

Sign up to Post

Table definition:

I want to extract the date of this argument Contacts.Last_edit table field.
I am able to do it and then convert it to a date in order to do a date comparison.

Local StringVar LastEdit := split(trim(split({CONTACTS.LAST_EDIT},",")[2])," ")[1];

I have also tried Date(LastEdit) and get same error message.

Formula works great when I display it but the moment I tried to compare this formula with CurrentDate-3, I end up getting this error message:

"A Subscript must be between 1 and the size of the array."

Please help.
Exploring ASP.NET Core: Fundamentals
LVL 19
Exploring ASP.NET Core: Fundamentals

Learn to build web apps and services, IoT apps, and mobile backends by covering the fundamentals of ASP.NET Core and  exploring the core foundations for app libraries.


I have a tax invoice crystal form and it is groups by product code then each field is summarised.
Since taking your advice on implementing this I have now noticed the text (comment) lines do not appear as they are entered in chronological order.
The last one is missing. Please see attached PNG files which show this. The form is attached with saved data.

Your help would be appreciated.

Hello, I am wondering if it is possible in Crystal Report to automatically consolidate the same product sold on a line item but only increment the qty value?
EG If I sold the following product:

Product Code            Quantity
ABC                                  1
ABC                                  1

Crystal Reports would display it as:

ABC                                 2
This custom application has been running for many years with no issue.  We had our server crater and had to restore from offsite backup.  The restore seemed to work well and the application runs and works but whenever we try and run a crystal report 2008 we get the below error.  we have uninstalled both the crystal report 2008 package and sp as well as the cr runtimes.   but the below error persists.  we are running the reports via vb6 calls/interop and not as external.   we can manually edit the reports and save them in crystal reports and it works but the visual studio visual basic runtime appears to not be registered correctly or is not seeing where to run the reports.   any thoughts or ideas on items to validate would be apprecaited.

This is how the program works
A VB6 program calls a DLL and sends it paramaters, The DLL was created in VB using the Microsoft.InteropFormTools and crystal reports 2008 viewer. The VB6 program will send the DLL, Report Name, Database name and some other stuff. The DLL will then send the data to the crystal report viewer which is embedded in the DLL to display the report.


CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: Invalid report file path.
How to add ApplicationIntent_readonly for Crystal Reports 2013 ODBC configuration?
I have crystal report that has dynamic cascading params, modules, groups and unit. Based on user selection of modules,groups will appear and selecting some of them will show the units. User selects all the units . In my report, I have a subreport that displays data based on a stored procedure whose params are fed by the dynamic values mentioned above.
Now I create another command object which is based on an sql statement which is grouped by modules,groups and units to get the count of a integer field by 3 other tables since I have conditions based on those 3 tables. I am trying to display a chart which would like to have a drill down. I tried with 3 groups and also in group expert passed the params .But it is showing all the units within groups selected  for a  module that is selected. What I want is how to select the ones that are in dynamic params, within the sql statement . I want to point out that as mentioned, this pulls up count of integer field grouped by modules,groups  and units . So how to limit this to show just the params selected by user. ?
Crystal Reports 2016

I have a crosstab with alternating row color.  Some of the data returned are zero values.  I would like to suppress those values or hide them by changing the color to match the background.  Is this possible.  I have included a small snapshot of what I am talking about.

Can you upload a union all database command into a Sage 300 Dashboard? I keep on getting an error message (see attached). The crystal report works fine a report in Sage but not as a Dashboard.
I have a Crystal report version 2008 with a bar chart. The data is from access and is 3 columns description value date and performance - the description will always start with D1:xxxxx, D2:xxxxxx, D3:xxx ( where x is random) The D1 etc is to order the chart accordingly after date -- but  I dont want the D1 etc to show in the legend. I have written a formula to basically remove the first 3 characters and so the text appears fine but because I am removing those characters I now cannot get the ordering correct.

Any help would be very much appreciated.
In crystal reports 2016, how do I sum on column that is filter by another column? This is what I currently found, but it is not correct.

For example, the result of my query has 10 records of BillingType "V" and the total NumofMeals equals 172. when I run this formula:

if {Command.BillingType} = "V" then
sum({Command.NumOfMeals}) else 0

I get zero. Any thoughts?
PMI ACP® Project Management
LVL 19
PMI ACP® Project Management

Prepare for the PMI Agile Certified Practitioner (PMI-ACP)® exam, which formally recognizes your knowledge of agile principles and your skill with agile techniques.

I have a new user that connects to SAP Crystal Reports XI via remote desktop.  Crystal opens fine for him, but F5 and "Refresh Report Data" are unresponsive with no error displayed.  Save data with report is unchecked.  I can run the same reports with no issues.  
He is able to successfully refresh and run reports he has created, but nothing previously written.  I did have him open an older report and hit "verify database", but that had no effect either.
Is it possible that this is related the remote desktop connection rather than a setting or problem with Crystal?
I want to establish what 20% of a price is
have tried "if {PLUs.TaxCode} = 1 then sum ({PLUPrices.Price}*20%)"
but it does not work
Any ideas?
I am working on a VS2008 project which uses crystal reports.
All the crystal reports appear with VS2017 icon and when i click on it , it would not open. Instead it gives the message
"Please wait while windows configures Crystal Reports Basic for VS 2008."
What should be done to fix this issue?
crystal report  .rpt file

Thanks in Advance
How do you [1] remove the dashes AND [2] force 9 characters in a social.  For example 54-03-9999 becomes 054039999.
We are wanting to apply a cascading parameter on a crystal report and are experiencing a limited result set when using this dynamic parameter. Other than updating the registry, are there any other ways CR can/will provide the entire set of records?

Cascading Parameter:  Customer Territory (users chooses one territory from a list of available territories)   Customer Account Number (user chooses one or multiple customers from a list of available account numbers from within that territory).

If anyone has had experience with having to update the registry of the users workstations, have you experienced any issues after doing so?

Is there any way within a native CR to automatically query and autocomplete lookup fields so we don’t have huge drop down lists created by the dynamic and/or cascading parameters?
Hi Experts,

 Currently , I am using SSRS reports which has 3 params (states,districts and Cities) based on user selection(can have multiple values), passed into a stored procedure.
The stored procedure has a temp table which is populated after performing calculations on some columns based on joining many different tables. It returns the temp table output.
Now we are moving to Crysral reports  11 . What is best approach in reusing this SP in CR ?  From what I have read here, CR works differently from SSRS in that it calls SP and then allow CR engine to perform operation? where as in SSRS, I select  from 3 params and hit View report button which run the SP with params passed into

I'm trying to make this Crystal Report like the Excel report.  I'm having trouble with making it like the Excel report.

I've attached both files...  Thanks for your help.


Values place in a sub report need to be placed in a Main report not for calculation purposes, just text fields

The link between Main Report and SubReport is SalesOrder and Company...

The problem is that when the report runs the values from the sub report are showing from the previous linked record...

The sub report is inserted into GH1a (Group is done by SalesOrder) and I need the Main Report formula values to appear in GH1b GH1c,GF1b

The sub report Detail is where I have the following

Shared StringVar FIL001:={Filoo};

The Main report has the following placed in the GH1b section

Shared StringVar Fil001;

So Salesorder 00001 shows perfect.. the problem is that SalesOrder 00002 shows the same values and it shouldn't as the sub report should have a different value for Fil001

Hopefully this makes sense
When I am grouping fields in my crystal report, I have added a formula to the group expert options formula saying IF {CnAct_1AttrCat_4.CnAct_1AttrCat_4_Description} = "A" then "IMMEDIATE PRIORITIES" else "TOP PROSPECTS". This works great until the end, when it adds another TOP PROSPECTS name to the end of the report. Does anyone know how I can fix this. The group footer is already suppressed.
{CnAct_1AttrCat_4.CnAct_1AttrCat_4_Description} = "A" then "IMMEDIATE PRIORITIES" else "TOP PROSPECTS"{CnAct_1AttrCat_4.CnAct_1AttrCat_4_Description} = "A" then "IMMEDIATE PRIORITIES" else "TOP PROSPECTS"
Amazon Web Services
LVL 19
Amazon Web Services

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.


I need to do an analysis report based on a date range that will vary (added by the user) but wouldn't be based on "actual data" included in the report - rather I would use formulas to determine sums by month.

For example - user adds a date range via parameter 1/1/2019 - 5/1/2019

The report formula output would look like this:

Date                                   # of Appointments   # of Closed             $ Closed
January, 2019                                   4                        2                         $500
February, 2019                                  6                         1                        $200
March, 2019                                       5                       4                          $600
April, 2019                                          2                        0                          $   0

Thank in advance!
I had this question after viewing Loop Through Database/Report Fields.

I need to create a report of number of customers who are at a store at the same time for every hour.  I attached a file with the data and desire output.  I spent a lot of time on this trying to do it in SQL but it got too complex.  I think the best approach is to use arrays in Crystal but I am no expert in Crystal.  I appreciate any help.Number-of-Customers-per-hour.xls
All of a sudden I am getting a "Could not open the data folder" error with a CR.

We use CR with Sage. Sage won't open the report.

I opened CR and tried to preview the report and received the message above.

I can open Excel and make an external data connect so I know my user name and password are ok.

I created a sub report in PH of Main Report, I am trying to get the Variable that I created in the Subreport to show per GH2 of Main Report, but it only shows the last value...I need the NetSales to show for every row but change based on GH1...I then need to do calculations on this Variable..Hopefully this makes sense.

If you look at the attachment I sent...I am hoping to get the 5th column to say 6784566...per row until the next GH1 shows then it will show 1707098.. The value that it currently shows is the very last GH1 374511.

Hopefully this makes sense
Removing Business Objects from SAP and still Using Crystal Reports..

I have read several threads and they really don't make sense to me

Will I still be able to go into BEx Query Designer and create queries and then report off of these queries in Crystal?
Will these queries look any different in Crystal than they do know.. Fields etx…?
Will I be able to publish these Crystal Reports that are designed off of these BEx Queries and publish via Email with SAP Managed security?

Loaded questions but I need more "Layman" answers.. Please help if possible

We are using VS 2015 , ASP.NET Ver 4.6  and Crystal Report 13.0.13. The crystal report load event hangs indefinitely after some printouts on function  "  objrep.Load(FileName) "
This report has 3-4 sub reports within it.
(I have attached the files)

We had checked for following points

1)   Crystal report is properly closed  and disposed. (Infact we have created Singleton class for loading so we know there are not more than 5 objects at any given time. If more than 5 objects we had we simply close all before starting new report)  

2) Windows\Temp folder has full permissions

3) We have selected "No Printer" in the Page Setup.

During  load testing some time we are able to print more than 50-60 reports at a single go, but when it starts to get hanged on " .load" then it does that forever and only way to rework is to either restart the IIS or change the application pool for that particular website. (Also one strange problem during testing also noted that before crystal report started to hang, it gives wrong RTF formatting, once after restart the same report comes good)

Also some other reports are working in different application pools on which we can print 1000's of reports without any problem.

Can somebody help us what to check next.
I am attaching 2 files, one containing the code where it hangs and second (which may not be required where we create a Singleton class to make sure we don't have too many instances of crystal report running)

Crystal Reports





Crystal Reports is a business intelligence application from SAP SE. It is used to graphically design data connections and report layouts from a wide range of data sources including Excel spreadsheets, Oracle, SQL Server databases and Access databases, BusinessObjects Enterprise business views, and local file-system information. Report designers can place fields from these sources on the report design surface, and can also deploy them in custom formulas (using either BASIC or Crystal's own syntax), which are then placed on the design surface. Crystal Reports also supports subreports, graphing, and a limited amount of GIS functionality.

Top Experts In
Crystal Reports