Could this be a bug in FilePro? (Was--Weird output with associated field)

Joe Chasan joe at magnatechonline.com
Tue Jan 29 19:46:45 PST 2008


On Tue, Jan 29, 2008 at 09:27:25PM -0500, Boaz Bezborodko wrote:
> 
> OK, I found out that the problem occurs when I use indexing to go 
> through the sort/selection processing to speed up the operation and that 
> it only occurs when this particular record is the first to appear in the 
> selection set in the index. If I change the selection set to start on a 
> day before, or I change the date field in the record so that it is a day 
> later, (IOW if the record is no longer the first to be selected) then 
> both associated fields appear correctly on the report. (BTW, if I added 
> more data to the other associated fields they also wouldn't show.) But 
> anytime it is the first record to be selected then only the first 
> associated field appears. This is true for 3 other records that are 
> identical to the first, but for 3 other months. In all cases the records 
> appear as the first in the indexed selection set.
> 
> I also tried this with other records that have more than one entry in 
> associated fields that would be the first in the indexed selection set. 
> In all cases only the first associated entry is displayed and all others 
> are missing.
> 
> Either I am doing something wrong (And I can't see where I am--though 
> I'm not as experienced as the rest of you) or there is a fundamental bug 
> in the way FP is working. (I'm using version 5.6.06D9.)
> 
> I execute rreport with a -io ('o' index is on the invoice date field 
> '20'). I then ask for the beginning date (dummy field 'ba') and ending 
> field ('bb'). I then use this to jump to the first record:
> 
> 32 ------- - - - - - - - - - - - - - - - -
> b If: b
> Then: lookup - k=ba i=O -bg b
> 
> The selection processing then looks like this:
> 
> 33 ------- - - - - - - - - - - - - - - - -
> b If: b
> Then: ai(10,mdyy/,g)="12/31/2050" b
> 34 ------- - - - - - - - - - - - - - - - -
> b If: '--------------------------------------------------------- b
> Then: b
> 35 ------- - - - - - - - - - - - - - - - -
> SELECT b If: 20 gt bb b
> Then: lookup - k=ai i=O -bg b
> 36 ------- - - - - - - - - - - - - - - - -
> b If: ag ne "" and ag ne 17 b
> Then: END b
> 37 ------- - - - - - - - - - - - - - - - -
> b If: MID(30,"1","13") eq "Keyoffs check" 'Keyoff checks should not be>
> Then: END b
> 38 ------- - - - - - - - - - - - - - - - -
> b If: 20 ge ba and 20 le bb and aa="" and 19 ne "AD" b
> Then: SELECT b
> 
> This selects every record with '20' within 'ba' and 'b'. Even the record 
> I'm missing gets selected for the first associated field in the record. 
> But the second associated field never shows up even though other records 
> with something in the second associated field get printed.
> 
> The Sort for the output file looks like this.
> 
> bb b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b  Field list b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
> b 1- VENDOR NAME (RANDOM 11- CHECK NUMBER (ALPHA 21- due date b
> b 2- address 1 (r 12- VOUCHER NUMBER 22- address line 3 b
> b 3- address 2 (r 13- discount base 23- VENDOR NAME (RECENT b
> b 4- city 14- terms (days) 24- date units received b
> b 5- state 15- discount (days) 25- sales tax code b
> b 6- zip 16- discount percent (% 26- taxable amount b
> b 7- code for memo 17- VENDOR NUMBER 27- remarks b
> b 8- CHECK NUMBER (NUMER 18- invoice amount 28- date posted b
> b 9- date paid 19- invoice or debit me 29- customer ship-to (f b
> b 10- CHECK AMOUNT 20- invoice date 30- INVOICE NUMBER b
> bb b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
> =A2
> bb b b b b b b b b b b b b b b b b b b b b b b b b b  Sort definition b b b b b b b b b b b b b b b b b b b b b b b b b
> b b
> b Sort Field: 61 b A1)b 1 b 28 b 9 b b b b b
> ---b Length: 0b 5b 30b 8b 8b b b b b
> b Descending: b b b b b b b b b
> b Subtotal Field: fb xb xb b b b b b b
> b b
> le:bb b b b b b b b b b b b b b b b b b b b b b b b b b Press ESC To Record, Ctrl-C To CancelbETD
> 
> Press F10 for help
> 
> And the output looks like this:
> 
> !@td
> !@tm P U R C H A S E J O U R N A L
> *ba - *bb
> 
> V E N D O R INVOICE NUMBER DATE REC'D DATE POSTED DATE PAID AMOUNT R E M 
> A R K S
> ===============================================================================
> D A T A L I N E S
> *1 *30 *24 *28 *ae*9 *A2 *ad
> _____________________________T O T A L L I N E 
> S______________________________
> SUBTOTAL BY VENDOR NAME (RANDOM) INDEX E
> 
> SUBTOTAL BY A1) GL NUMBER 1
> 
> *A1 *ab
> 
> As far as I can tell everything looks kosher. What am I missing?
> 
> Boaz

I did not follow this entire thread but my guess is you can't combine
'lookup -' from a non-associated field built index with associated field 
sort.  what you are doing in effect then is changing sort mid-report - the 
report starts out sorted by index O in your case (the '-i0' on command line 
and 'lookup -'), and AFTER it selects first record, you are then asking 
filePro to resort all by associated field - i'd guess the first record that 
gets selected then would have unexpected results on which, if any, of its 
associated fields would get seen/selected (because when it went into 
that record it was not doing an associated field sort).  your results
seem to back this up, as if @af="1" - e.g. on that record they were
not associated.

--
-Joe Chasan-                           Magnatech Business Systems, Inc.
joe - at - magnatechonline -dot- com   Hicksville, NY - USA
http://www.MagnatechOnline.com         Tel.(516) 931-4444/Fax.(516) 931-1264


More information about the Filepro-list mailing list