cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Runtime exception: Invalid pointer

Former Member
0 Kudos

When running Crystal Report with huge data ( about 6 million) following error is thrown

:Crystal Runtime exception: Invalid pointer

Using Crystal Reports 2008 on the NT server Version is 12.2.0.290.

Below is the Crystal Trace:

0    5992  10315582  07/12/12 08:40:10  AppName=<null>, DBType=ORACLE, ServerName=, DBName=FS91QA, OprId=PSBATCH, ProcessInstance=10315582, ReportPath=APY6000-, OutputType=6, OutputFormat=2, OutputDestination=F:\psftora\fs91qa\appserv\prcs\FS91QA\log_output\CRW_APY6000-_10315582\APY6000-_10315582.PDF, LanguageDir=ENG, Orientation=L, LinesPerPage=4294460

1    5992  10315582  07/12/12 08:40:10  Getting options

2    5992  10315582  07/12/12 08:40:10  Options got

3    5992  10315582  07/12/12 08:40:10  ENG\APY6000-.RPT not found

4    5992  10315582  07/12/12 08:40:10  Getting options

5    5992  10315582  07/12/12 08:40:10  Options got

6    5992  10315582  07/12/12 08:40:10  F:\PSFTORA\FS91QA\user\crw\ENG\APY6000-.RPT not found

7    5992  10315582  07/12/12 08:40:10  Using report: F:\PSFTORA\FS91QA\CRW\ENG\APY6000-.RPT

8    5992  10315582  07/12/12 08:40:40  About to RunReport()

9    5992  10315582  07/12/12 08:40:40  Logon info set

10    5992  10315582  07/12/12 08:41:05  Parameters: -CTORACLE -CDFS91QA -COPSBATCH -CPUnavailable -I10315582 -RP"APY6000-" -OT6 -OP"F:\psftora\fs91qa\appserv\prcs\FS91QA\log_output\CRW_APY6000-_10315582" -LGENG -OF2 -ORIENTL "PSBATCH" "MFB"

11    5992  10315582  07/12/12 08:41:05  Parameter count: 0 Main: 0 Subreport: 0

12    5992  10315582  07/12/12 08:41:05  Hack Key used. Index: 1 Value: PSBATCH

13    5992  10315582  07/12/12 08:41:05  Hack Key used. Index: 2 Value: MFB

14    5992  10315582  07/12/12 08:41:05  Select File/Email/Web: begin

15    5992  10315582  07/12/12 08:41:05  Output format is PDF or RTF

16    5992  10315582  07/12/12 08:41:05  Select File/Email/Web: end

17    5992  10315582  07/12/12 08:41:05  About to set status to PROCESSING

18    5992  10315582  07/12/12 09:23:18  Report not printed

19    5992  10315582  07/12/12 09:23:18  Crystal Runtime exception: Invalid pointer

20    5992  10315582  07/12/12 09:23:18  Back from RunReport()

21    5992  10315582  07/12/12 09:23:18  All done

Accepted Solutions (1)

Accepted Solutions (1)

DellSC
Active Contributor
0 Kudos

6 million rows is a LOT of data and Crystal is notorious for doing a lot of swapping to disk when its working with large data sets.  Are you showing all of the records in the report or are you aggregating the data in the report and just showing summary data?  I ask because there may be a better way of doing this.

-Dell

Former Member
0 Kudos

Dell,

   Show all the records in the report.  Actually there are more than 6 millions rows, after adding some filter trying to run the report with 6 million rows.

DellSC
Active Contributor
0 Kudos

That's kind of unmanageable for the users - no one can actually consume 6 million rows to get anything meaningful out of it.  How many pages is it and how do they expect to it? Or is this a data dump to be imported into another system?  If it's a data dump, Crystal is not the tool to be using to generate the file with this many rows.

Having said that, there are several things you could look at in the report to make it more efficient:

1.  In Report Options, turn on "Perform Grouping on Server" and "Use Indexes or Server for Speed" and make sure "Always Sort Locally" is turned off.

2.  If possible, use a view in the database to get all of the data for the report.  If that's not possible, look at using a Command, which is a SQL Select statement, in the report.  If you're using a command, create the parameters in the Command Editor and use them in the Where clause of the command - DO NOT use the Select Expert when working with a command!

3.  Do not use Crystal formulas in the Select Expert or for grouping in the report.  If you're using a command, use SQL to create the group fields and for any filtering.  If you're not using a command, create SQL Expressions that will push the formulas to the database for processing instead of having Crystal do it.

The whole point of this is to push as much processing to the database as you can.  That way Crystal will have less to do in memory.  Ideally, for something this big, you only want to have Crystal render the data by pushing as much of the actual data processing to the database and using few if any formulas in Crystal.  Even then, there's no guarantee that this will work for a report this large.

-Dell

former_member183750
Active Contributor
0 Kudos

Hello SD

I agree with Dell. The following may be of interest:

KB - 1633338 - Crystal Reports Is Not Meant To Be a Data Extraction Tool

KB - 1636361 - How do I design my Crystal Reports to improve performance?

But in a nutshell, Crystal Reports is not a very good database archiving tool.

- Ludek

Follow us on Twitter

Got Enhancement ideas? Try the SAP Idea Place

Share Your Knowledge in SCN Topic Spaces

Former Member
0 Kudos

Hi Ludek,

          Thank you. I would like to know what is the max rows that crystal can print? Also, when the crystal is run from designer, then the data is fetched properly

DellSC
Active Contributor
0 Kudos

As far as I know (and I've been working in Crystal for about 17 years...) there is no maximum number of rows.  However, the limitations on how much Crystal can actually process are based on the memory (RAM) and available disk space on the computer where the report is running along with the complexity of the report.

-Dell

Former Member
0 Kudos

Thank you Dell....

former_member183750
Active Contributor
0 Kudos

Well, I got Dell beat by a year , but I have to agree that there is no recommended maximum. When you think about it, such a recommendation would be hard to make as it would depend on all kinds of variables; from hardware, to number of fields, to possibly type of fields, report design, etc.,etc. So, unfortunately, it will be a trial and error process...

- Ludek

Former Member
0 Kudos

Hi,

   When the report (with millions of row) is run from Crystal viewer then all the rows are fetched. However if run thru process scheduler (on server) then the crystal is throwing the error.

     I would like to know what is the difference if crystal is run locally or on server?

former_member183750
Active Contributor
0 Kudos

Depends; what's on the server? CR designer? CR runtime?

Are you comparing CR designer to CR runtime app?

I suspect we don't have all the details....(?).

- Ludek

Former Member
0 Kudos

We are running the crystal on web server. I'm not sure what you mean by what's on the server?

-SD

Answers (0)