Emmitt: I do use temporary tables and views to generate very complex reports. I have also come up with my own version of 'reports within reports" for the following very simple report that worked great under DOS but would not under Windows, because of the page feed at the end of reports.
I have a Work Order master table that has 3 sub-tables: manpower, materials and equipment. Under DOS, I created separate reports for the work order table and 3 sub-tables and printed them all sequentially in one page; under WINDOWS, I ended up with 4 pages, one for each report. My solution was to write code that scans the 3 sub-tables individually and takes the data, formats it (lots of RJS, LJS, CTXT) and concatenates into 3 long note fields, I create separate variables with totals when needed. The report runs off the Work Order table and it simply prints the note fields (correctly sized and with expand ON) for the data and totals right below text headers in the report. It works fairly well, although there is a limit on the size of the note filed (4000+ characters). Since most of my lines of data have app. 120-150 characters/line of data, I can put app. 30 lines of data for each sub-tables which, in most cases, is enough....and so I have 4 reports in one!!! And then there are reports, such as those where I need to display maintenance work done on roadways features, obviously the work they do (detail) is different not only on the parameter types but also in the number, in addition, the user sometimes wants some parameters highlighted (bold) for bridges and different ones for signs. PAGEMODE is ideal for this situation, where trying to change the format within a detail line may not be feasible or possible. Because of my engineering background, I always try to use the proper tool for the job. I would be safe to state that 99.9% of the time, the Report Designer and a combination of tables/temporary tables/views will be the best tool (after all, I have only one report left that uses PAGEMODE), but then, occasionally PAGEMODE can be the better tool...I am just glad that we have all these tools available and it is up to each one of us to determine which one is the best, based on our own programming strengths/weaknesses and/or our own likes/preferences. All things considered, I believe that Razzak said it best: "Just ask yourself, how many other DBMS will let your work, migrate and be very PRODUCTIVE using cross-platform capabilities of the Windows and DOS versions at the same time? Only R:BASE! We simply do not realize what we have until we step back and take a look at it. Enjoy the POWER and FLEXIBILITY of R:BASE! The BEST is yet to come ..." As I said before, once "reports within reports" is implemented on 7.0, all these issues will be moot... right Razzak? Javier, Javier Valencia, PE President Valencia Technology Group, L.L.C. 14315 S. Twilight Ln., Suite #14 Olathe, KS 66062-4571 (913)829-0888 (913)649-2904 FAX -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Emmitt Dove Sent: Wednesday, February 12, 2003 4:03 PM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Pagemode in Windows >Brad, Emmitt: >It is not as easy as it sounds. Javier, With all due respect (and certainly no intent to minimize the complexity to which you refer), I'd like to suggest that you expand your thinking with respect to the use of a temporary table. Since it is up to you, the system architect, to design the temporary table to suit your needs, you can put any number of columns in place that may or may not contain data, conditional as you suggest. These columns could even contain data that you wish to place in headers and footers. When the report writer retrieves the first row of a new section, extra columns could contain information for the header; likewise, the last row for a section could contain data for the footer. You can even do conditional labels in headers - test whether a field contains data or is null, and if not null print the label otherwise print a space. Or print two different labels conditional on the content of a column on the temporary table. Or, to simplify that logic, put the labels in the columns on the temporary table and place fields on the report instead of labels. It may even be possible, though I have not tried it, to use similar techniques to create your 'report within a report.' Simply ask whether one of these reports could be created fully within a report header or a report footer by populating columns on the first or last row of a temporary table. With PAGEMODE you have a blank piece of paper and you are in control of what goes where. Look at your Windows report based on a temporary table the same way, and determine what you need to add to the temporary table to accomplish your goals. You are in control. There are many different ways to skin this particular cat. I have used PAGEMODE extensively in DOS, and I'm always looking for the easy way to convert to Windows in order to take advantage of the fonts and formatting available in Windows. Often that is to use the techniques I've discussed instead of trying to reinvent the wheel in Windows. Emmitt Dove Manager, DairyPak Business Systems Blue Ridge Paper Products, Inc. 40 Lindeman Drive Trumbull, CT 06611 (203) 673-2231 [EMAIL PROTECTED] [EMAIL PROTECTED]

