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

  • Home
  • /
  • Blog
  • /
  • When the RPGLE %EOF BIF is not the End of File

December 15, 2008

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:

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

%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

  • READ (Read a Record)
  • READC (Read Next Changed Record)
  • READE (Read Equal Key)
  • READP (Read Prior Record)
  • READPE (Read Prior Equal)
  • WRITE (Create New Records) (subfile only)

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

  • CHAIN (Random Retrieval from a File)
  • OPEN (Open File for Processing)
  • SETGT (Set Greater Than)
  • SETLL (Set Lower Limit)

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.

NickLitten


IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Shameless Trekkie, Belligerent Nerd, Englishman Abroad and Passionate Eater of Cheese and Biscuits.

Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day.

Enjoy your stay, feel free to comment and remember: If at first you don't succeed then skydiving probably isn't a hobby you should look into.

Nick Litten

related posts:

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

Subscribe NOW
7-day free trial

Take This Course with ALL ACCESS

Unlock your Learning Potential with instant access to every course and all new courses as they are released.
 [ For Serious Software Developers only ]

Online Learning for IBM i Software Technology Professionals

“The more that you read, the more things you will know. The more that you learn, the more places you’ll go.” – Dr. Seuss

>