|
I thought that the problem was the Int definition - but that just shows that my brain is not working! Duh - so OP please ignore my earlier response.
As to Mark's comment - I'm not sure about that. %Lookup (unlike the old LOOKUP opcode) _can_ use a binary search but I think it will only do so if Ascend or Descend is specified for the array definition.
I'm not sure if this is a compiler bug or if it relates to a "feature" of intermediate results that I am not familiar with - hopefully Barbara can clarify.
If you separate the subtraction from the %Lookup return value it works fine. %Lookup returns zero as it should.
It is not clear to me why the OP wants -1 when zero is a valid "not there" response and of course all the lookup results will be one less than they should be but I assume he has his own reason. So rewriting the code like this:
ld = %lookup(*blanks:fieldord);
ld -= 1;
Works just fine.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.