What are the limitations of Runtime version of crystal reports?

I have created some crystal reports using version 8.5 (in windows 2k), but everytime the users try to execute the reports via a version 8.0 runtime version in winnt 4.0 (SP6), they get error 20515 when the report tries to populate a formula field that includes StringVar  (exact error message is Error Code:  20515; Description: Error in Formula <Material Status>. 'StringVar CASent; the remaining text does not appear to be part of the formula.=cpeaut32

I'm suspicious that the problem lies not necessarily with the difference between the crystal reports 8.5 & the client 8.0 runtime, but rather with the operating system difference.  Any help would be greatly appreciated as I'm up against a deadline on this.
Thanks,
Michael
Patroclus6Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DRRYAN3Commented:
One can generally run reports created in an older version with a newer set of runtime files, but the scenario you describe is not one I'd expect to work.  However, there does not seem to be any appreciable difference in the .RPT files, since there is no Save As 8.0 option in 8.5 - just Save As 7.0.

So long as you are not selling your application for commercial gain, I believe you have the right to install the runtime on the computers within your organization, royalty free.  There is a limit on how many instances of a report can be open, but that's it.

There are not any differences in the runtime DLLs distributed to an NT4 and W2K client that I'm aware of.  There are differences when comparing NT4/W2K and W9X clients.

Please post your formula, or check that all lines are terminated by semicolons and that you've not used an equals sign for assignment (use := instead).  Also check for mismatched quotation marks.

DRRYAN3

0
Patroclus6Author Commented:
Thanks for your feedback.  Here's the formula that is flaking out (again, it runs fine in crystal 8.5 & when I check for errors I get none, but when the client runs this it generates the error):
StringVar CASent;
StringVar CASigned;
StringVar Eliminated;
StringVar ESSent;
StringVar FBR;
StringVar IIR;
StringVar MPS;
StringVar NFI;
If ({consum_csv.Process Details - Confidentiality Agreement Sent} > "01/01/01") Then CASent :="C.A. Sent: " & {consum_csv.Process Details - Confidentiality Agreement Sent} & Chr (10) & Chr (13) Else CASent :="";
If ({consum_csv.Process Details - Confidentiality Agreement Signed} > "01/01/01") Then CASigned :="C.A. Signed: " & {consum_csv.Process Details - Confidentiality Agreement Signed} & Chr (10) & Chr (13) Else CASigned :="";
If ({consum_csv.Process Details - Eliminated} > "01/01/01") Then Eliminated :="Eliminated: " & {consum_csv.Process Details - Eliminated} & Chr (10) & Chr (13) Else Eliminated :="";
If ({consum_csv.Process Details - Executive Summary Sent} >"01/01/01") then ESSent :="Exec. Summary Sent: " & {consum_csv.Process Details - Executive Summary Sent} & Chr (10) & Chr (13) Else ESSent :="";
If ({consum_csv.Process Details - Final Bid Received} >"01/01/01") then FBR :="Final Bid Rec'd:  " & {consum_csv.Process Details - Final Bid Received} & Chr (10) & Chr (13) Else FBR :="";
If ({consum_csv.Process Details - Indication of Interest Received} >"01/01/01") then IIR :="Ind. of Int. Rec'd: " & {consum_csv.Process Details - Indication of Interest Received} & Chr (10) & Chr (13) Else IIR :="";
If ({consum_csv.Process Details - Management Presentation Scheduled/Attended} >"01/01/01") then MPS :="Mnmgt Pres. Scheduled/Attended: " & {consum_csv.Process Details - Management Presentation Scheduled/Attended} & Chr (10) & Chr (13) Else MPS :="";
If ({consum_csv.Process Details - No Further Interest} >"01/01/01") then NFI :="No Further Interest:  " & {consum_csv.Process Details - No Further Interest} & Chr (10) & Chr (13) Else NFI :="";
CASent + CASigned + Eliminated + ESSent + FBR + IIR + MPS + NFI
0
mlmccCommented:
I assume this is a date field (all fields in use)
{consum_csv.Process Details - Confidentiality Agreement Sent}

"01/01/01" is a string not a date.  To compare you will have to convert it to a date.

If ({consum_csv.Process Details - Confidentiality Agreement Sent} > "01/01/01")

becomes

If ({consum_csv.Process Details - Confidentiality Agreement Sent} > Date(01,01,01))

mlmcc
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

Patroclus6Author Commented:
Nope - if I do that, i get the message "a string is required here" and it drops the error at the new > Date(01,01,01).
0
DRRYAN3Commented:
Try putting a semicolon after the last line.  The error message you are getting is the same one you would get if you had no semicolon after a statement.
0
DRRYAN3Commented:
Like this

CASent + CASigned + Eliminated + ESSent + FBR + IIR + MPS + NFI;

Alternatively, create a new stringvar named retval and try this:

retval := CASent + CASigned + Eliminated + ESSent + FBR + IIR + MPS + NFI;
retval;

DRRYAN3
0
Patroclus6Author Commented:
Thanks to you both.  I've updated the crystal report & I'll try executing it tomorrow morning from a client machine.  If that last semicolon works, I'll give you the points, DrRyan3.  
I'm also posting another 250 point question related to the same formula - I need to somehow sort those stringvar's based on their date.  The question will be "sorting stringvar's".  Any advice on that one would be a big help as well.
Thanks!
Michael
0
Patroclus6Author Commented:
No luck.  Added the last semicolon & I still get the same error message on the client machines.  Any other thoughts?
0
DRRYAN3Commented:
How about my second suggestion?
0
Patroclus6Author Commented:
No luck on the second suggestion.  It still errors out on the first instance of any StringVar.  So, I tried a work around - eliminated the StringVar by using IIF's instead (new formula below).  This, again, runs fine on my machine but the users machine will error out when it runs the first IIF statement, saying "the remaining text does not appear to be part of the formula.=cpeaut32"

Here's the new formula:
IIf ({consum_csv.Process Details - Confidentiality Agreement Sent} > "01/01/01", "C.A. Sent: " + {consum_csv.Process Details - Confidentiality Agreement Sent} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - Confidentiality Agreement Signed} > "01/01/01", "C.A. Signed: " + {consum_csv.Process Details - Confidentiality Agreement Signed} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - Eliminated} > "01/01/01", "Eliminated: " & {consum_csv.Process Details - Eliminated} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - Executive Summary Sent} >"01/01/01", "Exec. Summary Sent: " & {consum_csv.Process Details - Executive Summary Sent} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - Final Bid Received} >"01/01/01", "Final Bid Rec'd:  " & {consum_csv.Process Details - Final Bid Received} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - Indication of Interest Received} >"01/01/01", "Ind. of Int. Rec'd: " & {consum_csv.Process Details - Indication of Interest Received} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - Management Presentation Scheduled/Attended} >"01/01/01", "Mnmgt Pres. Scheduled/Attended: " & {consum_csv.Process Details - Management Presentation Scheduled/Attended} & Chr (10) & Chr (13), "")&
IIf ({consum_csv.Process Details - No Further Interest} >"01/01/01", "No Further Interest:  " & {consum_csv.Process Details - No Further Interest} & Chr (10) & Chr (13), "");
0
DRRYAN3Commented:
It's starting to look as though there is a version check going on that is preventing the 8.5 reports from running in an 8.0 runtime environment.

Are you able to perform a controlled test of this by updating one of the clients with the 8.5 runtime?
0
Patroclus6Author Commented:
I'm afraid I don't know how to upgrade the runtime to 8.5.  Any suggestions?  I've tried digging around the seagate site, but couldn't find anything.  
0
DRRYAN3Commented:
On your development machine you have to repackage the your application using your favorite installation tool.  There is a help file which comes with CR Developer which lists all the dependencies and which DLLs you need to include for the DB functionality and export functionality you want/need to have.

On the client, you install the packaged app.  This will update the DLLs and register them in the client registry.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Patroclus6Author Commented:
Thanks so much for your help.  I found the DLL that needed to be updated using the Rptchk32 program & now the reports run fine on the client machines.  Thanks so much for your help on this.
Michael
0
DRRYAN3Commented:
Glad it worked out OK.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Crystal Reports

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.