Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

What are the limitations of Runtime version of crystal reports?

Posted on 2003-03-20
15
Medium Priority
?
948 Views
Last Modified: 2012-05-04
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
0
Comment
Question by:Patroclus6
  • 7
  • 7
15 Comments
 
LVL 12

Expert Comment

by:DRRYAN3
ID: 8178361
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
 

Author Comment

by:Patroclus6
ID: 8178398
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
 
LVL 101

Expert Comment

by:mlmcc
ID: 8178567
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
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 

Author Comment

by:Patroclus6
ID: 8178610
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
 
LVL 12

Expert Comment

by:DRRYAN3
ID: 8178678
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
 
LVL 12

Expert Comment

by:DRRYAN3
ID: 8178682
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
 

Author Comment

by:Patroclus6
ID: 8178720
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
 

Author Comment

by:Patroclus6
ID: 8182639
No luck.  Added the last semicolon & I still get the same error message on the client machines.  Any other thoughts?
0
 
LVL 12

Expert Comment

by:DRRYAN3
ID: 8182750
How about my second suggestion?
0
 

Author Comment

by:Patroclus6
ID: 8183181
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
 
LVL 12

Expert Comment

by:DRRYAN3
ID: 8183267
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
 

Author Comment

by:Patroclus6
ID: 8183311
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
 
LVL 12

Accepted Solution

by:
DRRYAN3 earned 2000 total points
ID: 8184767
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
 

Author Comment

by:Patroclus6
ID: 8197258
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
 
LVL 12

Expert Comment

by:DRRYAN3
ID: 8197474
Glad it worked out OK.
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…

577 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