[unix-pc.bugs] Serious bug in Smart Spreadsheet - Ver 3.10

jeff@cjsa.WA.COM (Jeffery Small) (07/05/89)

To:	    All users of the Smart Spreadsheet program on the UNIX-PC/7300/3B1.
		(Don't know if this applies to other hardware platforms.)

Re.	    Bug in Version 3.10  "Report"  printing   (V3.10 is the upgrade).

Problem:    Under certain circumstances when printing out multi-paged reports
	    of a worksheet, entire columns of your data may NOT be printed but
	    are instead silently skipped.  This problem is more serious than it
	    first appears because all of the columns in your "Fixed Horizontal
	    Title Block" headings WILL be printed while the "Report Body Blocks"
	    columns MAY be skipped causing a mis-alignment of your data with the
	    headings.  If most of your columns are of uniform size, then this
	    discrepancy is very easy to overlook and you may find yourself
	    (as I did with some financial data) using incorrect information.

	    Page one of a multi-page report will print correctly but page #2
	    may lose one (or more?) column of your Body Block along the left
	    edge.  Thus, everything on this page will be shifted left and be
	    mis-aligned with the headers which are being printed properly.
	    When you get to page #3, this same thing happens again.  You are
	    now missing two(+) columns of data and the mis-alignment is worse.
	    This will continue until the last page.

	    Note that this problem is (I believe) new to to the version 3.10
	    software upgrade which AT&T sent to all registered owners of the
	    Smart Software (for the Unix-pc) and did not exist in the original
	    distribution.  Therefore, you may find that printing reports of
	    older worksheets with the new version of the software yields
	    different results!  Also note that the problem resides entirely in
	    the PRINTING of the worksheet.  The worksheet's contents are intact
	    and what you see on the screen is correct information.


Cause:      To the best of my ability to determine, the cause of the problem
	    has to do with the setting of "Fixed Vertical Title Blocks" (FVT).
	    Apparently, there is a bug in the software which keeps track of
	    the current Body Block column number as you index onto subsequent
	    pages.  The "counter" fails to properly index itself - taking into
	    account the column(s) taken up by the FVT.  This error does not
	    occur for the "Fixed Horizontal Title Blocks" which is why they
	    get printed correctly.


Workaround: 1: If your report extends across more than one page, then you
	       can eliminate your FVTs and the problem will not occur.  Of
	       course this changes the appearance of your output and may
	       not be acceptable.

	    2: Rewrite your report definitions to insure that every Group
	       you define will fit onto one page.  Then you can specify a
	       FVT for each group.  Since you can only define up to three
	       Groups in a Report definition, this may mean that you will
	       now need multiple Reports in order to print one crummy report.

	       (I've tried a number of other tricks but haven't found any
		of them to work reliably.)

	    In any case, when you print a report, always examine it carefully
	    to be sure that you have all of your data printing out.
	    

Example:    We will assume an existing spreadsheet of 30 rows x 40 columns
	    with each column having a width of 7 and a printer capable of
	    66 lines x 80 columns per page.  Rows 1-6 are your heading and
	    you want columns 1-3 to appear on each page of the output.

	    You currently specify:	Fixed Horizontal Title Blocks
					   Group 1:  r1:6c4:40
					Fixed Vertical Title Blocks
					   Group 1:  r7:30c1:3
					Report Body Blocks
					   Group 1:  r7:30c4:40

	    To use workaround #1 do the following.  However, you will only
	    get columns 1:3 (the FVT) on page No. 1 instead of on every page.
	    
					Fixed Horizontal Title Blocks
					   Group 1:  r1:6c1:40
					Fixed Vertical Title Blocks
					   Group 1:  
					Report Body Blocks
					   Group 1:  r7:30c1:40
	       
	    To use workaround #2 you will need 2 report definitions.  Every
	    time you want to print out this report, you will need to issue
	    2 commands selecting each of these definitions.  (You should turn
	    of automatic page numbering since they won't have much meaning
	    for everything past Report 1.)

	    		Report 1:	Fixed Horizontal Title Blocks
					   Group 1:  r1:6c4:11
					   Group 2:  r1:6c12:19
					   Group 3:  r1:6c20:27
					Fixed Vertical Title Blocks
					   Group 1:  r7:30c1:3
					   Group 2:  r7:30c1:3
					   Group 3:  r7:30c1:3
					Report Body Blocks
					   Group 1:  r7:30c4:11
					   Group 2:  r7:30c12:19
					   Group 3:  r7:30c20:27
		   
	    		Report 2:	Fixed Horizontal Title Blocks
					   Group 1:  r1:6c28:35
					   Group 2:  r1:6c36:40
					   Group 3:
					Fixed Vertical Title Blocks
					   Group 1:  r7:30c1:3
					   Group 2:  r7:30c1:3
					   Group 3:
					Report Body Blocks
					   Group 1:  r7:30c28:35
					   Group 2:  r7:30c36:40
					   Group 3:

In case anyone is interested, I reported this problem to both AT&T and Informix
(the owners of Smart Software) many months ago.  In the case of AT&T, they
simply do not have any reasonable methodology for dealing with significant
problems with 3rd party software which they re-market.  In the case of Informix,
it was next to impossible to even get anyone to listen to the problem.  Once
I did finally manage to report it and had it confirmed as a real problem, I
never heard back from them.

--
Jeffery Small    (206) 485-5596            uw-beaver!uw-nsr!uw-warp
C. Jeffery Small and Associates                                    !cjsa!jeff
19112 152nd Ave NE - Woodinville, WA  98072           uunet!nwnexus