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