|
On Thu, 2005-08-25 at 10:04 -0700, Tony Carolla wrote: > Thanks to all for your attention to this matter. I have learned alot about > SETGT and READPE today ;-) . I guess I thought that, if the SETGT did not > find a key greater than the one supplied, and positioned the file to EOF, > the subsequent READPE would then find the prior equal-key record for the > account (which would be the very last record in the file), get the sequence > number, add 1, and write the record successfully. If SETGT is performing as > per the manual, then it must be the EOF condition that prevents the READPE > from working. No. We aren't paying proper attention. If %Found(Mmemo_I); MO.Mmseq#=MI.Mmseq#+1; Else; MO.Mmseq#=1; EndIf; Oldest ILE problem in the book. %found is not set by READPE. Only %EOF is set. So, if a READPE occurs and it gets a hit, %eof will be '0'. If it doesn't get a match, %eof will be '1'. How about: if %eof(Mmemo_I); MO.Mmseq# = 1; Else; MO.Mmseq# = MI.Mmseq#+1; endif; > > > On 8/25/05, Rich Duzenbury <rduz-midrange@xxxxxxxxxxxxxxxxxxx> wrote: > > > The problem is that you are doing your setgt and readpe inside the loop. > > It resets the sequence number back to 1, and then when you write again, > > you still get the same error. > > > > -- > "Enter any 11-digit prime number to continue..." > "In Hebrew SQL, how do you use right() and left()?..." - Random Thought > "If all you have is a hammer, all your problems begin to look like nails" Regards, Rich
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.