Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Force Loading of All Data

Status
Not open for further replies.

WindUp

Programmer
Joined
Mar 6, 2003
Messages
100
Location
US
Is there some way I can force a Web report to load all data?

What's happening is that I open reports in separate, named windows. This seems work great. You can have multiple reports open at the same time so they can be compared side-by-side. Updating any report refreshes the proper (named) window. However, if any report other than the most recent report displayed, is moved a few pages forward, then it starts displaying pages from the most recently displayed report. (I hope that is clear.)

It appears that when a report requests more information than it is has queued in memory, then it's getting the most recent report's data. I figure that if I can force it to load all data for a given report, then no requests will be necessary.

Anyone know how to do that, or some other way to solve the problem?

Thanks a Lot! [pipe]
WindUp
 
Are you saying you need the viewer to generate all data?

If so, can't you just go to the last page so it generates all pages?

Sorry if this is way of mark, but I'm a bit confused. Reebo
Scotland (Sunny with a Smile)
 
You are probably using RDC through ASP. The reason you have this "overlapping" is that you are using Report object, that is stored in Session (Session("oRpt")). So your viewer is always looking at the most recently created report object. I had the same situation and the only solution was to open one report at a time, in other words, your separate window will always display the most recently clicked report, which will replace a report that is already displayed in that window. This of cource will illuminate the side-by-side comparison, but it seems the only solution for now.
 
>If so, can't you just go to the last page so it generates all pages?

That might work. How do I force it to got to the last page, then back to the first one again?

Thank you.
WindUp

 
>you are using Report object, that is stored in Session
>(Session("oRpt")). So your viewer is always looking at the
>most recently created report object.


You're right!, I never realized that the common Session Object was the problem. If that's so... then couldn't I create unique Session Objects for each report? (I'd also have to modify the AlwaysRequiredSteps.asp, MoreRequiredSteps.asp and the SmartViewerXXX.asp files I'm using.) If I changed ALL references to Session("oRpt") with something like Session("oRpt" & ReportName) through-out ALL the code, shouldn't that work?

What'd ya think?
WindUp
 
It will not, unfortunately. You have the rptserver.asp page, which is pre-written by Seagate and used to process your report and communicate with the client-side viewer(if you look at the SmartViewerActiveX.asp, you'll see a line webSource.URL = "rptserver.asp"). This page expects couple of session variables: session("oApp"), session("oRpt") and session("oPageEngine"). If you create your report object with different names, the app will blow up. Just by looking at the rptserver.asp...I'm not so smart to rewrite it.
 
>It will not, unfortunately. You have the rptserver.asp page

If I changed ALL references in there too? When I said "ALL code", I meant ALL of it.

Thanks.
WindUp
 
...so the rptserver.asp will expect object names based on some algorithm (instead of hardcoded ones) that will make them unique to each report you open. Might work. You can run out of licenses though, but it's another story. Try and let me know how it goes.
 
>Try and let me know how it goes.

Well… I tried changing ALL occurrences of Session(“oRpt”) with Session(“oRpt” & WindowName) in all necessary files, but it was a lesson in futility. It did display the reports in separate windows as before, but it still had the same problem of retrieving the most recently displayed window’s data when changing pages[cry]. I went on and tried the same with oPageEngine too, but then it failed to display[shadessad]. So… for anyone trying to get this accomplished, this ain’t the way to go[thumbsdown].

Any one have any other ideas?

Thanks.
WindUp
 
How about Session("oApp")? Should be unique too in this case. I remember contacting Seagate tech support about this multiiple reports in multiple windows problem, they had no solution to offer back then. I'm just displaying one report at a time, that's it.
 
How about Session("oApp")? Should be unique too in this case.

Yea, I think I tried that too; it was only called in a few places. The other thing that holds promise is to open a new window with a unique SessionID. Then it’s not a shared memory space across browser windows; each window would have it’s own unique SessionID, oRpt, oApp, and every other Session variable. If we were using Netscape, I could open it in JavaScript with "dependent=no" in the features argument of window.open, but, alas, the powers that be specify that everyone must use Internet Explorer 5.5 or 6.0 on our intranet.
 
Yep, I was thinking about it too. If you could open a new window within its own session, then the problem would've been solved. We are using IE 5.5+ in our app too, so...
 
To force a report to process all the data, just put page count or "Page N of M" in the report so it prints on the first page.

It forces Cr to process all the pages to calculate the correct page count. Editor and Publisher of Crystal Clear
 
Right, but if he opens another report in a separate window, then returns to the first one and starts paging through, the first report will display data from the second. Pain in the butt :(.
 
Okay.. I know that you can open two browsers on the same computer without having this happen.

Just using eportfolio... I can open several report windows at the same time and *not* have them step on each other. You may want to look at how eportfolio handles sessions.

Lisa
 
Same if you are using Crystal WCS, but there is not as much control as you get using RDC.
 
>Same if you are using Crystal WCS

What is "Crystal WCS"?


Thank you.
WindUp
 
Is there a way do export directly to Word?

If so, then I could export each Report directly to Word, each in a named Window. That would solve my problem (since they ultimately want it in Word format anyway.) Anyone know how to alter the ContentType to do that directly?

Thanks.
WindUp
 
Web Component Server, just a server extention recognizing .rpt files, allowing to call reports, pass parameters, selection formula and (I believe, starting with version 8.0) pass database user name and password, all via the URL, i.e.
Not sure, but I think that it was an option for installing Web components prior to version 8.5. Starting from 8.5 it's a part of Crystal Enterprise and installs with it. You might look into it, if you don't need such a level of control that you have when using RDC.
 
>Web Component Server

Sounds like EXACTLY what I need. I have version 9 and can't find any information on it. How do I use it?

Thanks.
WindUp
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top