× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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


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


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


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.