The function LINES interprets an EOF ('1A'x) char as end of file, thus returning 0 if the next character is an EOF. Because the function CHARIN does not interpret EOF chars, you should not mix these functions (use CHARS to get the remaining characters in a stream if using CHARIN to read from the stream and use LINES if using LINEIN to read from the stream). (Source: APAR PJ19194)
---------- * ----------
The function LINES always opens a file.
You should close the file after calling LINES or your OS/2 session will run out of free file handles. (see also The function CHARS())
---------- * ----------
see also Checking a queue and The function LINES() in Object REXX