December 15

0 comments

When the RPGLE %EOF BIF is not the End of File

By NickLitten

December 15, 2008

#bif, #EOF, #ILE, #programming, #RPG, #RPGLE, #standards

I love the %EOF code – it just makes me feel less like a Stegasaurus when coding with an indicator.

I was a little disturbed by the fact that %EOF{(file_name)} was the standard but sometimes you can get away with dropping the file_name and sometimes you cant.

This snippet clears it up:

%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:

The following operations, if successful, set %EOF(filename) off. If the operation is not successful, %EOF(filename) is not changed. %EOF with no parameter is not changed by these operations.

When a full-procedural file is specified, this function returns ‘1’ if the previous operation in the list above, for the specified file, resulted in an end of file or beginning of file condition. For primary and secondary files, %EOF is available only if the file name is specified. It is set to ‘1’ if the most recent input operation during *GETIN processing resulted in an end of file or beginning of file condition. Otherwise, it returns ‘0’.

This function is allowed for input, update, and record-address files; and for display files allowing WRITE to subfile records.

So basically – just use %EOF(filename) folks 😉

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Join the IBM i Community for FREE Presentations, Lessons, Hints and Tips

>

Snug CBD

 20% Discount

I have partnered with SNUG CBD givING you Organic CBD
20% discount code "NL20"