|
Roger Vicker, CCP wrote: >Has anyone else tried during a debug session of an RPG/ILE (CRTBNDRPG) >program to eval one of the new file bifs (%EQUAL, %FOUND, %EOF)? I >tried this today and the debugger insisted that the Identifier doe not >exist. I tried both form %FOUND and %FOUND(FILE). Other bifs used in >the program (%ELEM...) can be evalled ok. >System is V4R3M0 which means the RPG is V4R2M0, most current cum ptf. I'm looking at a debug session now, and I get errors when I try to do EVAL %ELEM(ARR) or EVAL %SIZE(ARR). What debugger are you using? >I also noticed that a successful CHAIN does not reset the %EOF. I >scanned "ILE RPG for AS/400 Reference" for any information on bifs and >these particular bifs without finding any mention that this would be >normal behavior. It seems to me that if a CHAIN (or SETLL for that >matter) that is successful, the file cursor now points to a valid >record and therefore the %EOF should be false especially when the >INFDS is. Well, the RPG Reference I'm looking at (on page 364) says: %EOF returns '1' if the most recent read operation or write to a subfile ended in an end of file or beginning of file condition; otherwise, it returns '0'. The operations that set %EOF are: - READ - READC - READE - READP - READPE - WRITE (subfile only) So this is working as described - %EOF is not affected by successful CHAIN or SETLL operations. This begs the question, though: Is this what RPG programmers expect? Although this is working as intended, clearly %EOF does not reflect the end-of-file status as reflected in the INFDS. Would this be a more reasonable behavior for %EOF? Would any working programs be affected if we made this change? Cheers! Hans Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.