Solved

Arrays in Crystal 10 - exceeding 1000 elements

Posted on 2011-03-04
5
480 Views
Last Modified: 2012-05-11
Hi All:

I have a form with an Array that stores a Site Ledgend for an Invoice - some of the customers have more than 1000 sites - is there any workaround for this?  The formula is producing an error and the form will not print.

Thank you!


________________________
First Formula:

whileprintingrecords;

Global Stringvar Array Site;
ReDim Site[1];

""
_______________________________________________
Second Formula:  (this one is causing the error when the customer has more than 1000 sites)

whileprintingrecords;

Global StringVar Array Site;
Global StringVar strResult;
Global NumberVar arrayUpBound;

if {@xSiteDetails} <> "" then
(
    arrayUpBound := UBound(Site) + 1;
    ReDim Preserve Site[arrayUpBound];
    Site [arrayUpBound] := {@xSiteDetails};
    strResult := "1" ;
)

else

(
    strResult := "0" ;
);
strResult

_____________________

xSiteDetail formula:

left({CL_23CRWInvoiceDetail.ForeignSiteCode} + space(10),10) & "  "&
left({CL_23CRWInvoiceDetail.ForeignSiteDescription} + space(25),25) & "   "&
left({CL_23CRWInvoiceDetail.ForeignSiteAddress1} + space(30),30) & "     "&
left({CL_23CRWInvoiceDetail.ForeignSiteCity} + space(20),20) & "     " &
{CL_23CRWInvoiceDetail.ForeignSiteState}

__________________________

Third Formula:  (This one is used to display the Sites legend)

whileprintingrecords;

Global StringVar Array Site;
Join(Site,chr(10))

_____________________________
0
Comment
Question by:eleale
5 Comments
 
LVL 77

Accepted Solution

by:
peter57r earned 167 total points
ID: 35038878
I'm afraid there is no good news.
There is no setting that you can adjust.

If you can possibly split the data so that you could use a subform for part of the report , that could be the one less difficult option.
Otherwise you into a major development job  to see if you can use multiple arrays to hold the values and process them sensibly.
0
 
LVL 100

Assisted Solution

by:mlmcc
mlmcc earned 167 total points
ID: 35039203
I agree.  I looked but I don't see anything in the registry that controls that.  There are other limits that can be overidden or changed through the registry

mlmcc
0
 
LVL 26

Assisted Solution

by:Kurt Reinhardt
Kurt Reinhardt earned 166 total points
ID: 35039384
Since the result of the array is to simply display the legend, could you possibly use a subreport to pull in the list of values to be displayed?

~Kurt
0
 

Author Closing Comment

by:eleale
ID: 35039672
Thank you!
0
 

Author Comment

by:eleale
ID: 35039681
I can't use a sub-report for 2 reasons on this form - one is performance and the other is custom programming to email the form.  

Thank you for your help!  Back to the Programmers.

E.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Crystal Reports: 5 Tests for Top Performance It is complete, your masterpiece report.  Not only does it meet your customer’s expectations, it blows them out the water, all they want is beautifully summarised and displayed in a myriad of ways. …
I hate sub reports and always consider them the last resort in any reporting solution.  The negative effect on performance and maintainability is just not worth the easy ride they give the report writer.  Nine times out of ten reporting requirements…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now