|
My guess is that you told %lookup that your array in ascending order (by coding the ASCEND keyword on the array) but failed to actually sort the array in ascending order.
Either sort the array prior to the lookup or remove the ASCEND keyword. --- Scott Klement http://www.scottklement.com On Thu, 22 Dec 2005, RPower@xxxxxxxxxx wrote:
I'm trying to use %Lookup the way I thought it's supposed to go but it ain't working. * lookup this leave code totals, if found accumlate if not insert new c Eval x = %Lookup(edleav:eltot_lcode:1) c If x > 0 c Eval eltot_lamnt(x) = eltot_lamnt(x) + edlamt c Else * load up our values for this particular leave code and date for accumulation c Eval x = %Lookup(*blanks:eltot_lcode:1) c Eval emp_lve_count = x c Eval eltot_lcode(x) = edleav c Eval eltot_ldesc(x) = emp_ldesc(w) c Eval eltot_lfmt(x) = edlfmt c Eval eltot_lamnt(x) = edlamt c EndIf definitions of the fields: * Employee leave code totals d ds demp_ltotals dim(999) ascend d eltot_lcode 2 overlay(emp_ltotals:1) d eltot_ldesc 15 overlay(emp_ltotals:*next) d eltot_lfmt 5 overlay(emp_ltotals:*next) d eltot_lamnt 10s 4 overlay(emp_ltotals:*next) edleav is off the file, it's 2 positions long. Am I missing something here? Or have it totally screwed up?
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.