***SPAM*** Re: ***SPAM*** Re: odd lookup problem

Kenneth Brody kenbrody at spamcop.net
Mon Nov 8 18:13:20 PST 2010


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.)

-- 
Kenneth Brody


More information about the Filepro-list mailing list