odd lookup problem
Richard Kreiss
rkreiss at verizon.net
Tue Nov 9 11:09:58 PST 2010
> -----Original Message-----
> From: filepro-list-bounces+rkreiss=verizon.net at lists.celestial.com
> [mailto:filepro-list-bounces+rkreiss=verizon.net at lists.celestial.com] On
> Behalf Of Bruce Easton
> Sent: Monday, November 08, 2010 9:55 PM
> To: filepro-list at lists.celestial.com
> Subject: Re: odd lookup problem
>
> On 11/8/10 9:13 PM, Kenneth Brody wrote:
> > On 11/8/2010 2:46 PM, Richard Kreiss wrote:
> > [...]
> >> Modified code which didn't work:
> >>
> >> 192 ------- - - - - - - - - - - - - - - - -
> >> ◄ If: ◄
> >> Then: lv=master_code&"99" ◄
> >> 193 ------- - - - - - - - - - - - - - - - -
> >> ◄ If: ◄
> >> Then: lookup SALES = sales_journal k=lv i=C -nL ◄
> >> 194 ------- - - - - - - - - - - - - - - - -
> >> ◄ If: SALES ◄ This line shows false in
> debugger
> >> Then: GOTO next_w ◄
> > [...]
> >> Working code:
> >>
> >> 192 ------- - - - - - - - - - - - - - - - -
> >> ◄ If:
> >> Then: lv=master_code&"99"
> >> 193 ------- - - - - - - - - - - - - - - - -
> >> ◄ If:
> >> Then: lookup SALES = sales_journal k=lv i=C -nL
> >> 194 ------- - - - - - - - - - - - - - - - -
> >> ◄ If: NOT sales
> >> Then: GOTO ask_sv
> >> 195 ------- - - - - - - - - - - - - - - - -
> >> ◄ If: SALES and sales(4) = master_code
> >> Then: GOTO next_w
> > [...]
> >> In the above version, line 195 shows true. This was tested before I added
> the check for the master_code in the sales journal as the next lowest value
> could be someone else's record when using next lowest.
> >>
> >> Master_code in in the form NNNNN-NNNN
> >>
> >> Again, my question is why is line 194, the not statement, necessary for
> line 195 to be true when it doesn't apply when doing an exact match lookup?
> > Assuming identical values for field "lv", and identical data and
> > index.C in the "sales_journal" file, there is no reason that "if:
> > sales" would be false in the first version and "if: not sales" would be false in
> the second version.
> >
> > Now, in the second version, the "if: not sales" is required because,
> > without it, the "if" on line 195 would error out if the lookup failed,
> > due to the reference to "sales(4)". However, this is a separate
> > issue. (Note, too, that in the second version, the test for sales on
> > line 195 is redundant, as it must be true if the line is reached.)
> >
> Amen. But also, the latter part of the last question posed hints at an
> incorrect assumption- that the 'not' test doesn't apply for the particular
> lookup and that what is being performed is an exact-match lookup. To me
> the 'not' test is always meaningful in some way for any kind of lookup, and I
> don't see an exact-match lookup anywhere here.
>
> Bruce
The original posting had the lookup based on field 16 (master_code) using -nx. If the if SALES failed, the program dropped through to the sales routine as I wanted.
Richard
More information about the Filepro-list
mailing list