|
Yes, I think it is at least recommended - I would not have used the %eof to test what is done here. But this from the documentation is interesting and answers both the original question and this one: "If the SETLL operation is not successful (no records found condition), the file is positioned to the end of the file." The SETLL with RRN=0 to a sequential file would not be successful, hence, it is positioned to end of file - by this statement. And the same would seem to apply to the suggestion to use %eof to test existence. So there we are! -------------- Original message -------------- From: "Lim Hock-Chai" <Lim.Hock-Chai@xxxxxxxxxxxxxxx>
I thought %equal is the correct bif for testing the result of setll? The problem I encountered is eof got set to *on after the read when setll with 0: 0 setll MYFILE read MYFILE eval eof = %eof -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore Sent: Thursday, October 19, 2006 4:08 PM To: RPG programming on the AS400 / iSeries Subject: RE: Using RRN 0 to do Setll on arrival sequence file No, the %eof will only be *on for 3 setll MYFILE the subsequent read will in fact read rrn 4, which is there, and therefore %eof will NOT be *on. Sometimes you may want to know if a particular record exists, your NOT bothered about the data on the record. For example does account # 123456789 exist 123456789 setll Checkfile If %eof(Checkfile) account number does NOT exist else account number 123456789 exists endif There is no need to do a subsequent read. This will prove whether or not that account number exists. Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx rpg400-l-bounces@xxxxxxxxxxxx wrote on 10/19/2006 04:52:35 PM:Do you mean eof will be *on if I do below and RRN 3 does not exist in MYFILE? 3 setll MYFILE read MYFILE eval eof = %eof -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore Sent: Thursday, October 19, 2006 3:51 PM To: RPG programming on the AS400 / iSeries Subject: Re: Using RRN 0 to do Setll on arrival sequence file Yep - this is normal behavior. For example, lets say you have a file with the following RRN's 1 2 3 4 5 using RRN of 3 to do SETLL on the sequential file, you will NOT get %eof = *on. Delete record 3, then doing the same SETLL of RRN 3 WILL result in the%eof = *on Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx rpg400-l-bounces@xxxxxxxxxxxx wrote on 10/19/2006 04:40:11 PM:When I use 0 as RRN number to do SETLL on an sequential file and do a read, I got %eof=*on. (I know using *start or RRN of 1 will correct my problem). Just curious as if this is a normal behavior. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailinglistTo post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives athttp://archive.midrange.com/rpg400-l.-- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailinglistTo post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.-- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
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.